¿Cómo puedo usar ELB para solucionar los problemas por los que los usuarios finales no pueden acceder a mi sitio web?

5 minutos de lectura
0

Quiero usar Elastic Load Balancing (ELB) para solucionar los problemas por los que los usuarios finales no pueden acceder a mi sitio web.

Resolución

Los usuarios finales pueden experimentar los siguientes problemas:

  • Se agota el tiempo de espera de la página.
  • El sitio web tiene problemas intermitentes.
  • Hay un retraso en la carga de la página.
  • Se muestra un error de código de estado HTTP 5XX.

Realización de una búsqueda y comparación de DNS

Compruebe que el dominio se resuelva correctamente en la dirección IP de los nodos del equilibrador de carga para que la conexión del cliente se envíe a la dirección IP correcta.

Ejecute uno de los siguientes comandos para obtener los registros DNS del dominio:

dig affected domain

Alternativa:

nslookup affected domain

A continuación, ejecute el siguiente comando para obtener los registros DNS del equilibrador de carga:

dig lb-xxxxxxxxxx.us-east-1.elb.amazonaws.com

Compare los registros DNS del dominio con los registros DNS del equilibrador de carga. Cuando la lista de direcciones IP coincide, la comprobación se realiza correctamente. Si el equilibrador de carga está en un estado de escalamiento horizontal, es posible que haya más direcciones IP de las que puede mostrar la respuesta de DNS. Para obtener todas las direcciones IP, ejecute varias consultas de DNS.

Comprobación del estado de las instancias u objetivos de backend del equilibrador de carga

Una instancia o un objetivo de Amazon Elastic Compute Cloud (Amazon EC2) de backend que no estén en buen estado pueden afectar al enrutamiento. Si los objetivos no están en buen estado, es posible que el servicio no esté disponible en la instancia de backend o en el objetivo. O bien, los equilibradores de carga no pueden obtener una respuesta de la instancia de backend o el objetivo.

Revise las comprobaciones de estado del tipo de equilibrador de carga para determinar el estado de la instancia de backend o el objetivo:

Nota: Cuando desactiva el equilibrio de carga entre zonas, afecta a la forma en que se enrutan las solicitudes con los equilibradores de carga de red y los equilibradores de carga clásicos. Puede configurar comprobaciones de estado en puertos distintos de los puertos de tráfico. Sin embargo, aunque la instancia de backend o el objetivo estén en buen estado, es posible que el objetivo no responda al tráfico entrante.

Conexión a los nodos del equilibrador de carga

Conecte directamente los nodos del equilibrador de carga para probar lo siguiente:

  • Puede acceder a las direcciones IP del equilibrador de carga que resolvió el DNS.
  • El problema solo ocurre con una subred de una zona de disponibilidad específica.

Anote las direcciones IP del equilibrador de carga. A continuación, intente conectarse a las direcciones IP de una en una. Se recomienda utilizar la herramienta curl para realizar esta comprobación. Si usa un navegador, es posible que la prueba no funcione debido a las validaciones de los certificados y al encabezado del host.

Use el siguiente comando:

curl -lvk protocol://ELB IP Address:port/path -H "Host: domain name"

Nota: Sustituya protocolo, Dirección IP de ELB, puerto, ruta y nombre de dominio por sus valores.

Si recibe una respuesta, compruebe si es esperada o si se trata de un error. Si se espera la respuesta, compruebe la siguiente dirección IP.

Comprobación del equilibrador de carga para ver si hay problemas con la instancia de backend o el objetivo

Compruebe el estado de comunicación del equilibrador de carga con la instancia de backend o el objetivo.

Confirme que los grupos de seguridad, la lista de control de acceso de la red (ACL de la red) y el enrutamiento permiten el acceso. A continuación, inicie sesión en la instancia de backend o el objetivo. Según su sistema operativo (SO), ejecute uno de los siguientes comandos para confirmar que el servicio web está escuchando en el puerto configurado:

Windows:

netstat -an | findstr "LISTEN" | findstr "port"

Linux:

netstat -an | grep LISTEN | grep "port"

Nota: Sustituya puerto por el puerto de escucha de la instancia de backend o el objetivo que se utiliza al registrar la instancia de backend o el objetivo en el equilibrador de carga.

Si el puerto de escucha no aparece en la lista, significa que el servicio web está inactivo.

Si la respuesta muestra que el puerto está escuchando, ejecute el siguiente comando:

curl -lvk protocol://localhost:port

Nota: Sustituya protocolo por el servicio de aplicación de escucha y puerto por el puerto localhost.

Si recibe una respuesta del comando anterior, significa que el servicio web está funcionando.

También puede iniciar una conexión desde otra instancia en la misma Amazon Virtual Private Cloud (Amazon VPC). Compruebe si la conexión llega al servicio web y recibe una respuesta del mismo. La respuesta muestra lo que recibe el equilibrador de carga cuando intenta conectarse a la instancia de backend o el objetivo.

Información relacionada

¿Por qué no puedo conectarme a un sitio web alojado en mi instancia de EC2?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 meses