In che modo è possibile risolvere i problemi di "Timeout di connessione" di Elastic Load Balancing?

Ultimo aggiornamento: 08/04/2022

Sto usando Elastic Load Balancing (ELB) e ricevo l'errore "Connection timeout" ("Timeout di connessione"). Come posso risolvere un errore di timeout di connessione tra il mio bilanciatore del carico e un client?

Risoluzione

Verifica che lo schema del bilanciatore del carico sia rivolto a Internet

Se il client sta tentando di connettersi tramite Internet, verifica che lo schema ELB sia rivolto a Internet.

Verifica che un listener sia configurato per la porta del bilanciatore del carico

Verifica la configurazione dei listener per la porta del bilanciatore del carico a cui il client si connette:

Verifica che i gruppi di sicurezza per le istanze di destinazione consentano il traffico

Application Load Balancer e Classic Load Balancer

Verifica le impostazioni del gruppo di sicurezza collegato al bilanciatore del carico. Verifica che il traffico sia consentito in entrambe le direzioni per le porte del listener e del controllo dell'integrità. Per ulteriori informazioni, consulta le sezioni Gruppi di sicurezza per Application Load Balancer e Configurazione dei gruppi di sicurezza per Classic Load Balancer.

Network Load Balancer

Se registri istanze EC2 come destinazioni, verifica che i gruppi di sicurezza per queste istanze consentano il traffico sia sulla porta del listener sia sulla porta del controllo dell'integrità. Se registri le destinazioni in base all'indirizzo IP, assicurati che il gruppo di sicurezza per le destinazioni consenta il traffico dai nodi NLB. Per ulteriori informazioni, consulta la sezione Registrazione delle destinazioni con il gruppo di destinazione (Network Load Balancer).

Se utilizzi la conservazione dell'IP del client, verifica che il gruppo di sicurezza di destinazione consenta il traffico proveniente dagli indirizzi IP del client. Per ulteriori informazioni, consulta la sezione Conservazione dell'IP del client.

Verifica che l'ACL di rete consenta il traffico richiesto

Verifica che l'elenco di controllo dell'accesso alla rete (ACL di rete) associato alle sottoreti in cui sono presenti i nodi del bilanciatore del carico:

  • consenta l'accesso sulla porta a cui si accede;
  • consenta l'accesso a specifici indirizzi IP del client nelle regole in entrata.

Gli ACL di rete sono senza stato, pertanto è necessario consentire l'accesso sia nelle regole in entrata sia in quelle in uscita. Verifica anche che tutte le porte effimere siano consentite nelle regole in uscita. Consentire solo alcune porte effimere può causare problemi di connessione intermittenti. Per ulteriori informazioni, consulta la sezione ACL di rete per i bilanciatori del carico in un VPC.

Verifica che le tabelle di routing siano configurate correttamente

Per i bilanciatori del carico rivolti a Internet, verifica che le tabelle di routing associate alle sottoreti in cui sono presenti i nodi del bilanciatore del carico dispongano di un gateway Internet.

Per i bilanciatori del carico interni che utilizzano una connessione privata al bilanciatore del carico, potrebbero sussistere più tabelle di routing associate a sottoreti diverse. I problemi di connettività possono verificarsi su singoli nodi, causando problemi intermittenti. Controlla le tabelle di routing associate a tutti i nodi. Se la connessione non riesce per un nodo, verifica che la tabella di routing associata al sottoinsieme di nodi del bilanciatore del carico sia configurata. Aggiungi i percorsi di routing in base alle esigenze.

Utilizza il seguente comando per testare la connettività dei nodi:

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

Nota: inserisci i tuoi dati per i campi ELB IP Address (Indirizzo IP di ELB) e Port (Porta).

Verifica che il client non si connetta a un nodo terminato (Application Load Balancer e Classic Load Balancer)

Verifica che il client non si connetta a un nodo Application Load Balancer o Classic Load Balancer terminato. Verifica che gli indirizzi IP del client siano inclusi nell'elenco degli indirizzi IP correnti pubblicato nel sistema dei nomi di dominio (DNS) di ELB. Esegui il seguente comando dig usando il tuo nome di dominio per example.com:

$ dig +short example.com
35.154.42.229
13.126.64.179

Verifica che un firewall lato client non stia bloccando il traffico

Se gli altri metodi di risoluzione dei problemi non risolvono i problemi di connettività, il traffico potrebbe essere bloccato da un firewall lato client. Per risolvere il problema, attieniti alla seguente procedura:

  • Se utilizzi i flussi di log VPC con metadati, controlla i registri delle interfacce dei nodi del bilanciatore del carico. Verifica che il bilanciatore del carico riceva il SYN dall'indirizzo IP del client. Quindi, verifica che il bilanciatore del carico restituisca il SYN, ACK all'indirizzo IP del client. Se il nodo del bilanciatore del carico non restituisce il SYN, ACK, potrebbe esserci un problema con quel nodo. Per un esempio di come leggere i flussi di log, consulta la sezione Sequenza dei flag TCP.
  • Acquisisci i pacchetti sulla macchina che esegue il client. Impiega l'utilità tcpdump o per ottenere il traffico di rete per l'analisi. Se la connessione non riesce, aggiorna le regole del firewall per consentire il traffico richiesto.