Creación y configuración de una instancia de Application Gateway
Application Gateway incluye una serie de componentes que se combinan para enrutar las solicitudes a un grupo de servidores web y para comprobar el estado de dichos servidores web. Veamos cómo se relacionan estos componentes y qué papel juegan en una instancia de Application Gateway.
Dirección IP de front-end
Las solicitudes de cliente se reciben a través de una dirección IP de front-end. Puede configurar Application Gateway para que tenga una dirección IP pública, privada o ambas. Application Gateway no puede tener más de una dirección IP pública y una privada.
Agentes de escucha
Application Gateway usa uno o varios agentes de escucha para recibir las solicitudes entrantes. Un agente de escucha acepta el tráfico que llega a una combinación especificada de protocolo, puerto, host y dirección IP. Cada agente de escucha enruta las solicitudes a un grupo de servidores back-end siguiendo las reglas de enrutamiento que especifique. Un cliente de escucha puede ser básico o multisitio. Un agente de escucha básico solo enruta una solicitud según la ruta de acceso de la dirección URL. Un agente de escucha multisitio también puede enrutar las solicitudes mediante el elemento de nombre de host de la dirección URL.
Los agentes de escucha también controlan los certificados SSL para proteger la aplicación entre el usuario y Application Gateway.
Reglas de enrutamiento
Una regla de enrutamiento enlaza un agente de escucha a los grupos de servidores back-end. Una regla especifica cómo interpretar los elementos de nombre de host y ruta de la dirección URL de una solicitud y, después, dirigir la solicitud al grupo de servidores back-end adecuado. Una regla de enrutamiento también tiene un conjunto de configuración de HTTP asociado. Estas configuraciones indican si se cifra el tráfico entre Application Gateway y los servidores back-end y cómo hacerlo, además de otra información de configuración, como por ejemplo:
- El protocolo (HTTP o HTTPS).
- La permanencia de sesión: para pasar todas las solicitudes en una sesión de cliente al mismo servidor web, en lugar de distribuirlas entre servidores con equilibrio de carga.
- Drenaje de conexiones para habilitar la eliminación correcta de servidores de un grupo de back-end.
- Período de tiempo de espera de la solicitud, en segundos.
- Sondeos de estado: especificar una dirección URL de sondeo, los períodos de tiempo de espera y otros parámetros usados para determinar si hay un servidor en el grupo de servidores back-end disponible.
Grupos de servidores back-end
Un grupo de servidores back-end hace referencia a una colección de servidores web. Al configurar el grupo, proporciona la dirección IP de cada servidor web y el puerto en el que escucha las solicitudes. Cada grupo puede especificar un conjunto fijo de máquinas virtuales, un conjunto de escalado de máquinas virtuales, una aplicación hospedada por Azure App Services o una colección de servidores locales. Cada grupo de servidores back-end tiene un equilibrador de carga asociado que distribuye el trabajo en el grupo
Firewall de aplicaciones web
El firewall de aplicaciones web (WAF) es un componente opcional que controla las solicitudes entrantes antes de que lleguen a un agente de escucha. El firewall de aplicaciones web comprueba cada solicitud en busca de muchos riesgos comunes, según la Open Web Application Security Project (OWASP). Entre ellas se incluyen las siguientes:
- Inyección de código SQL
- Scripts entre sitios
- Inyección de comandos
- Contrabando de solicitudes HTTP
- División de respuestas HTTP
- Inclusión remota de archivos
- Bots, rastreadores y escáneres
- Anomalías e infracciones del protocolo HTTP
OWASP ha definido un conjunto de reglas genéricas para detectar el conjunto de reglas principales (CRS). Los conjuntos de reglas están en continua revisión, puesto que los ataques son cada vez más sofisticados. WAF admite dos conjuntos de reglas: CRS 2.2.9 y CRS 3.0. CRS 3.0 es el valor predeterminado y más reciente de estos conjuntos de reglas. Si es necesario, puede optar por seleccionar únicamente determinadas reglas de un conjunto de reglas, que están destinadas a determinadas amenazas. Además, puede personalizar el firewall para que especifique qué elementos de una solicitud debe examinar y limitar el tamaño de los mensajes para evitar que cargas masivas sobrecarguen los servidores.
Para habilitar WAF en Application Gateway, seleccione el nivel WAF
al crear una puerta de enlace.
Sondeos de estado
Los sondeos de estado son una parte importante que ayudan al equilibrador de carga a determinar qué servidores están disponibles para el equilibrio de carga en un grupo de servidores back-end. Application Gateway usa un sondeo de estado para enviar una solicitud a un servidor. Si el servidor devuelve una respuesta HTTP con un código de estado entre 200 y 399, se considera que el servidor está en buen estado.
Si no configura un sondeo de estado, Application Gateway crea un sondeo predeterminado que espera 30 segundos antes de decidir que un servidor no está disponible.
Requisitos de red de Application Gateway
Application Gateway requiere una red virtual en la que operar. Debe crear esta red virtual y una subred dedicada antes de configurar Application Gateway. Application Gateway usa varias direcciones privadas para uso interno y para comunicarse con cada instancia si la puerta de enlace se escala horizontalmente. Por ejemplo, si piensa escalar horizontalmente a cuatro instancias, cree una subred de tamaño /28. Si es probable que escale a más instancias, entonces cree una subred más grande.
Puede exponer Application Gateway mediante una dirección IP pública o puede mantenerla privada, para ello, solo tiene que proporcionar una IP privada dentro de la red virtual. Esto es útil si tiene sitios internos que le gustaría que usasen Application Gateway para proporcionar equilibrio de carga.
Opciones de Application Gateway
Puede crear una instancia de Application Gateway en el nivel de servicio estándar nivel o el nivel de servicio WAF. También tendrá la opción de tres tamaños con rendimiento, precio y escalabilidad variables: Pequeño, Mediano y Grande.
Los niveles de servicio estándar y WAF están disponibles en dos versiones: V1 y V2. V2 admite zonas de disponibilidad de Azure, pero actualmente está en versión preliminar.
Application Gateway admite el escalado manual y el escalado automático. Si selecciona escalado automático, Application Gateway se escalará y reducirá horizontalmente según el tráfico de la aplicación. Puede limitar el número máximo y mínimo de instancias de Application Gateway.
Crear y configurar una puerta de enlace
Puede crear y configurar Application Gateway mediante Azure Portal, Azure PowerShell o la CLI de Azure. Para la CLI de Azure use el comando az network application-gateway create
para crear una nueva puerta de enlace. Si prefiere PowerShell, puede usar el cmdlet de New-AzApplicationGateway
. También puede usar Azure Portal para realizar la mayoría de las operaciones.
Puede examinar y modificar la configuración de los componentes de una puerta de enlace mediante los comandos az network application-gateway http-listener
, az network application-gateway rule
, az network application-gateway address-pool
, az network application-gateway http-settings
y az network application-gateway front-end-port
desde la CLI de Azure. Las series de cmdlets de Get-AzApplicationGateway*
y Set-AzApplicationGateway*
ofrecen las mismas operaciones para PowerShell.
Vamos a crear y configurar una instancia de Application Gateway para los sitios web del departamento de vehículos que se implementó.