Comprobaciones de estado de los grupos de destino - Elastic Load Balancing

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Comprobaciones de estado de los grupos de destino

Puede registrar los destinos en uno o varios grupos de destino. El balanceador de carga comienza a redireccionar las solicitudes a un destino recién registrado tan pronto como finaliza el proceso de registro. El proceso de registro puede tardar unos minutos en completarse y comenzar las comprobaciones de estado.

Los equilibradores de carga de red utilizan comprobaciones de estado activas y pasivas para determinar si un destino se encuentra disponible para administrar solicitudes. De forma predeterminada cada uno de los nodos del balanceador de carga direcciona las solicitudes exclusivamente a los destinos en buen estado de su zona de disponibilidad. Si se habilita el balanceo de carga entre zonas, cada nodo del balanceador de carga direccionará el tráfico entre los destinos en buen estado de todas las zonas de disponibilidad habilitadas. Para obtener más información, consulte Equilibrio de carga entre zonas.

Con las comprobaciones de estado pasivas, el balanceador de carga observa cómo los objetivos responden a las conexiones. Las comprobaciones de estado pasivas permiten que el balanceador de carga pueda detectar un destino en mal estado antes de que lo notifiquen las comprobaciones de estado activas. Las comprobaciones de estado pasivas no se pueden deshabilitar, configurar ni monitorear. Las comprobaciones de estado pasivas no son compatibles con el tráfico UDP y se dirigen a grupos con la adherencia activada. Para obtener más información, consulta Sesiones fijas.

Si un destino no se encuentra en buen estado, el equilibrador de carga envía un RST de TCP para los paquetes recibidos en las conexiones de cliente asociadas al destino, a menos que el destino en mal estado active el modo de apertura por error en el equilibrador de carga.

Si los grupos de destino no tienen un destino en buen estado en una zona de disponibilidad habilitada, se quita del DNS la dirección IP de la subred correspondiente, para que no puedan dirigirse solicitudes a esa zona de disponibilidad. Si todos los destinos no pasan las comprobaciones de estado a la vez en todas las zonas de disponibilidad habilitadas, se produce un error al abrir el equilibrador de carga. Los balanceadores de carga de red también fallarán al abrirse si tienes un grupo objetivo vacío. El efecto de la apertura por error es permitir que el tráfico llegue a todos los destinos de todas las zonas de disponibilidad habilitadas, independientemente de su estado.

Si un grupo de destino se encuentra configurado con comprobaciones de estado de HTTPS, sus destinos registrados no pasarán las comprobaciones de estado si solo admiten TLS 1.3. Estos destinos deben ser compatibles con una versión anterior de TLS, como TLS 1.2.

En las solicitudes de comprobación de estado HTTP o HTTPS, el encabezado de host contiene la dirección IP del nodo del balanceador de carga y el puerto del agente de escucha, no la dirección IP del destino y el puerto de comprobación de estado.

Si agrega un oyente de TLS a su equilibrador de carga de red, realizaremos una prueba de conectividad del oyente. Como la terminación de TLS también termina una conexión TCP, se establece una nueva conexión TCP entre el balanceador de carga y los destinos. Por lo tanto, es posible que veas las conexiones TCP de esta prueba enviadas desde el balanceador de cargas a los destinos que están registrados en tu detector de TLS. Puede identificar estas conexiones TCP porque tienen la dirección IP de origen de su Network Load Balancer y las conexiones no contienen paquetes de datos.

En el caso de un servicio de UDP, la disponibilidad del destino se puede probar mediante comprobaciones de estado que no sean de UDP en el grupo de destino. Puede utilizar cualquier comprobación de estado disponible (TCP, HTTP o HTTPS) y cualquier puerto de su destino para verificar la disponibilidad de un servicio de UDP. Si se produce un error del servicio que recibe la comprobación de estado, se considera que el destino no se encuentra disponible. Para mejorar la precisión de las comprobaciones de estado de un servicio de UDP, configure el servicio a la escucha del puerto de comprobación de estado a fin de realizar un seguimiento del estado de su servicio de UDP y fallar la comprobación de estado si el servicio no se encuentra disponible.

Configuración de comprobación de estado

Puede utilizar los siguientes ajustes para configurar las comprobaciones de estado activas en los destinos de un grupo de destino. Si las comprobaciones de estado superan el UnhealthyThresholdnúmero de errores consecutivos, el equilibrador de cargas deja el objetivo fuera de servicio. Cuando las comprobaciones de estado superan el HealthyThresholdnúmero de éxitos consecutivos, el equilibrador de cargas vuelve a poner el objetivo en servicio.

Opción Descripción Predeterminado

HealthCheckProtocolo

Protocolo que el equilibrador de carga utiliza al realizar comprobaciones de estado en los destinos. Los posibles protocolos son HTTP, HTTPS y TCP. El valor predeterminado es el protocolo TCP. Si el tipo de destino es alb, los protocolos de comprobación de estado admitidos son HTTP y HTTPS.

TCP

HealthCheckPuerto

Puerto que el equilibrador 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 equilibrador de carga.

El puerto en el que cada destino recibe el tráfico procedente del equilibrador de carga.

HealthCheckRuta

[Comprobaciones de estado HTTP/HTTPS] La ruta de comprobación de estado que es el destino de los controles de estado. El valor predeterminado es /.

/

HealthCheckTimeoutSeconds

Cantidad de tiempo, en segundos, durante la cual ninguna respuesta de un destino significa una comprobación de estado fallida. El rango va de 2 a 120 segundos. Los valores predeterminados son de 6 segundos para las comprobaciones de estado de HTTP y de 10 segundos para las comprobaciones de estado de TCP y HTTPS.

6 segundos para las comprobaciones de estado de HTTP y 10 segundos para las comprobaciones de estado de TCP y HTTPS.

HealthCheckIntervalSeconds

Cantidad aproximada de tiempo, en segundos, que transcurre entre comprobaciones de estado de un destino individual. El rango va de 5 a 300 segundos. El valor predeterminado es de 30 segundos.

importante

Las comprobaciones de estado de un equilibrador de carga de red se distribuyen y utilizan un mecanismo de consenso para determinar el estado del destino. Por tanto, los destinos reciben un número mayor de comprobaciones de estado que el que está establecido. Para reducir el impacto en los destinos si utiliza comprobaciones de estado de HTTP, use un objetivo más sencillo en los destinos, como, por ejemplo, un archivo HTML estático, o cambie a las comprobaciones de estado de TCP.

30 segundos

HealthyThresholdCuenta

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 rango va de 2 a 10. El valor predeterminado es 5.

5

UnhealthyThresholdContar

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

2

Matcher

[Comprobaciones de estado HTTP/HTTPS] Códigos HTTP que se deben utilizar al comprobar si se ha recibido una respuesta correcta de un destino. El rango va de 200 a 599. El valor predeterminado va de 200 a 399.

200-399

Estado del destino

Antes de que el equilibrador 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 oyente y asegurarse de que la zona de disponibilidad del destino esté habilitada en el equilibrador de carga.

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

Valor Descripción

initial

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

Códigos de motivo relacionados: Elb.RegistrationInProgress | Elb.InitialHealthChecking

healthy

El destino se encuentra en buen estado.

Códigos de motivo relacionados: ninguno

unhealthy

El objetivo no respondió a un chequeo de estado, no pasó el chequeo de estado o el objetivo está detenido.

Código de motivo relacionado: Target.FailedHealthChecks

draining

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

Código de motivo relacionado: Target.DeregistrationInProgress

unhealthy.draining

El objetivo no ha respondido a los controles de estado o no los ha superado y entra en un período de gracia. El objetivo admite las conexiones existentes y no aceptará ninguna conexión nueva durante este período de gracia.

Código de motivo relacionado: Target.FailedHealthChecks

unavailable

El estado del destino no está disponible.

Código de motivo relacionado: Elb.InternalError

unused

El destino no está registrado en un grupo de destino, el grupo objetivo no se utiliza en una regla de escucha o el objetivo se encuentra en una zona de disponibilidad que no está habilitada.

Códigos de motivo relacionados: Target.NotRegistered | Target.NotInUse | Target.InvalidState | Target.IpUnusable

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. Tenga en cuenta que 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 equilibrador de carga.

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

Target.NotRegistered

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

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 Equilibrio de carga, elija Grupos de destino.

  3. Elija el nombre del grupo de destino para abrir la página de detalles.

  4. En el panel de Detalles se muestra el número total de destinos, más el número de destinos de cada estado.

  5. En la pestaña de Destinos, la columna de Estado indica el estado de cada destino.

  6. Si el estado de un destino es un valor distinto de Healthy, la columna de Detalles del estado contiene más información.

Para comprobar el estado de tus objetivos, utiliza la AWS CLI

Utilice el comando describe-target-health. El resultado de este comando contiene el estado del destino. Incluye un código de motivo si el estado es cualquier valor distinto de Healthy.

Para recibir notificaciones por correo electrónico sobre destinos en mal estado

Utilice CloudWatch alarmas para activar una función Lambda que envíe detalles sobre objetivos en mal estado. Para step-by-step obtener instrucciones, consulta la siguiente entrada del blog: Cómo identificar los objetivos insalubres de tu balanceador de cargas.

Modificar 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 Equilibrio de carga, elija Grupos de destino.

  3. Elija el nombre del grupo de destino para abrir la página de detalles.

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

  5. En la página Editar la configuración de la comprobación de estado, modifique la configuración según sea necesario y, a continuación, seleccione Guardar cambios.

Para modificar la configuración de las comprobaciones de estado de un grupo objetivo mediante el AWS CLI

Utilice el comando modify-target-group.