¿Cómo soluciono los problemas de “Connection timed out” (Tiempo de espera de conexión agotado) de Elastic Load Balancing?

Última actualización: 08/04/2022

Estoy usando Elastic Load Balancing (ELB) y recibo el error “Connection timed out” (Tiempo de espera de conexión agotado). ¿Cómo soluciono un problema de tiempo de espera de conexión entre mi equilibrador de carga y un cliente?

Resolución

Verificar que su esquema de equilibrador de carga esté orientado a Internet

Si el cliente intenta conectarse a través de Internet, verifique que el esquema del ELB esté orientado a Internet.

Confirmar que hay un agente de escucha configurado para el puerto del equilibrador de carga

Compruebe la configuración de los agentes de escucha para el puerto del equilibrador de carga al que se conecta el cliente:

Confirmar que los grupos de seguridad de las instancias de destino permiten el tráfico

Application Load Balancers y Classic Load Balancers

Compruebe la configuración del grupo de seguridad vinculado al equilibrador de carga. Confirme que se permite el tráfico en ambas direcciones para los puertos de escucha y de comprobación de estado. Para obtener más información, consulte Grupos de seguridad para su Application Load Balancer y Configurar grupos de seguridad para el Classic Load Balancer.

Network Load Balancers

Si registra instancias de EC2 como destinos, confirme que los grupos de seguridad de estas instancias permiten el tráfico tanto en el puerto de escucha como en los puertos de comprobación de estado. Si registra destinos por dirección IP, asegúrese de que el grupo de seguridad de los destinos permita el tráfico de los nodos NLB. Para obtener más información, consulte Registrar destinos con su grupo de destino (Network Load Balancer).

Si utiliza la preservación de IP del cliente, confirme que el grupo de seguridad de destino permite el tráfico de las direcciones IP del cliente. Para obtener más información, consulte Conservación de la IP del cliente.

Verificar que la ACL de red permite el tráfico requerido

Compruebe que la lista de control de acceso a la red (ACL de red) asociada a las subredes en las que están presentes los nodos del equilibrador de carga:

  • Permite el acceso en el puerto al que se accede
  • Permite el acceso a direcciones IP de clientes particulares en las reglas de entrada.

Las ACL de red no tienen estado, por lo que debe permitir el acceso tanto en las reglas de entrada como de salida. Confirme también que todos los puertos efímeros están permitidos en las reglas de salida. Permitir solo algunos puertos efímeros puede provocar problemas de conexión intermitentes. Para obtener más información, consulte ACL de red para equilibradores de carga en una VPC.

Confirmar que las tablas de enrutamiento estén configuradas correctamente

Para los equilibradores de carga orientados a Internet, confirme que las tablas de enrutamiento asociadas a las subredes en las que están presentes los nodos del equilibrador de carga tengan una puerta de enlace de Internet.

Para los balanceadores de cargas internos que usan una conexión privada al equilibrador de carga, puede haber varias tablas de enrutamiento asociadas a diferentes subredes. Se pueden producir problemas de conectividad en nodos individuales, lo que provoca problemas intermitentes. Compruebe las tablas de enrutamiento asociadas a todos los nodos. Si se produce un error en la conectividad de un nodo, compruebe que la tabla de enrutamiento asociada al subconjunto de nodos de equilibradores de carga esté configurada. Agregue rutas según sea necesario.

Use el siguiente comando para probar la conectividad de nodos:

nc –v <ELB IP Address> <Port>
telnet <ELB IP Address> <Port>

Nota: especifique su información para la dirección IP y el puerto de ELB.

Comprobar que el cliente no se conecta a un nodo terminado (Application Load Balancer y Classic Load Balancer)

Confirme que el cliente no se conecte a un nodo de Application Load Balancer o Classic Load Balancer que esté terminado. Compruebe que las direcciones IP del cliente estén incluidas en la lista de direcciones IP actuales publicadas en el sistema de nombres de dominio (DNS) de ELB. Ejecute el siguiente comando dig con su nombre de dominio para ejemplo.com:

$ dig +short example.com
35.154.42.229
13.126.64.179

Confirmar que un firewall del lado del cliente no esté bloqueando el tráfico

Si otros métodos de solución de problemas no resuelven los problemas de conectividad, es posible que un firewall del lado del cliente esté bloqueando el tráfico. Para solucionar el problema, siga estos pasos:

  • Si usa registros de flujo de la VPC con metadatos, consulte los registros de las interfaces de nodo del equilibrador de carga. Confirme que el equilibrador de carga recibe el SYN de la dirección IP del cliente. A continuación, confirme que el nodo del equilibrador de carga envía el SYN, ACK a la dirección IP del cliente. Si SYN, ACK no se devuelve desde el nodo del equilibrador de carga, es posible que haya un problema con ese nodo. Para ver un ejemplo de cómo leer los registros de flujo, consulte Secuencia de indicadores TCP.
  • Realice una captura de paquetes en la máquina que ejecuta el cliente. Emplee la utilidad tcpdump para obtener el tráfico de red para su análisis. Si la conexión falla, actualice las reglas de firewall para permitir el tráfico requerido.