Share via


Introducción a los sondeos de estado de Application Gateway

Azure Application Gateway supervisa el estado de todos los servidores del grupo de back-end y detiene automáticamente el envío de tráfico a cualquier servidor que considere incorrecto. Los sondeos siguen supervisando este tipo de servidor incorrecto y la puerta de enlace comienza a enrutar el tráfico a él una vez más en cuanto los sondeos lo detectan como correctos.

El sondeo predeterminado usa el número de puerto de la configuración de back-end asociada y otras configuraciones preestablecidas. Puede usar sondeos personalizados para configurarlos de la manera.

Comportamiento de sondeos

Dirección IP de origen

La dirección IP de origen de los sondeos depende del tipo de servidor back-end:

  • Si el servidor del grupo de back-end es un punto de conexión público, la dirección de origen será la dirección IP pública de front-end de la puerta de enlace de aplicaciones.
  • Si el grupo de back-end es un punto de conexión privado, la dirección de origen proviene del espacio de direcciones IP privadas de la subred de puerta de enlace de aplicación.

Operaciones de sondeo

Una puerta de enlace comienza a activar sondeos inmediatamente después de configurar una regla asociándola con un valor de back-end y un grupo de back-end (y el agente de escucha, por supuesto). En la ilustración se muestra que la puerta de enlace sondea de forma independiente todos los servidores del grupo de back-end. Las solicitudes entrantes que comienzan a llegar solo se envían a los servidores en buen estado. Un servidor back-end se marca como incorrecto de forma predeterminada hasta que se recibe una respuesta de sondeo correcta.

Diagram showing Application Gateway initiating health probes to individual backend targets within a backend pool

Los sondeos necesarios se determinan en función de la combinación única del servidor back-end y la configuración de back-end. Por ejemplo, considere una puerta de enlace con un único grupo de back-end con dos servidores y dos configuraciones de back-end, cada una con números de puerto diferentes. Cuando estas configuraciones de back-end distintas están asociadas al mismo grupo de back-end mediante sus respectivas reglas, la puerta de enlace crea sondeos para cada servidor y la combinación de la configuración de back-end. Puede verlo en la página Estado de back-end.

Diagram showing health probes report on the Backend Health page

Además, todas las instancias de la puerta de enlace de aplicaciones sondea los servidores back-end independientemente entre sí.

Intervalos de sondeo

La misma configuración de sondeo se aplica a cada instancia de Application Gateway. Por ejemplo, si una puerta de enlace de aplicaciones tiene dos instancias y el intervalo de sondeo se establece en 20 segundos, ambas instancias enviarán el sondeo de estado cada 20 segundos.

Una vez que el sondeo detecta una respuesta con error, el contador de "Umbral incorrecto" establece y marca el servidor como incorrecto si el recuento de errores consecutivo coincide con el umbral configurado. En consecuencia, si establece este umbral incorrecto como 2, el sondeo posterior detectará primero este error. Después, la puerta de enlace de aplicaciones marcará el servidor como incorrecto después de 2 sondeos con error consecutivos [Primera detección de 20 segundos + (2 sondeos con error consecutivos * 20 segundos)].

Nota:

El informe de estado de back-end se actualiza en función del intervalo de actualización del sondeo correspondiente y no depende de la solicitud del usuario.

Sondeo de estado predeterminado

Una puerta de enlace de aplicaciones configura automáticamente un sondeo de estado predeterminado cuando no hay ningún sondeo personalizado configurado. El comportamiento de supervisión consiste en realizar una solicitud HTTP GET a las direcciones IP o a los nombres de dominio completo configurados en el grupo back-end. En el caso de los sondeos predeterminados si las opciones de HTTP del back-end se configuran para HTTPS, el sondeo usa HTTPS también para comprobar el mantenimiento de los servidores de back-end.

Por ejemplo, va a configurar la puerta de enlace de aplicación para usar los servidores back-end A, B y C para recibir el tráfico de red HTTP en el puerto 80. La supervisión de estado predeterminada comprueba los tres servidores cada 30 segundos para ver que la respuesta de HTTP es correcta con un tiempo de espera de 30 segundos para cada solicitud. Una respuesta HTTP correcta tiene un código de estado entre 200 y 399. En este caso, la solicitud HTTP GET para el sondeo de estado tendrá el aspecto http://127.0.0.1/. Consulte también Códigos de respuesta HTTP en Application Gateway.

Si se produce un error en la comprobación de sondeo predeterminado para el servidor A, Application Gateway deja de reenviar solicitudes a este servidor. El sondeo predeterminado sigue comprobando el servidor A cada 30 segundos. Cuando el servidor A responde correctamente a una solicitud de un sondeo de estado predeterminado, Application Gateway comienza a reenviar las solicitudes al servidor de nuevo.

Configuración de sondeo de estado predeterminado

Propiedad de sondeo Value Descripción
Dirección URL de sondeo <protocolo>://127.0.0.1:<puerto>/ El protocolo y el puerto se heredan de la configuración de HTTP de back-end a la que está asociado el sondeo.
Intervalo 30 Cantidad de tiempo en segundos que se debe esperar antes de que se envíe el siguiente sondeo de estado.
Tiempo de espera 30 Cantidad de tiempo en segundos que la puerta de enlace de la aplicación espera una respuesta de sondeo antes de marcar dicho sondeo como incorrecto. Si un sondeo devuelve un estado correcto, el back-end correspondiente se marca inmediatamente como correcto.
Umbral incorrecto 3 Controla cuántos sondeos se van a enviar si se produce un error en el sondeo de estado normal. En la SKU v1, estos sondeos de estado adicionales se envían en sucesión rápida para determinar el estado del back-end rápidamente y no esperar al intervalo de sondeo. En el caso de la SKU v2, los sondeos de estado esperan el intervalo. El servidor backend se marca como inactivo después de que el número de errores de sondeo consecutivos alcanza el umbral de incorrecto.

El sondeo predeterminado solo examina <protocolo>://127.0.0.1:<puerto> para determinar el estado de mantenimiento. Si necesita configurar el sondeo de estado para ir a una dirección URL personalizada o modificar alguna otra configuración, debe usar sondeos personalizados. Para obtener más información sobre los sondeos HTTPS, consulte Introducción a la terminación TLS y a TLS de extremo a extremo con Application Gateway.

Sondeo de estado personalizado

Los sondeos personalizados permiten un control más específico sobre la supervisión de estado. Cuando se usan sondeos personalizados, puede configurar un nombre de host personalizado, la ruta de acceso de dirección URL, el intervalo de sondeo y la cantidad de respuestas erróneas que se aceptan antes de marcar la instancia del grupo back-end como en mal estado, etc.

Configuración de sondeo de estado personalizado

La siguiente tabla proporciona definiciones de las propiedades de un sondeo de mantenimiento personalizado.

Propiedad de sondeo Descripción
Nombre Nombre del sondeo. Este nombre se usa para identificar y hacer referencia al sondeo en la configuración HTTP de back-end.
Protocolo Protocolo usado para enviar el sondeo. Esto tiene que coincidir con el protocolo definido en la configuración HTTP de back-end a la que está asociado
Host Nombre de host con el que enviar el sondeo. En la SKU v1, este valor solo se usa para el encabezado de host de la solicitud de sondeo. En la SKU v2, se usa para el encabezado de host y SNI.
Path Ruta de acceso relativa del sondeo. Las rutas de acceso válidas comienzan por '/'
Port Si se define, se usa como puerto de destino. De lo contrario, usa el mismo puerto que la configuración HTTP a la que está asociada. Esta propiedad solo está disponible en la SKU v2.
Intervalo Intervalo de sondeo en segundos. Este valor es el intervalo de tiempo entre dos sondeos consecutivos.
Tiempo de espera Tiempo de espera del sondeo en segundos. Si no se recibe una respuesta válida dentro del período de espera, el sondeo se marca como erróneo.
Umbral incorrecto Número de reintentos de sondeo. El servidor backend se marca como inactivo después de que el número de errores de sondeo consecutivos alcanza el umbral de mal estado.

Sondeo de búsqueda de coincidencia

De forma predeterminada, una respuesta HTTP (S) con el código de estado entre 200 y 399 se considera correcta. Los sondeos de estado personalizados admiten además dos criterios de coincidencia. Los criterios de coincidencia pueden usarse para modificar opcionalmente la interpretación predeterminada de lo que constituye una respuesta correcta.

Estos son los criterios de coincidencia:

  • Coincidencia de código de estado de respuesta HTTP: criterio de coincidencia de sondeo para aceptar el código de respuesta, o los intervalos de códigos de respuesta, HTTP especificados por el usuario. Se admiten códigos de estado de respuesta individuales, o un intervalo de códigos de estado de respuesta, separados por coma.
  • Coincidencia de cuerpo de respuesta HTTP: criterio de coincidencia de sondeo que examina el cuerpo de la respuesta HTTP y busca la coincidencia con una cadena especificada por el usuario. La coincidencia solo busca la existencia de la cadena especificada por el usuario en el cuerpo de la respuesta, no es una coincidencia de expresión regular completa. La coincidencia especificada debe tener 4090 caracteres o menos.

Los criterios de coincidencia se pueden especificar mediante el cmdlet New-AzApplicationGatewayProbeHealthResponseMatch.

Por ejemplo:

$match = New-AzApplicationGatewayProbeHealthResponseMatch -StatusCode 200-399
$match = New-AzApplicationGatewayProbeHealthResponseMatch -Body "Healthy"

Los criterios de coincidencia se pueden asociar a la configuración de sondeo mediante un operador de -Match en PowerShell.

Algunos casos de uso para sondeos personalizados

  • Si un servidor back-end solo permite el acceso a usuarios autenticados, los sondeos de application Gateway recibirán un código de respuesta 403 en lugar de 200. A medida que los clientes (usuarios) están enlazados a autenticarse para el tráfico activo, puede configurar el tráfico de sondeo para que acepte 403 como respuesta esperada.
  • Cuando un servidor back-end tiene instalado un certificado comodín (*.contoso.com) para atender diferentes subdominios, puede usar un sondeo personalizado con un nombre de host específico (necesario para SNI) que se acepte para establecer un sondeo TLS correcto y notificar ese servidor como correcto. Con "invalidar el nombre de host" en el valor de back-end establecido en NO, los distintos nombres de host entrantes (subdominios) se pasarán tal como está al back-end.

Consideraciones sobre NSG

El control específico sobre la subred de Application Gateway a través de reglas de NSG es posible en versión preliminar pública. Se pueden encontrar más detalles aquí.

Con la funcionalidad actual hay algunas restricciones:

Debe permitir el tráfico entrante de Internet en los puertos TCP 65503-65534 para la SKU de Application Gateway v1, y los puertos TCP 65200-65535 para la SKU de V2 con la subred de destino como cualquiera y origen como la etiqueta de servicio de GatewayManager. Este intervalo de puertos es necesario para la comunicación de la infraestructura de Azure.

Además, no se puede bloquear la conectividad saliente de Internet y se debe permitir el tráfico entrante desde la etiqueta AzureLoadBalancer.

Para más información, consulte Introducción a la configuración de Application Gateway.

Pasos siguientes

Tras conocer todo lo referente a la supervisión del mantenimiento de Application Gateway, puede configurar un sondeo de mantenimiento personalizado en Azure Portal o un sondeo de mantenimiento personalizado mediante PowerShell y el modelo de implementación con Azure Resource Manager.