Solución de problemas del equilibrador de carga clásico: comprobaciones de estado - 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.

Solución de problemas del equilibrador de carga clásico: comprobaciones de estado

Para comprobar el estado de las instancias registradas en el equilibrador de carga, este utiliza la configuración de comprobación de estado predeterminada que proporciona Elastic Load Balancing, o bien una configuración de comprobación de estado personalizada especificada por el usuario. La configuración de comprobación de estado contiene información como el protocolo, el puerto de ping, la ruta de ping, el tiempo de espera de la respuesta y el intervalo de comprobación de estado. Se considera que una instancia se encuentra en buen estado si devuelve el código de respuesta 200 dentro del intervalo de comprobación de estado. Para obtener más información, consulte Comprobación de estado de las instancias del Equilibrador de carga clásico.

Si el estado actual de algunas o todas las instancias es OutOfService y en el campo de descripción se muestra el mensaje Instance has failed at least the Unhealthy Threshold number of health checks consecutively, significa que las instancias no han superado la comprobación de estado del equilibrador de carga. A continuación se indican los problemas que pueden surgir, sus posibles causas y las medidas que debe adoptar para resolverlos.

Error en la página de destino de la comprobación de estado

Problema: una solicitud GET HTTP emitida a la instancia en el puerto de ping y la ruta de ping especificados (por ejemplo, HTTP:80/index.html) ha recibido un código de respuesta distinto de 200.

Causa 1: no se ha configurado ninguna página de destino en la instancia.

Solución 1: cree una página de destino (por ejemplo, index.html) en cada instancia registrada y especifique su ruta como ruta de ping.

Causa 2: no se ha establecido el valor del encabezado Content-Length de la respuesta.

Solución 2: si la respuesta incluye un cuerpo, establezca el encabezado Content-Length en un valor mayor o igual que cero, o bien establezca el valor de Transfer-Encoding en "chunked".

Causa 3: la aplicación no se ha configurado para recibir solicitudes desde el equilibrador de carga o para devolver el código de respuesta 200.

Solución 3: compruebe la aplicación de la instancia para investigar la causa.

Se ha agotado el tiempo de espera de conexión a las instancias

Problema: se agota el tiempo de espera de las solicitudes de comprobación de estado del equilibrador de carga a las instancias EC2 o se producen errores intermitentes en dichas solicitudes.

En primer lugar, conéctese directamente a la instancia para comprobar el problema. Recomendamos conectarse a la instancia desde la red mediante la dirección IP privada de la instancia.

Utilice el siguiente comando si se trata de una conexión TCP:

telnet private-IP-address-of-the-instance port

Utilice el siguiente comando si se trata de una conexión HTTP o HTTPS:

curl –I private-IP-address-of-the-instance:port/health-check-target-page

Si utiliza una HTTP/HTTPS conexión y recibe una respuesta distinta de 200, consulte. Error en la página de destino de la comprobación de estado Si puede conectarse directamente a la instancia, compruebe lo siguiente:

Causa 1: la instancia no responde dentro del tiempo de espera de respuesta configurado.

Solución 1: ajuste la configuración del tiempo de espera de respuesta en la configuración de comprobación de estado del equilibrador de carga.

Causa 2: la instancia sufre una carga significativa y está tardando más en responder que el tiempo de espera de respuesta configurado.

Solución 2:

Causa 3: si utiliza una conexión HTTP o HTTPS y la comprobación de estado se lleva a cabo en una página de destino especificada en el campo de la ruta de ping (por ejemplo, HTTP:80/index.html), puede que la página de destino esté tardando más en responder que el tiempo de espera configurado.

Solución 3: utilice una página de destino de comprobación de estado más sencilla o bien ajuste la configuración del intervalo de comprobación de estado.

Se produce un error al autenticar la clave pública

Problema: se produce un error al autenticar la clave pública en un equilibrador de carga configurado para usar el protocolo HTTPS o SSL con la autenticación back-end habilitada.

Causa: la clave pública del certificado SSL no coincide con la clave pública configurada en el equilibrador de carga. Utilice el comando s_client para ver la lista de certificados de servidor en la cadena de certificados. Para obtener más información, consulte s_client en la documentación de OpenSSL.

Solución: es posible que deba actualizar el certificado SSL. Si el certificado SSL está vigente, pruebe a volver a instalarlo en el equilibrador de carga. Para obtener más información, consulte Reemplazo del certificado SSL del equilibrador de carga clásico.

La instancia no recibe tráfico desde el equilibrador de carga

Problema: el grupo de seguridad de la instancia bloquea el tráfico procedente del equilibrador de carga.

Realice una captura de paquetes en la instancia para comprobar el problema. Utilice el siguiente comando :

# tcpdump port health-check-port

Causa 1: el grupo de seguridad asociados con la instancia no permite el tráfico procedente del equilibrador de carga.

Solución 1: edite el grupo de seguridad de la instancia para permitir el tráfico procedente del equilibrador de carga. Agregue una regla para permitir todo el tráfico procedente del grupo de seguridad del equilibrador de carga.

Causa 2: el grupo de seguridad del equilibrador de carga de una VPC no permite el tráfico a las instancias EC2.

Solución 2: edite el grupo de seguridad del equilibrador de carga para permitir el tráfico a las subredes y a las instancias EC2.

Para obtener más información acerca de la gestión de grupos de seguridad, consulte Configurar grupos de seguridad para el equilibrador de carga clásico.

Los puertos de la instancia no están abiertos

Problema: el puerto o un firewall han bloqueado la comprobación de estado que el equilibrador de carga ha enviado a la instancia EC2.

Ejecute el comando siguiente para comprobar el problema:

netstat –ant

Causa: no está abierto el puerto de estado especificado o el puerto del oyente (si su configuración es distinta). Tanto el puerto especificado para la comprobación de estado como el puerto del oyente deben estar abiertos y a la escucha.

Solución: abra el puerto del oyente y el puerto especificado en la configuración de la comprobación de estado (si su configuración es distinta) en las instancias para recibir el tráfico procedente del equilibrador de carga.

Las instancias de un grupo de escalado automático no superan la comprobación de estado de ELB

Problema: las instancias del grupo de escalado automático superan la comprobación de estado predeterminada de escalado automático pero no la de ELB.

Causa: el escalado automático utiliza las comprobaciones de estado de EC2 para detectar problemas de hardware y software de las instancias; sin embargo, para realizar las comprobaciones de estado, el equilibrador de carga envía una solicitud a la instancia y espera el código de respuesta 200, o bien establece una conexión TCP (para una comprobación de estado basada en TCP) con la instancia.

Una instancia podría no superar la comprobación de estado de ELB si una aplicación que se ejecuta en la instancia tiene algún problema como consecuencia del cual el equilibrador de carga considera que la instancia se encuentra fuera de servicio. Esta instancia podría superar la comprobación de estado de escalado automático; es decir, la política de escalado automático no la sustituiría porque se la consideraría correcta según la comprobación de estado de EC2.

Solución: utilice la comprobación de estado de ELB para el grupo de escalado automático. Cuando se utiliza la comprobación de estado de ELB, escalado automático verifica los resultados de la comprobación de estado de la instancia y de la comprobación de estado de ELB para determinar el estado de las instancias. Para obtener más información, consulte Agregado de comprobaciones de estado de Elastic Load Balancing al grupo de escalado automático en la Guía del usuario de Amazon EC2 Auto Scaling.