Uso de Azure Front Door con blobs de Azure Storage
Azure Front Door acelera la entrega de contenido estático de blobs de Azure Storage y permite una arquitectura segura y escalable. La entrega de contenido estático es útil para muchos casos de uso diferentes, como el hospedaje de sitios web y la entrega de archivos.
Architecture
En esta arquitectura de referencia, implementará una cuenta de almacenamiento y un perfil de Front Door con un único origen.
Flujo de datos
Los datos fluyen por el escenario de la siguiente manera:
- El cliente establece una conexión segura a Azure Front Door mediante un nombre de dominio personalizado y un certificado TLS proporcionado por Front Door. La conexión del cliente finaliza en un punto de presencia (PoP) cercano de Front Door.
- El firewall de aplicaciones web (WAF) de Front Door examina la solicitud. Si el WAF determina que el nivel de riesgo de la solicitud es demasiado alto, bloquea la solicitud y Front Door devuelve una respuesta de error HTTP 403.
- Si la memoria caché del PoP de Front Door incluye una respuesta válida para esta solicitud, Front Door devuelve la respuesta inmediatamente.
- De lo contrario, el PoP envía la solicitud a la cuenta de almacenamiento de origen, dondequiera que esté en el mundo, mediante la red troncal de Microsoft. El PoP se conecta a la cuenta de almacenamiento mediante una conexión TCP independiente y de larga duración. En este escenario, Private Link se usa para conectarse de forma segura a la cuenta de almacenamiento.
- La cuenta de almacenamiento envía una respuesta al PoP de Front Door.
- Cuando el PoP recibe la respuesta, la almacena en su memoria caché para las solicitudes posteriores.
- El PoP devuelve la respuesta al cliente.
- Las solicitudes directamente a la cuenta de almacenamiento a través de Internet se bloquean mediante el firewall de Azure Storage.
Componentes
- Azure Storage almacena contenido estático en blobs.
- Azure Front Door recibe conexiones entrantes de clientes, las examina con WAF, reenvía de forma segura la solicitud a la cuenta de almacenamiento y almacena en caché las respuestas.
Alternativas
Si tiene archivos estáticos en otro proveedor de almacenamiento en la nube, o bien si hospeda contenido estático en la infraestructura que posee y mantiene, continuará aplicándose la mayor parte de este escenario. Sin embargo, debe tener en cuenta cómo proteger el tráfico entrante al servidor de origen para comprobar que llega a través de Front Door. Si el proveedor de almacenamiento no admite Private Link, considere la posibilidad de usar un enfoque alternativo, como incluir la lista de permitidos de la etiqueta de servicio de Front Door e inspeccionar el encabezado X-Azure-FDID
.
Detalles del escenario
La entrega de contenido estático es útil en muchas situaciones, como en estos ejemplos:
- Entrega de imágenes, archivos CSS y archivos JavaScript para una aplicación web.
- Proporcionar archivos y documentos, como archivos PDF o JSON.
- Entrega de vídeo sin streaming.
Por naturaleza, el contenido estático no cambia con frecuencia. Los archivos estáticos también pueden ser de gran tamaño. Estas características hacen que sea un buen candidato para almacenarse en caché, lo que mejora el rendimiento y reduce el costo de atender las solicitudes.
En un escenario complejo, un único perfil de Front Door puede atender contenido estático y dinámico. Puede usar grupos de origen independientes para cada tipo de origen y usar las capacidades de enrutamiento de Front Door a fin de enrutar las solicitudes entrantes al origen correcto.
Consideraciones
Escalabilidad y rendimiento
Como red de entrega de contenido (CDN), Front Door almacena en caché el contenido en su red distribuida globalmente de PoP. Cuando una copia en caché de una respuesta está disponible en un PoP, Front Door puede responder rápidamente con la respuesta almacenada en caché. Devolver contenido de la caché mejora el rendimiento de la solución y reduce la carga en el origen. Si el PoP no tiene una respuesta almacenada en caché válida, las capacidades de aceleración del tráfico de Front Door reducen el tiempo para atender el contenido desde el origen.
Seguridad
Authentication
Front Door está diseñado a fin de estar accesible desde Internet y este escenario está optimizado para blobs disponibles públicamente. Si necesitase autenticar el acceso a los blobs, considere la posibilidad de usar firmas de acceso compartido y asegúrese de habilitar Usar cadena de consulta como comportamiento de cadena de consulta para evitar que Front Door atienda solicitudes a clientes no autenticados. Pero este enfoque podría no hacer un uso eficaz de la caché de Front Door, ya que cada solicitud con una firma de acceso compartido diferente debe enviarse al origen de forma independiente.
Seguridad de origen
Front Door se conecta de forma segura a la cuenta de Azure Storage mediante Private Link. La cuenta de almacenamiento está configurada para denegar el acceso directo desde Internet y permitir solo las solicitudes mediante la conexión del punto de conexión privado que usa Front Door. Esta configuración garantiza que Front Door procese todas las solicitudes y evite exponer el contenido de la cuenta de almacenamiento directamente a Internet. Sin embargo, esta configuración requiere el nivel Premium de Azure Front Door. Si usa el nivel estándar, la cuenta de almacenamiento debe ser accesible públicamente. Puede usar una firma de acceso compartido para proteger las solicitudes a la cuenta de almacenamiento, y hacer que el cliente incluya la firma en todas sus solicitudes o use el motor de reglas de Front Door para asociarlo desde Front Door.
Nombres de dominio personalizados
Front Door admite nombres de dominio personalizados y también puede emitir y administrar certificados TLS para esos dominios. Mediante el uso de dominios personalizados, puede asegurarse de que los clientes reciben archivos de un nombre de dominio conocido y de confianza, y de que TLS cifra todas las conexiones a Front Door. Cuando Front Door administra los certificados TLS, evita interrupciones y problemas de seguridad debido a certificados TLS no válidos u obsoletos.
Azure Storage también admite nombres de dominio personalizados, pero no admite HTTPS al usar un dominio personalizado. Front Door es el mejor enfoque para usar un nombre de dominio personalizado con una cuenta de almacenamiento.
Firewall de aplicación web
Los conjuntos de reglas administradas de WAF de Front Door examinan las solicitudes en busca de amenazas de seguridad comunes y emergentes. Se recomienda usar WAF y reglas administradas para aplicaciones tanto estáticas como dinámicas.
También puede usar WAF de Front Door para realizar la limitación de velocidad y el filtrado geográfico si necesita esas capacidades.
Resistencia
Front Door es un servicio de alta disponibilidad y, debido a su arquitectura distribuida globalmente, es resistente a errores de regiones únicas de Azure y puntos de presencia.
Mediante el uso de la memoria caché de Front Door se reduce la carga en la cuenta de almacenamiento. Además, si la cuenta de almacenamiento no está disponible, Front Door puede seguir atendiendo las respuestas almacenadas en caché hasta que la aplicación se recupere.
Puede mejorar aún más la resistencia de la solución general teniendo en cuenta la resistencia de la cuenta de almacenamiento. Para más información, vea Redundancia de Azure Storage. Como alternativa, puede implementar varias cuentas de almacenamiento y configurar varios orígenes en el grupo de origen de Front Door, así como configurar la conmutación por error entre los orígenes configurando la prioridad de cada origen. Para obtener más información, consulte Orígenes y grupos de orígenes en Azure Front Door.
Optimización de costos
El almacenamiento en caché puede ayudar a reducir el costo de entregar contenido estático. Los puntos de presencia de Front Door almacenan copias de respuestas y pueden entregar estas respuestas almacenadas en caché para las solicitudes posteriores. El almacenamiento en caché reduce la carga de la solicitud en el origen. En soluciones basadas en contenido estático a gran escala, especialmente aquellas que entregan archivos de gran tamaño, el almacenamiento en caché puede reducir considerablemente los costos de tráfico.
Para usar Private Link en esta solución, debe implementar el nivel Premium de Front Door. Puede usar el nivel Estándar si no necesita bloquear el tráfico que va directamente a la cuenta de almacenamiento. Para obtener más información, vea Seguridad de origen.
Implementación de este escenario
Para implementar este escenario mediante plantillas de ARM JSON o Bicep, vea este inicio rápido.
Para implementar este escenario mediante Terraform, vea este inicio rápido.
Pasos siguientes
Aprenda a crear un perfil de Front Door.