Controlli dello stato di salute per i gruppi target di Application Load Balancer - 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à.

Controlli dello stato di salute per i gruppi target di Application Load Balancer

L'Application Load Balancer invia periodicamente delle richieste alle destinazioni registrate per testare il loro stato. Questi test sono chiamati controlli dello stato.

Ogni nodo del sistema di bilanciamento del carico instrada le richieste solamente sui target integri all'interno delle zone di disponibilità abilitate per il sistema di bilanciamento del carico. Ogni nodo del sistema di bilanciamento del carico controlla lo stato dei target, utilizzando le impostazioni di controllo dello stato per i gruppi di target con i quali il target è registrato. Una volta che un target viene registrato, deve essere sottoposto a un controllo dello stato per essere considerato integro. Dopo il completamento di ciascun controllo dello stato, il nodo del sistema di bilanciamento del carico chiude la connessione definita per il controllo dello stato.

Se un gruppo di destinazione contiene solo destinazioni non integre registrate, il sistema di bilanciamento del carico instrada le richieste a tutte le destinazioni, a prescindere dal loro stato di integrità. Questo significa che tutte le destinazioni non superano i controlli dell'integrità allo stesso tempo in tutte le zone di disponibilità abilitate, nel sistema di bilanciamento del carico si verifica un fail open. L'effetto del fail-open è quello di consentire il traffico verso tutte le destinazioni in tutte le zone di disponibilità abilitate, a prescindere dal loro stato di integrità, sulla base dell'algoritmo del sistema di bilanciamento del carico.

I controlli sanitari non supportano WebSockets.

Impostazioni del controllo dello stato

È possibile configurare controlli dell'integrità per le destinazioni all'interno di un gruppo di destinazioni come viene descritto nella tabella seguente. I nomi delle impostazioni utilizzati nella tabella sono i nomi utilizzati inAPI. Il load balancer invia una richiesta di controllo dello stato a ciascun target registrato ogni HealthCheckIntervalSecondssecondo, utilizzando la porta, il protocollo e il percorso di controllo dello stato specificati. Ogni richiesta di controllo dello stato è indipendente e il risultato dura per l'intero intervallo. Il tempo di risposta del target non influenza l'intervallo per la richiesta di controllo dello stato successiva. Se i controlli di integrità superano gli errori UnhealthyThresholdCountconsecutivi, il load balancer mette fuori servizio l'obiettivo. Quando i controlli di integrità superano i successi HealthyThresholdCountconsecutivi, il load balancer rimette in servizio l'obiettivo.

Impostazione Descrizione

HealthCheckProtocol

Il protocollo utilizzato dal load balancer durante l'esecuzione dei controlli dello stato sui target. Per gli Application Load Balancer i protocolli possibili sono e. HTTP HTTPS L'impostazione predefinita è il protocollo. HTTP

Questi protocolli utilizzano il HTTP GET metodo per inviare richieste di controlli sanitari.

HealthCheckPort

La porta utilizzata dal load balancer durante l'esecuzione dei controlli dello stato sui target. L'impostazione predefinita è quella di utilizzare la porta sulla quale ciascun target riceve il traffico dal sistema di bilanciamento del carico.

HealthCheckPath

La destinazione dei controlli dell'integrità sulle destinazioni.

Se la versione del protocollo è HTTP /1.1 o HTTP /2, specificare un percorso URI (/? interrogazione). Il valore di default è /.

Se la versione del protocollo è gRPC, specifica il percorso di un metodo di controllo dello stato personalizzato con il formato/package.service/method. Il valore predefinito è /AWS.ALB/healthcheck.

HealthCheckTimeoutSeconds

Il periodo di tempo, in secondi, durante il quale l'assenza di risposta da un target indica che un controllo dello stato non è riuscito. L'intervallo è compreso tra 2 e 120 secondi. L'impostazione predefinita è 5 secondi se il tipo di destinazione è instance oppure ip e 30 secondi se il tipo di destinazione è lambda.

HealthCheckIntervalSeconds

Il periodo di tempo approssimativo, in secondi, tra i controlli dell'integrità di una singola destinazione. L'intervallo è compreso tra 5 e 300 secondi. L'impostazione predefinita è 30 secondi se il tipo di destinazione è instance oppure ip e 35 secondi se il tipo di destinazione è lambda.

HealthyThresholdCount

Il numero di controlli dello stato andati a buon fine consecutivi necessari prima di considerare integro un target non integro. L'intervallo è compreso tra 2 e 10. Il predefinito è 5.

UnhealthyThresholdCount

Numero di controlli dello stato consecutivi non andati a buon fine necessari prima di considerare un target non integro. L'intervallo è compreso tra 2 e 10. Il valore predefinito è 2.

Matcher

I codici da utilizzare durante la verifica di una risposta con esito positivo ricevuta da una destinazione. Tali codici si chiamano Codici di successo nella console.

Se la versione del protocollo è HTTP /1.1 o HTTP /2, i valori possibili sono compresi tra 200 e 499. Puoi specificare più valori (ad esempio "200,202") o un intervallo di valori (ad esempio "200-299"). Il valore predefinito è 200.

Se la versione del protocollo è gRPC, i valori possibili sono compresi tra 0 e 99. Puoi specificare più valori (ad esempio "0,1") o un intervallo di valori (ad esempio "0-5"). Il valore predefinito è 12.

Stato di integrità della destinazione

Prima che il sistema di bilanciamento del carico invii una richiesta di controllo dello stato a un target, è necessario registrarlo con un gruppo target, specificare il gruppo target in una regola del listener e assicurarsi che la zona di disponibilità del target sia abilitata per il sistema di bilanciamento del carico. Prima che un target possa ricevere richieste dal sistema di bilanciamento del carico, deve superare i controlli dello stato iniziali. Una volta che il target ha superato i controlli dello stato iniziali, il suo stato è Healthy.

La tabella seguente descrive i valori possibili per lo stato di un target registrato.

Valore Descrizione

initial

È in corso il processo di registrazione del target o di esecuzione dei controlli dello stato iniziali del target da parte del sistema di bilanciamento del carico.

Codici di motivo correlati: Elb.RegistrationInProgress | Elb.InitialHealthChecking

healthy

Il target è integro.

Codici di motivo correlati: Nessuno

unhealthy

Il target non ha risposto a un controllo di stato o il controllo dello stato non è andato a buon fine.

Codici di motivo correlati: Target.ResponseCodeMismatch | Target.Timeout | Target.FailedHealthChecks | Elb.InternalError

unused

La destinazione non è registrata con un gruppo di destinazione, il gruppo di destinazione non è utilizzato in una regola del listener, la destinazione è in una zona di disponibilità non abilitata oppure è nello stato arrestato o terminato.

Codici di motivo correlati: Target.NotRegistered | Target.NotInUse | Target.InvalidState | Target.IpUnusable

draining

Il target viene revocato e la connection draining è in corso.

Codice di motivo correlato: Target.DeregistrationInProgress

unavailable

I controlli dello stato sono disabilitati per il gruppo di destinazione.

Codice di motivo correlato: Target.HealthCheckDisabled

Codici di motivo di controllo dello stato

Se lo stato di una destinazione è un valore diverso daHealthy, API restituisce un codice causa e una descrizione del problema e la console visualizza la stessa descrizione. I codici di motivo che iniziano con Elb vengono creati nella parte relativa al sistema di bilanciamento del carico e i codici di motivo che iniziano con Target vengono creati nella parte relativa ai target. Per ulteriori informazioni sulle possibili cause per cui un controllo dell'integrità non va a buon fine, consulta Risoluzione dei problemi.

Codice di motivo Descrizione

Elb.InitialHealthChecking

Controlli dello stato iniziali in corso

Elb.InternalError

I controlli dello stato non andati a buon fine a causa di un errore interno

Elb.RegistrationInProgress

La registrazione del target è in corso

Target.DeregistrationInProgress

La revoca del target è in corso

Target.FailedHealthChecks

Controlli dello stato non andati a buon fine

Target.HealthCheckDisabled

I controlli dello stato sono disabilitati

Target.InvalidState

La destinazione è in stato di arresto

La destinazione è in stato terminato

I target sono in stato di arresto o terminato

Il target è in uno stato non valido

Target.IpUnusable

L'indirizzo IP non può essere utilizzato come destinazione, poiché è in uso in un sistema di bilanciamento del carico.

Target.NotInUse

Il gruppo target non è configurato per la ricezione del traffico dal sistema di bilanciamento del carico.

Il target si trova in una zona di disponibilità che non è abilitata per il sistema di bilanciamento del carico

Target.NotRegistered

Il target non è registrato nel gruppo target

Target.ResponseCodeMismatch

I controlli dello stato non sono andati a buon fine con questi codici: [codice]

Target.Timeout

Richiesta scaduta