Esta arquitectura es para aplicaciones globales y accesibles desde Internet que usan protocolos HTTP(S) y no HTTP(S). Incluye equilibrio de carga global basado en DNS, dos formas de equilibrio de carga regional y emparejamiento de red virtual global para crear una arquitectura de alta disponibilidad que pueda soportar una interrupción regional. Tanto Azure Web Application Firewall (WAF) como Azure Firewall proporcionan la inspección del tráfico.
Notas de la arquitectura
La arquitectura de este documento es fácilmente extensible a un diseño de red virtual en estrella tipo hub-and-spoke, donde Azure Firewall estaría en la red de concentrador y Application Gateway en la red del concentrador también o en un radio. Si Application Gateway se implanta en el centro de conectividad, es conveniente disponer de varias puertas de enlace de aplicaciones, cada una de ellas para un conjunto determinado de aplicaciones, a fin de evitar conflictos de RBAC e impedir que se sobrepasen los límites de Application Gateway (consulte Límites de Application Gateway).
En un entorno de Virtual WAN no se pueden implementar Application Gateway en el centro, por lo que se instalarían en redes virtuales de radio.
La arquitectura propuesta opta por una doble inspección del contenido web a través de Web Application Firewall (basado en Application Gateway) delante de Azure Firewall. Existen otras opciones, tal como se documenta en Firewall y Application Gateway para redes virtuales, pero esta opción es la más flexible y completa: expone la dirección IP del cliente en el encabezado HTTP X-Forwarded-For
de la aplicación final, proporciona cifrado de un extremo a otro y evita que los clientes pasen el WAF para acceder a la aplicación.
Si solo se exponen aplicaciones web (no aplicaciones no HTTP[S]), y no se requiere la doble inspección por parte de WAF y Azure Firewall de este tráfico web, Azure Front Door sería una solución de equilibrio de carga global mejor que Traffic Manager. Front Door es un equilibrador de carga de nivel 7 para contenido HTTP(S) que también proporciona almacenamiento en caché, aceleración del tráfico, terminación SSL/TLS, administración de certificados, sondeos de estado y otra funcionalidad. Sin embargo, Application Gateway ofrece una mejor integración con Azure Firewall para un enfoque de protección por capas.
Flujos de tráfico HTTP(S) entrantes
Descargue un archivo Visio de esta arquitectura.
Azure Traffic Manager usa el enrutamiento basado en DNS para equilibrar la carga del tráfico entrante entre las dos regiones. Traffic Manager resuelve consultas de DNS para la aplicación en las direcciones IP públicas de los puntos de conexión de Azure Application Gateway. Los puntos de conexión públicos de Application Gateway sirven como puntos de conexión de back-end de Traffic Manager para el tráfico HTTP(S). Traffic Manager resuelve consultas de DNS basadas en una selección de varios métodos de enrutamiento. El explorador se conecta directamente al punto de conexión; Traffic Manager no ve el tráfico HTTP(S).
Las puertas de enlace de aplicaciones implementadas en zonas de disponibilidad reciben tráfico HTTP(S) desde el explorador y los firewall de aplicaciones web Premium inspeccionan el tráfico para detectar ataques web. Las puertas de enlace de aplicaciones enviarán tráfico a su back-end, el equilibrador de carga interno para las máquinas virtuales de front-end. Para este flujo específico, el equilibrador de carga interno delante de los servidores web no es estrictamente necesario, ya que Application Gateway podría realizar este equilibrio de carga. Sin embargo, se incluye para mantener la coherencia con el flujo para las aplicaciones que no son HTTP(S).
El tráfico entre Application Gateway y el equilibrador de carga interno de front-end se interceptará mediante Azure Firewall Premium a través de rutas definidas por el usuario aplicadas en la subred de Application Gateway. Azure Firewall Premium aplicará la inspección de TLS al tráfico para mayor seguridad. Azure Firewall también cuenta con redundancia de zona. Si Azure Firewall detecta una amenaza en el tráfico, quitará los paquetes. De lo contrario, tras una inspección correcta, Azure Firewall reenviará el tráfico al equilibrador de carga interno del nivel web de destino.
El nivel web es la primera capa de la aplicación de tres niveles, contiene la interfaz de usuario y también analiza las interacciones del usuario. El equilibrador de carga de nivel web se distribuye entre las tres zonas de disponibilidad y distribuirá el tráfico a cada una de las tres máquinas virtuales de nivel web.
Las máquinas virtuales del nivel web se distribuyen entre las tres zonas de disponibilidad y se comunicarán con el nivel empresarial a través de un equilibrador de carga interno dedicado.
El nivel empresarial procesa las interacciones del usuario y determina los pasos siguientes, y se sitúa entre los niveles web y de datos. El equilibrador de carga interno de nivel empresarial distribuye el tráfico a las máquinas virtuales de nivel empresarial en las tres zonas de disponibilidad. El equilibrador de carga de nivel empresarial cuenta con redundancia de zona, como el equilibrador de carga de nivel web.
Las máquinas virtuales del nivel empresarial se distribuyen por las zonas de disponibilidad y enrutarán el tráfico al agente de escucha de grupo de disponibilidad de las bases de datos.
El nivel de datos almacena los datos de la aplicación, normalmente en una base de datos, almacenamiento de objetos o recurso compartido de archivos. Esta arquitectura tiene SQL Server en máquinas virtuales distribuidas entre tres zonas de disponibilidad. Se encuentran en un grupo de disponibilidad y usan un nombre de red distribuida (DNN) para enrutar el tráfico al agente de escucha del grupo de disponibilidad con fines de equilibrio de carga.
Flujos de tráfico no HTTP(S) entrantes
Descargue un archivo Visio de esta arquitectura.
Azure Traffic Manager usa el enrutamiento basado en DNS para equilibrar la carga del tráfico entrante entre las dos regiones. Traffic Manager resuelve consultas de DNS para la aplicación en las direcciones IP públicas de los puntos de conexión de Azure. Los puntos de conexión públicos de Application Firewall sirven como puntos de conexión de back-end de Traffic Manager para el tráfico no HTTP(S). Traffic Manager resuelve consultas de DNS basadas en una selección de varios métodos de enrutamiento. El explorador se conecta directamente al punto de conexión; Traffic Manager no ve el tráfico HTTP(S).
Azure Firewall Premium cuenta con redundancia de zona e inspeccionará el tráfico entrante para garantizar la seguridad. Si Azure Firewall detecta una amenaza en el tráfico, quitará los paquetes. De lo contrario, si la inspección se realiza correctamente, Azure Firewall reenviará el tráfico al equilibrador de carga interno del nivel web realizando la traducción de direcciones de red de destino (DNAT) en los paquetes entrantes.
El nivel web es la primera capa de la aplicación de tres niveles, contiene la interfaz de usuario y también analiza las interacciones del usuario. El equilibrador de carga de nivel web se distribuye entre las tres zonas de disponibilidad y distribuirá el tráfico a cada una de las tres máquinas virtuales de nivel web.
Las máquinas virtuales del nivel web se distribuyen entre las tres zonas de disponibilidad y se comunicarán con el nivel empresarial a través de un equilibrador de carga interno dedicado.
El nivel empresarial procesa las interacciones del usuario y determina los pasos siguientes, y se sitúa entre los niveles web y de datos. El equilibrador de carga interno de nivel empresarial distribuye el tráfico a las máquinas virtuales de nivel empresarial en las tres zonas de disponibilidad. El equilibrador de carga de nivel empresarial cuenta con redundancia de zona, como el equilibrador de carga de nivel web.
Las máquinas virtuales del nivel empresarial se distribuyen por las zonas de disponibilidad y enrutarán el tráfico al agente de escucha de grupo de disponibilidad de las bases de datos.
El nivel de datos almacena los datos de la aplicación, normalmente en una base de datos, almacenamiento de objetos o recurso compartido de archivos. Esta arquitectura tiene SQL Server en máquinas virtuales distribuidas entre tres zonas de disponibilidad. Se encuentran en un grupo de disponibilidad y usan un nombre de red distribuida (DNN) para enrutar el tráfico al agente de escucha del grupo de disponibilidad con fines de equilibrio de carga.
Flujos de tráfico saliente (todos los protocolos)
Los flujos de tráfico saliente para actualizaciones de revisiones de máquinas virtuales u otra conectividad a Internet irán de las máquinas virtuales de carga de trabajo a Azure Firewall a través de rutas definidas por el usuario. Azure Firewall aplicará reglas de conectividad mediante categorías web, así como reglas de red y de aplicaciones, para evitar que las cargas de trabajo accedan a escenarios de filtración de datos o contenido inadecuados.
Componentes
- Azure Firewall es un firewall de última generación administrado por Microsoft basado en la nube que proporciona una inspección profunda de paquetes para los flujos de tráfico norte/sur y este/oeste. Se puede distribuir entre Availability Zones y ofrece escalado automático para hacer frente a los cambios en la demanda de la aplicación.
- Azure Application Gateway es un equilibrador de carga de nivel 7 con funcionalidad opcional de Web Application Firewall (WAF). La SKU v2 de Application Gateway admite la redundancia de zona de disponibilidad y se recomienda para la mayoría de los escenarios. Application Gateway incluye el escalado automático horizontal configurable para que pueda reaccionar automáticamente a los cambios en la demanda de la aplicación.
- Azure Traffic Manager es un equilibrador de carga de tráfico global basado en DNS que distribuye el tráfico a servicios de regiones de Azure globales, al tiempo que proporciona una alta disponibilidad y capacidad de respuesta.
- Azure Load Balancer es un equilibrador de carga de capa 4. Un equilibrador de carga con redundancia de zona seguirá distribuyendo el tráfico con un error de zona de disponibilidad en las zonas restantes.
- Azure DDoS Protection tiene características mejoradas para protegerse frente a ataques de denegación de servicio distribuido (DDoS).
- Azure DNS es un servicio de hospedaje para dominios DNS. Proporciona resolución de nombres mediante la infraestructura de Microsoft Azure. Al hospedar dominios en Azure, puede administrar los registros DNS con las mismas credenciales, API, herramientas y facturación que con los demás servicios de Azure.
- Azure DNS Private Zones es una característica de Azure DNS. Azure DNS Private Zones proporciona resolución de nombres en una red virtual, así como entre redes virtuales. Los registros contenidos en una zona DNS privada no se pueden resolver desde Internet. La resolución DNS en una zona DNS privada solo funciona desde redes virtuales vinculadas a ella.
- Azure Virtual Machines es un recurso de computación escalable que ofrece la flexibilidad de la virtualización sin necesidad de mantener las demandas del hardware físico. Las opciones de sistema operativo incluyen Windows y Linux. Algunos componentes de las aplicaciones se pueden reemplazar por recursos de Azure de plataforma como servicio (por ejemplo, la base de datos y el nivel de front-end), pero la arquitectura no cambiaría significativamente si se usa Private Link y la integración con red virtual de App Service para incorporar esos servicios PaaS a la red virtual.
- Azure Virtual Machine Scale Sets es un escalado automatizado de máquinas virtuales con equilibrio de carga que simplifica la administración de las aplicaciones y aumenta la disponibilidad.
- SQL Server en máquinas virtuales permite usar versiones completas de SQL Server en la nube sin tener que administrar el hardware del entorno local.
- Azure Virtual Network proporciona una red privada segura en la nube. Conecta máquinas virtuales entre sí, a Internet y a redes locales.
- Las rutas definidas por el usuario son un mecanismo para invalidar el enrutamiento predeterminado en redes virtuales. En este escenario, se usan para forzar los flujos de tráfico entrante y saliente para atravesar Azure Firewall.
Detalles de la solución
Traffic Manager: se ha configurado Traffic Manager para usar el enrutamiento de rendimiento. Enruta el tráfico al punto de conexión que tiene la latencia más baja para el usuario. Traffic Manager ajusta automáticamente su algoritmo de equilibrio de carga a medida que cambia la latencia del punto de conexión. Traffic Manager proporciona conmutación automática por error si hay una interrupción regional. Usa el enrutamiento de prioridad y las comprobaciones de estado periódicas para determinar hacia dónde enrutar el tráfico.
Availability Zones: la arquitectura usa tres zonas de disponibilidad. Las zonas crean una arquitectura de alta disponibilidad para las instancias de Application Gateway, los equilibradores de carga internos y las máquinas virtuales en cada región. Si se produce una interrupción de zona, las zonas de disponibilidad restantes de esa región tomarían el control de la carga, lo que no desencadenaría una conmutación por error regional.
Application Gateway: mientras que Traffic Manager proporciona equilibrio de carga regional basado en DNS, Application Gateway proporciona muchas de las funciones de Azure Front Door, pero en el nivel regional, como por ejemplo:
- Firewall de aplicaciones web (WAF)
- Terminación de Seguridad de la capa de transporte (TLS).
- Enrutamiento basado en ruta de acceso
- Afinidad de sesión basada en cookies
Azure Firewall: Azure Firewall Premium ofrece seguridad de red para aplicaciones genéricas (tráfico web y no web), inspeccionando tres tipos de flujos en esta arquitectura:
- Los flujos entrantes de HTTP(S) de Application Gateway están protegidos con la inspección de TLS de Azure Firewall Premium.
- Los flujos entrantes no HTTP(S) de la red pública de Internet se inspeccionan con el resto de las características de Azure Firewall Premium.
- Los flujos salientes de Azure Virtual Machines se inspeccionan mediante Azure Firewall para evitar la filtración de datos y el acceso a sitios y aplicaciones prohibidos.
Emparejamiento de red virtual: llamamos al emparejamiento entre regiones "emparejamiento de red virtual global". El emparejamiento de red virtual global proporciona replicación de datos de ancho de banda alto y baja latencia entre regiones. Puede transferir datos entre suscripciones de Azure, inquilinos de Microsoft Entra y modelos de implementación con este emparejamiento global. En los emparejamientos de red virtual del entorno en estrella tipo hub-and-spoke existiría entre las redes en estrella tipo hub-and-spoke.
Recomendaciones
Las siguientes recomendaciones se adhieren a los fundamentos de Azure Well-Architected Framework (WAF). Los fundamentos de WAF son los principios rectores que ayudan a garantizar la calidad de las cargas de trabajo en la nube. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.
Confiabilidad
Regiones: use al menos dos regiones de Azure para obtener alta disponibilidad. Puede implementar la aplicación en varias regiones de Azure en configuraciones activas/pasivas o activas/activas. Varias regiones también ayudan a evitar el tiempo de inactividad de la aplicación si se produce un error en un subsistema de la aplicación.
- Traffic Manager conmutará automáticamente por error a la región secundaria si se produce un error en la región primaria.
- La elección de las mejores regiones de acuerdo con sus necesidades deberá basarse en consideraciones técnicas y normativas, y en la compatibilidad con la zona de disponibilidad.
Pares de regiones: Use los pares de regiones para obtener la máxima resistencia. Asegúrese de que ambas regiones admitan todos los servicios de Azure que su aplicación necesita (consulte Servicios por región). Estas son dos ventajas de los pares de regiones:
- Las actualizaciones planeadas de Azure se implementan de una en una en las regiones emparejadas para minimizar el tiempo de inactividad y el riesgo de interrupción de la aplicación.
- Los datos siguen residiendo en la misma zona geográfica que su pareja (excepto Sur de Brasil) con fines fiscales y legales.
Zonas de disponibilidad: use varias zonas de disponibilidad para poder usar Application Gateway, Azure Firewall, Azure Load Balancer, y los niveles de aplicación cuando estén disponibles.
Escalado automático e instancias de Application Gateway: configure Application Gateway con un mínimo de dos instancias para evitar tiempo de inactividad y el escalado automático para proporcionar una adaptación dinámica a las cambiantes demandas de capacidad de la aplicación.
Para obtener más información, consulte:
- Regiones y Availability Zones en Azure
- Continuidad empresarial y recuperación ante desastres (BCDR): regiones emparejadas de Azure
Enrutamiento global
Método de enrutamiento global: use el método de enrutamiento de tráfico que mejor responda a las necesidades de sus clientes. Azure Traffic Manager admite múltiples métodos de enrutamiento de tráfico para enrutar de forma determinista el tráfico a los diversos puntos de conexión del servicio.
Configuración anidada: use Traffic Manager en una configuración anidada si necesita un control más pormenorizado para elegir una forma de conmutación por error preferida dentro de una región.
Para obtener más información, consulte:
- Configuración del método de enrutamiento del tráfico de rendimiento
- Métodos de enrutamiento de Traffic Manager
Vista de tráfico global
Use Traffic View en Traffic Manager para ver los patrones de tráfico y las métricas de latencia. Traffic View puede ayudarle a planear la expansión de la superficie en nuevas regiones de Azure.
Consulte Vista de tráfico de Traffic Manager para obtener más información.
Application Gateway
Use la SKU de Application Gateway v2 para lograr resistencia automatizada lista para usar.
La SKU de Application Gateway v2 garantiza automáticamente que las nuevas instancias se generen entre dominios de error y dominios de actualización. Si elige la redundancia de zona, las instancias más recientes también se generan entre zonas de disponibilidad para ofrecer tolerancia a errores.
La SKU v1 de Application Gateway admite escenarios de alta disponibilidad cuando se han implementado dos o más instancias. Azure distribuye estas instancias entre dominios de actualización y de error para garantizar que las instancias no produzcan un error al mismo tiempo. La SKU v1 admite escalabilidad mediante la incorporación de varias instancias de la misma puerta de enlace para compartir la carga.
Application Gateway debe confiar en el certificado de CA de Azure Firewall.
Azure Firewall
El nivel Premium de Azure Firewall es necesario en este diseño para proporcionar la inspección de TLS. Azure Firewall interceptará las sesiones TLS entre Application Gateway y las máquinas virtuales del nivel web generando sus propios certificados, además de inspeccionar los flujos de tráfico saliente desde las redes virtuales a la red pública de Internet. Puede encontrar más información sobre este diseño en Red de confianza cero para aplicaciones web con Azure Firewall y Application Gateway.
Recomendaciones de sondeo de estado
Estas son algunas recomendaciones para sondeos de estado en Traffic Manager, Application Gateway y Load Balancer.
Traffic Manager
Estado del punto de conexión: cree un punto de conexión que informe sobre el estado general de la aplicación. Traffic Manager usa un sondeo HTTP(S) para supervisar la disponibilidad de cada región. El sondeo comprueba si hay una respuesta HTTP 200 para una ruta de acceso de dirección URL especificada. Use el punto de conexión que creó para el sondeo de estado. En caso contrario, el sondeo podría informar de un punto de conexión correcto cuando se producen errores en partes críticas de la aplicación.
Para más información, consulte el patrón de supervisión de puntos de conexión de estado.
Retraso de la conmutación por error: Traffic Manager tiene un retraso en la conmutación por error. Los siguientes factores determinan la duración del retraso:
- Intervalos de sondeo: la frecuencia con la que el sondeo comprueba el estado del punto de conexión.
- Número tolerado de errores: el número de errores que el sondeo tolera antes de marcar el punto de conexión como incorrecto.
- Tiempo de espera de sondeo: cuánto tiempo antes Traffic Manager considera el punto de conexión como incorrecto.
- Período de vida (TTL): los servidores DNS deben actualizar los registros DNS almacenados en caché para la dirección IP. El tiempo necesario depende del TTL de DNS. El TTL predeterminado es de 300 segundos (5 minutos), pero puede configurar este valor al crear el perfil de Traffic Manager.
Para obtener más información, consulte Supervisión de Traffic Manager.
Application Gateway y Load Balancer
Familiarícese con las directivas de sondeo de estado de Application Gateway y Load Balancer para asegurarse de comprender el estado de las máquinas virtuales. Esta es una breve introducción:
Application Gateway siempre usa un sondeo HTTP.
Load Balancer puede evaluar HTTP o TCP. Use un sondeo HTTP si una máquina virtual ejecuta un servidor HTTP. Use TCP para todo lo demás.
Los sondeos HTTP envían una solicitud GET HTTP a una ruta de acceso determinada y escuchan una respuesta HTTP 200. Puede ser la ruta de acceso raíz ("/") o un punto de conexión de supervisión de mantenimiento que implementa lógica personalizada para comprobar el mantenimiento de la aplicación.
El punto de conexión debe permitir solicitudes HTTP anónimas. Si un sondeo no puede acceder a una instancia dentro del período de tiempo de expiración, Application Gateway o Load Balancer deja de enviar tráfico a esa máquina virtual. El sondeo continúa realizando comprobaciones y devolverá la máquina virtual al grupo de back-end si la máquina virtual vuelve a estar disponible.
Para obtener más información, consulte:
- Sondeos de estado de Load Balancer
- Información general sobre la supervisión de estado de Application Gateway
- Patrón de supervisión del punto de conexión.
Excelencia operativa
Grupos de recursos: use grupos de recursos para administrar los recursos de Azure por duración, propietario y otras características.
Emparejamiento de red virtual: use el emparejamiento de red virtual para conectar sin problemas dos o más redes virtuales en Azure. A efectos de conectividad las redes virtuales aparecen como una sola. El tráfico entre las máquinas virtuales de la red virtual emparejada usa la infraestructura de la red troncal de Microsoft. Asegúrese de que el espacio de direcciones de las redes virtuales no se superponga.
Red virtual y subredes: cree una subred independiente para cada nivel de la subred. Debe implementar máquinas virtuales y recursos, como Application Gateway y Load Balancer, en una red virtual con subredes.
Seguridad
Web Application Firewall: la funcionalidad de WAF de Azure Application Gateway detectará y evitará los ataques en el nivel HTTP, como la inyección de SQL (SQLi) o el scripting entre sitios (CSS).
Firewall de última generación: Azure Firewall Premium proporciona una capa adicional de defensa inspeccionando el contenido de ataques no web, como archivos malintencionados cargados a través de HTTP(S) o cualquier otro protocolo.
Cifrado de un extremo a otro: el tráfico se cifra en todo momento al atravesar la red de Azure. Tanto Application Gateway como Azure Firewall cifran el tráfico antes de enviarlo al sistema de back-end correspondiente.
Denegación de servicio distribuido (DDoS): use la Protección de red contra DDoS de Azure para obtener una mayor protección contra DDoS que la protección básica que proporciona Azure.
Grupos de seguridad de red (NSG): use los grupos de seguridad de red para restringir el tráfico de red en la red virtual. Por ejemplo, en la arquitectura de tres niveles que se muestra aquí, el nivel de datos solo acepta el tráfico procedente del nivel empresarial, no el procedente del front-end web. Solo el nivel empresarial se comunica directamente con el nivel de base de datos. Para aplicar esta regla, el nivel de base de datos debe bloquear todo el tráfico entrante excepto el de la subred del nivel empresarial.
- Permita el tráfico entrante de la subred del nivel empresarial.
- Permita el tráfico entrante de la propia subred del nivel de la base de datos. Esta regla permite la comunicación entre las máquinas virtuales de la base de datos. La replicación de base de datos y la conmutación por error necesitan esta regla.
- Denegar todo el tráfico entrante de la red virtual, con la etiqueta
VirtualNetwork
en la regla) para sobrescribir la instrucción permit incluida en las reglas de NSG predeterminadas.
Crear la regla 3 con prioridad más baja (número más alto) que las primeras reglas.
Puede usar etiquetas de servicio para definir controles de acceso a la red en grupos de seguridad de red o Azure Firewall.
Para más información, consulte Configuración de la infraestructura de Application Gateway.
Optimización de costos
Para obtener más información, consulte:
- Precios de Load Balancer
- Precios de Virtual Network
- Precios de Application Gateway
- Elección del SKU adecuado de Azure Firewall para satisfacer sus necesidades
- Precios de Traffic Manager
- Calculadora de precios
Eficiencia del rendimiento
Conjuntos de escalado de máquinas virtuales: use Virtual Machine Scale Sets para automatizar la escalabilidad de las máquinas virtuales. Los conjuntos de escalado de máquinas virtuales están disponibles en todos los tamaños de máquinas virtuales Windows y Linux. Solo se le cobrará por las máquinas virtuales implementadas y por los recursos de infraestructura subyacentes consumidos. No hay cargos incrementales. Las ventajas de Virtual Machine Scale Sets son las siguientes:
- Crear y administrar fácilmente varias máquinas virtuales
- Alta disponibilidad y resistencia de aplicación
- Escalado automatizado a medida que cambia la demanda de recursos
Para obtener más información, consulte Virtual Machine Scale Sets.
Pasos siguientes
Para conocer más arquitecturas de referencia que utilicen las mismas tecnologías, consulte: