Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El uso de Azure Front Door para cargar archivos en Azure Storage ofrece muchas ventajas, como la resistencia mejorada, la escalabilidad y las medidas de seguridad adicionales. Estas medidas incluyen el examen del contenido cargado con Web Application Firewall (WAF) y el uso de certificados personalizados de seguridad de la capa de transporte (TLS) para las cuentas de almacenamiento.
Arquitectura
En esta arquitectura de referencia, se implementan varias cuentas de Azure Storage y un perfil de Azure Front Door con varios orígenes. El uso de varias cuentas de almacenamiento para la carga de contenido mejora el rendimiento y la confiabilidad y facilita la distribución de la carga al tener diferentes clientes que usan cuentas de almacenamiento en diferentes pedidos. También se implementa Azure App Service para hospedar la API y la cola de Azure Service Bus.
Flujo de datos
El flujo de datos de este escenario es el siguiente:
- La aplicación cliente inicia una API basada en web, recuperando una lista de varias ubicaciones de carga. Para cada archivo que cargue el cliente, la API genera una lista de posibles ubicaciones de carga, con una en cada una de las cuentas de almacenamiento existentes. Cada dirección URL contiene una firma de acceso compartido (SAS), lo que garantiza el uso exclusivo de la dirección URL para cargarla en la dirección URL de blob designada.
- La aplicación cliente intenta cargar un blob mediante la primera dirección URL de la lista devuelta por la API. El cliente establece una conexión segura a Azure Front Door mediante un nombre de dominio personalizado y un certificado TLS personalizado.
- El WAF de Azure Front Door examina la solicitud. Si el WAF determina que el nivel de riesgo de la solicitud es demasiado alto, bloquea la solicitud y Azure Front Door devuelve una respuesta de error HTTP 403. Si no es así, la solicitud se enruta a la cuenta de almacenamiento deseada.
- El archivo se carga en la cuenta de Azure Storage. Si se produce un error en esta solicitud, la aplicación cliente intentará cargarla en una cuenta de almacenamiento alternativa mediante la siguiente dirección URL en la lista devuelta por la API.
- La aplicación cliente notifica a la API que se ha completado la carga de archivos.
- La API coloca un elemento en la cola de Azure Service Bus para seguir procesando el archivo cargado.
Componentes
- Azure App Service es responsable de generar las direcciones URL de carga y SAS para blobs.
- Azure Front Door controla las conexiones de cliente, las examina con WAF y enruta la solicitud de carga a la cuenta de almacenamiento de Azure.
- Azure Storage se usa para almacenar archivos cargados en blobs.
- Azure Service Bus actúa como una cola para desencadenar un procesamiento adicional del contenido cargado.
Detalles del escenario
A menudo, la responsabilidad de la carga de archivos se asigna a la API o a los sistemas back-end. Sin embargo, al habilitar la aplicación cliente para cargar directamente archivos JSON en Blob Storage, se garantiza que el recurso de proceso (la capa de API que controla las cargas desde el cliente) no es el cuello de botella. Este enfoque también reduce el costo general, ya que la API ya no gasta tiempo de proceso en las cargas de archivos.
La API es responsable de garantizar una distribución uniforme de archivos entre cuentas de almacenamiento. Esto implica que debe definir una lógica para determinar la cuenta de almacenamiento predeterminada para que la aplicación cliente la use.
La combinación de cuentas de Azure Front Door y Azure Storage proporciona un único punto de entrada (un solo dominio) para la carga de contenido.
Configuración de Azure Front Door con varios orígenes de la cuenta de almacenamiento
La configuración de Azure Front Door incluye los pasos siguientes para cada cuenta de almacenamiento:
- Configuración de origen
- Configuración de la ruta
- Configuración del conjunto de reglas
En la configuración de origen, debe definir el tipo de origen como una cuenta de Blob Storage y seleccionar la cuenta de almacenamiento adecuada disponible en la suscripción.
En la Ruta del grupo origen, debe definir una ruta de acceso para el procesamiento con en el grupo de origen. Asegúrese de seleccionar el grupo de origen recién creado y especifique la ruta de acceso al contenedor dentro de la cuenta de almacenamiento.
Por último, debe crear una nueva configuración del conjunto de reglas. Es importante configurar Conservar la ruta de acceso no coincidente, lo que permite anexar la ruta de acceso restante después del patrón de origen a la nueva ruta de acceso.
Consideraciones
Escalabilidad y rendimiento
La arquitectura propuesta permite lograr escalabilidad horizontal mediante el uso de varias cuentas de almacenamiento para la carga de contenido.
Resistencia
Azure Front Door, con su arquitectura distribuida globalmente, es un servicio de alta disponibilidad que es resistente a errores de una sola región de Azure y punto de presencia (PoPs). Esta arquitectura, que implementa varias cuentas de almacenamiento en distintas regiones, aumenta la resistencia y ayuda a lograr la distribución de carga mediante el uso de diferentes clientes mediante cuentas de almacenamiento en distintas ordenes.
Optimización de costos
La estructura de costos de Azure Storage permite crear cualquier cantidad de cuenta de almacenamiento según sea necesario sin aumentar los costos de la solución. La cantidad y el tamaño de los archivos almacenados afectan a los costos.
Seguridad
Con Azure Front Door, se beneficia de las características de seguridad, como la protección contra DDoS. La protección contra DDoS de la infraestructura de Azure predeterminada, que supervisa y mitiga los ataques de la capa de red en tiempo real mediante la escala global y la capacidad de la red de Azure Front Door. El uso de Web Application Firewall (WAF) protege los servicios web frente a vulnerabilidades de seguridad y vulnerabilidades comunes. También puede usar WAF de Azure Front Door para realizar el filtrado geográfico y la limitación de velocidad si la aplicación requiere esas funcionalidades.
También es posible proteger las cuentas de Azure Storage mediante Private Link. La cuenta de almacenamiento se puede configurar para denegar el acceso directo desde Internet y permitir solo las solicitudes a través de la conexión de punto de conexión privado que usa Azure 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.
Nombres de dominio personalizados
Azure Front Door admite nombres de dominio personalizados y 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.
Implementación de este escenario
Para implementar este escenario mediante Bicep, consulte Implementación de Azure Front Door Premium con origen de blobs y Private Link.
Pasos siguientes
Aprenda a crear un perfil de Front Door.