Elastic Load Balancing
Application Load Balancers

Comprobaciones de estado de los grupos de destino

El Balanceador de carga de aplicaciones envía periódicamente solicitudes a los destinos registrados para comprobar su estado. Estas pruebas se denominan comprobaciones de estado.

Cada nodo del balanceador de carga direcciona las solicitudes únicamente a los destinos en buen estado de las zonas de disponibilidad habilitadas para el balanceador de carga. Cada nodo del balanceador de carga comprueba el estado de cada destino; para ello, utiliza la configuración de comprobación de estado de los grupos de destino en los que está registrado el destino. Una vez que el destino está registrado, debe superar una comprobación de estado para que se considere que se encuentra en buen estado. Después de completar cada comprobación de estado, el nodo del balanceador de carga cierra la conexión se estableció para la comprobación de estado.

Si un grupo de destino contiene únicamente destinos registrados que no están en buen estado, los nodos del balanceador de carga dirigen las solicitudes a estos destinos.

Las comprobaciones de estado no admiten WebSockets.

Configuración de comprobación de estado

Puede utilizar los siguientes ajustes para configurar las comprobaciones de estado de los destinos de un grupo de destino. El balanceador de carga envía una solicitud de comprobación de estado a cada destino registrado cada vez que transcurren los segundos que indica HealthCheckIntervalSeconds, utilizando el protocolo, el puerto y la ruta de ping especificados. Cada solicitud de comprobación de estado es independiente y dura todo el intervalo. El tiempo que tarda el destino en responder no afecta al intervalo de la siguiente solicitud de comprobación de estado. Si las comprobaciones de estado superan el umbral de UnhealthyThresholdCount errores consecutivos, el balanceador de carga inhabilita el destino. Cuando las comprobaciones de estado superan el umbral de HealthyThresholdCount éxitos consecutivos, el balanceador de carga vuelve a poner el destino en servicio.

Opción Descripción

HealthCheckProtocol

Protocolo que el balanceador de carga utiliza al realizar comprobaciones de estado en los destinos. Los posibles protocolos son HTTP y HTTPS. El valor predeterminado es el protocolo HTTP.

HealthCheckPort

Puerto que el balanceador de carga utiliza al realizar comprobaciones de estado en los destinos. El valor predeterminado es el puerto en el que cada destino recibe el tráfico procedente del balanceador de carga.

HealthCheckPath

Ruta de ping que es el destino para los destinos en las comprobaciones de estado. Especifique una URI válida (/path?query). El valor predeterminado es /.

HealthCheckTimeoutSeconds

Si durante este tiempo, en segundos, no se recibe ninguna respuesta de un destino, se considerará que la comprobación de estado no se ha superado. El intervalo comprende de 2 a 120 segundos. El valor predeterminado es 5 segundos si el tipo de destino es instance o ip y 30 segundos si el tipo de destino es lambda.

HealthCheckIntervalSeconds

Cantidad aproximada de tiempo, en segundos, que transcurre entre comprobaciones de estado de un destino individual. El intervalo comprende de 5 a 300 segundos. El valor predeterminado es 30 segundos si el tipo de destino es instance o ip y 35 segundos si el tipo de destino es lambda.

HealthyThresholdCount

Número de comprobaciones de estado consecutivas que deben superarse para considerar que un destino en mal estado vuelve a estar en buen estado. El intervalo comprende de 2 a 10. El valor predeterminado es 5.

UnhealthyThresholdCount

Número de comprobaciones de estado consecutivas no superadas que se requieren para considerar que un destino se encuentra en mal estado. El intervalo comprende de 2 a 10. El valor predeterminado es 2.

Matcher

Códigos HTTP que se deben utilizar al comprobar si se ha recibido una respuesta correcta de un destino. Puede especificar valores o rangos de valores comprendidos entre 200 y 499. El valor predeterminado es 200.

Estado del destino

Antes de que el balanceador de carga envíe a un destino una solicitud de comprobación de estado, debe registrarlo en un grupo de destino, especificar su grupo de destino en una regla del agente de escucha y asegurarse de que la zona de disponibilidad del destino esté habilitada en el balanceador de carga. Para que un destino pueda recibir solicitudes desde el balanceador de carga, debe superar las comprobaciones de estado iniciales. Una vez que ha superado estas comprobaciones de estado iniciales, su estado es Healthy.

En la siguiente tabla se describen los valores posibles del estado de un destino registrado.

Valor Descripción

initial

El balanceador de carga se encuentra en proceso de registrar el destino o de realizar las comprobaciones de estado iniciales en el destino.

healthy

El destino se encuentra en buen estado.

unhealthy

El destino no respondió a una comprobación de estado o no la ha superado.

unused

El destino no está registrada en un grupo de destino, el grupo de destino no se utiliza en una regla del agente de escucha del balanceador de carga o el destino se encuentra en una zona de disponibilidad que no está habilitada para el balanceador de carga.

draining

El destino está en proceso de anulación del registro y de vaciado de conexiones.

Códigos de motivo de comprobación de estado

Si el estado de un destino es un valor distinto de Healthy, el API devuelve un código de motivo y una descripción del problema. Además, la consola muestra la misma descripción en una información sobre herramientas. Los códigos de motivo que comienzan por Elb tienen su origen en el balanceador de carga y que los códigos de motivo que comienzan por Target tienen su origen en el destino.

Código de motivo Descripción

Elb.InitialHealthChecking

Las comprobaciones de estado iniciales están en curso.

Elb.InternalError

Las comprobaciones de estado no se han superado debido a un error interno.

Elb.RegistrationInProgress

El registro del destino está en curso.

Target.DeregistrationInProgress

La anulación del registro del destino está en curso.

Target.FailedHealthChecks

Las comprobaciones de estado no se han superado.

Target.InvalidState

El destino se encuentra en estado detenido.

El destino se encuentra en estado terminado.

El destino se encuentra en estado terminado o detenido.

El destino se encuentra en un estado no válido.

Target.IpUnusable

La dirección IP no se puede utilizar como destino, ya que la utiliza un equilibrador de carga.

Target.NotInUse

El grupo de destino no se ha configurado para recibir el tráfico del balanceador de carga.

El destino se encuentra en una zona de disponibilidad que no está habilitada para el balanceador de carga.

Target.NotRegistered

El destino no está registrado en el grupo de destino.

Target.ResponseCodeMismatch

Las comprobaciones de estado no se han superado y se han emitido estos códigos: [código]

Target.Timeout

Se agotó el tiempo de espera de la solicitud.

Comprobación del estado de los destinos

Puede comprobar el estado de los destinos registrados en los grupos de destino.

Para comprobar el estado de los destinos desde la consola

  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, en LOAD BALANCING, elija Target Groups.

  3. Seleccione el grupo de destino.

  4. En la pestaña Targets la Status columna indica el estado de cada destino.

  5. Si el estado es cualquier valor distinto de Healthy, consulte la información sobre herramientas para obtener más información.

Para comprobar el estado de los destinos desde la AWS CLI

Utilice el comando describe-target-health. El resultado de este comando contiene el estado del destino. Si el estado es cualquier valor distinto de Healthy, la salida también incluye un código de motivo.

Modificación de la configuración de comprobación de estado de un grupo de destino

Puede modificar la configuración de comprobación de estado del grupo de destino en cualquier momento.

Para modificar la configuración de comprobación de estado de un grupo de destino desde la consola

  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, en LOAD BALANCING, elija Target Groups.

  3. Seleccione el grupo de destino.

  4. En la pestaña Health check, elija Edit.

  5. En la página Edit target group, modifique la configuración según sea necesario y, a continuación, elija Save.

Para modificar la configuración de comprobación de estado de un grupo de destino desde la AWS CLI

Utilice el comando modify-target-group.