Risoluzione dei problemi di un Classic Load Balancer: controlli dello stato - Sistema di bilanciamento del carico elastico

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi di un Classic Load Balancer: controlli dello stato

Il load balancer controlla lo stato delle istanze registrate utilizzando la configurazione di controllo dello stato predefinita fornita da Elastic Load Balancing o una configurazione di controllo dello stato personalizzata specificata dall'utente. La configurazione di controllo dello stato contiene informazioni quali il protocollo, la porta di ping, il percorso di ping, il timeout della risposta e l'intervallo dei controlli dello stato. Un'istanza è considerata integra se restituisce un codice di risposta 200 durante l'intervallo di controllo dello stato. Per ulteriori informazioni, consulta Controlli dello stato delle istanze del tuo Classic Load Balancer.

Se lo stato attuale di alcune o di tutte le istanze è OutOfService e il campo descrizione mostra il messaggio Instance has failed at least the Unhealthy Threshold number of health checks consecutively, le istanze non hanno superato il controllo dello stato del load balancer. Di seguito sono elencati i problemi da cercare, le potenziali cause e le operazioni che è possibile eseguire per risolverli.

Errore della pagina di destinazione del controllo dello stato

Problema: una HTTP GET richiesta inviata all'istanza sulla porta ping e sul percorso ping specificati (ad esempio, :80/index.html) riceve un codice di risposta diverso da 200HTTP.

Causa 1: non è stata configurata alcuna pagina di destinazione per l'istanza.

Soluzione 1: crea una pagina di destinazione (ad esempio index.html) per ciascuna istanza registrata e specifica il percorso come percorso di ping.

Causa 2: il valore dell'intestazione Content-Length nella risposta non è impostato.

Soluzione 2: se la risposta include un corpo, impostare l'intestazione Content-Length su un valore maggiore o uguale a zero oppure impostare il valore di Transfer-Encoding su "chunked".

Causa 3: l'applicazione non è configurata per ricevere richieste dal load balancer o per restituire un codice di risposta 200.

Soluzione 3: controlla l'applicazione sulla tua istanza per individuare la causa.

Si è verificato il timeout della connessione alle istanze

Problema: le richieste di Health Check dal sistema di bilanciamento del carico alle EC2 istanze scadono o falliscono a intermittenza.

In primo luogo, verifica il problema connettendoti direttamente all'istanza. Ti consigliamo di connetterti alla tua istanza dalla rete utilizzando l'indirizzo IP privato dell'istanza.

Usa il seguente comando per una connessione: TCP

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

Utilizzate il seguente comando per una HTTPS connessione HTTP or:

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

Se si utilizza una HTTPS connessioneHTTP/e si ottiene una risposta diversa da 200, vedereErrore della pagina di destinazione del controllo dello stato. Se riesci a connetterti direttamente all'istanza, controlla quanto segue:

Causa 1: l'istanza non risponde entro il periodo di timeout di risposta configurato.

Soluzione 1: regola le impostazioni del timeout di risposta nella configurazione del controllo dello stato del load balancer.

Causa 2: l'istanza è sottoposta a un carico significativo e richiede più tempo del periodo di timeout di risposta configurato per rispondere.

Soluzione 2:

  • Controlla il grafico di monitoraggio per un utilizzo eccessivo di. CPU Per informazioni, consulta Ottieni statistiche per un'EC2istanza specifica nella Amazon EC2 User Guide.

  • Verifica l'utilizzo di altre risorse applicative, come memoria o limiti, collegandoti alle tue EC2 istanze.

  • Se necessario, aggiungi altre istanze o abilita l'Auto Scaling. Per ulteriori informazioni, consulta la Amazon EC2 Auto Scaling User Guide.

Causa 3: se utilizzi una connessione HTTP o una HTTPS connessione e il controllo dello stato viene eseguito su una pagina di destinazione specificata nel campo del percorso di ping (ad esempio,HTTP:80/index.html), la pagina di destinazione potrebbe impiegare più tempo a rispondere rispetto al timeout configurato.

Soluzione 3: utilizza una pagina di destinazione del controllo dello stato più semplice o regola le impostazioni dell'intervallo del controllo dello stato.

L'autenticazione della chiave pubblica non riesce

Problema: un sistema di bilanciamento del carico configurato per utilizzare il SSL protocollo HTTPS or con l'autenticazione di back-end abilitata fallisce l'autenticazione a chiave pubblica.

Causa: la chiave pubblica sul SSL certificato non corrisponde alla chiave pubblica configurata sul load balancer. Utilizza il comando s_client per visualizzare l'elenco dei certificati server nella catena di certificati. Per ulteriori informazioni, consulta s_client nella documentazione di Open. SSL

Soluzione: potrebbe essere necessario aggiornare il SSL certificato. Se il SSL certificato è aggiornato, prova a reinstallarlo sul sistema di bilanciamento del carico. Per ulteriori informazioni, consulta Sostituisci il SSL certificato per il tuo Classic Load Balancer.

L'istanza non riceve traffico dal load balancer

Problema: il gruppo di sicurezza per l'istanza sta bloccando il traffico dal load balancer.

Esegui un'acquisizione di pacchetti sull'istanza per verificare il problema. Utilizza il seguente comando:

# tcpdump port health-check-port

Causa 1: il gruppo di sicurezza associato all'istanza non consente il traffico dal load balancer.

Soluzione 1: modifica il gruppo di sicurezza associato all'istanza in modo da consentire il traffico dal load balancer. Aggiungi una regola per consentire tutto il traffico dal gruppo di sicurezza del load balancer.

Causa 2: il gruppo di sicurezza del sistema di bilanciamento del carico non consente il traffico verso le istanze. EC2

Soluzione 2: modifica il gruppo di sicurezza del sistema di bilanciamento del carico per consentire il traffico verso le sottoreti e le istanze. EC2

Per informazioni sulla gestione dei gruppi di sicurezza, consulta Configurazione dei gruppi di sicurezza per Classic Load Balancer.

Le porte sull'istanza non sono aperte

Problema: il controllo di integrità inviato all'EC2istanza dal load balancer è bloccato dalla porta o da un firewall.

Verifica il problema utilizzando il seguente comando:

netstat –ant

Causa: la porta del controllo dello stato o la porta listener specificata (se configurata in modo diverso) non è aperta. Sia la porta specificata per il controllo dello stato che la porta listener devono essere aperte e in ascolto.

Soluzione: apri la porta listener e la porta specificata nella configurazione del controllo dello stato (se configurata diversamente) sulle tue istanze per ricevere il traffico del load balancer.

Le istanze in un gruppo di Auto Scaling non superano il controllo di integrità ELB

Problema: le istanze del gruppo Auto Scaling superano il controllo di integrità predefinito di Auto Scaling ma non lo superano. ELB

Causa: Auto Scaling utilizza controlli di EC2 stato per rilevare problemi hardware e software con le istanze, ma il load balancer esegue controlli di integrità inviando una richiesta all'istanza e aspettando un codice di risposta di 200 oppure stabilendo una TCP connessione (per un controllo dello stato TCP basato) con l'istanza.

Un'istanza potrebbe non superare il controllo di ELB integrità perché un'applicazione in esecuzione sull'istanza presenta problemi che inducono il sistema di bilanciamento del carico a considerare l'istanza fuori servizio. Questa istanza potrebbe superare il controllo di integrità di Auto Scaling; non verrebbe sostituita dalla politica Auto Scaling perché è considerata integra in base EC2 al controllo dello stato.

Soluzione: utilizzate il controllo ELB dello stato del vostro gruppo Auto Scaling. Quando si utilizza il ELB controllo dello stato dell'istanza, Auto Scaling determina lo stato di integrità delle istanze controllando i risultati sia del controllo dello stato dell'istanza che del controllo dello stato dell'ELBistanza. Per ulteriori informazioni, consulta Aggiungere controlli di integrità al gruppo Auto Scaling nella Amazon Auto EC2 Scaling User Guide.