Controlli dello stato per i gruppi target - 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 per i gruppi target

È possibile registrare i target con uno o più gruppi target. Il Gateway Load Balancer inizia a instradare le richieste a un nuovo target registrato non appena viene completato il processo di registrazione. Il completamento del processo di registrazione e l'avvio dei controlli dell'integrità possono richiedere alcuni minuti.

Il Gateway Load Balancer invia periodicamente una richiesta ad ogni destinatario registrato per controllare lo stato. Dopo il completamento di ciascun controllo dell'integrità, il Gateway Load Balancer chiude la connessione definita per il controllo dello stato.

Impostazioni del controllo dello stato

È possibile configurare controlli dell'integrità attivi per i target in un gruppo target utilizzando le seguenti impostazioni. Se i controlli di integrità superano il numero specificato di errori UnhealthyThresholdCountconsecutivi, il Gateway Load Balancer mette fuori servizio il target. Quando i controlli di integrità superano il numero specificato di successi HealthyThresholdCountconsecutivi, il Gateway Load Balancer rimette l'obiettivo in servizio.

Impostazione Descrizione

HealthCheckProtocol

Il protocollo utilizzato dal sistema di bilanciamento del carico durante l'esecuzione dei controlli dell'integrità sulle destinazioni. I protocolli possibili sono HTTP, HTTPS e TCP. Il valore predefinito è TCP.

HealthCheckPort

La porta utilizzata dal Gateway Load Balancer durante l'esecuzione dei controlli dell'integrità sulle destinazioni. L'intervallo è compreso tra 1 e 65535. Il predefinito è 80.

HealthCheckPath

[Controlli di integrità HTTP/HTTPS] Il percorso dei controlli di integrità che è la destinazione degli obiettivi per i controlli sanitari. Il valore di default è /.

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. Il predefinito è 5.

HealthCheckIntervalSeconds

Il periodo di tempo approssimativo, in secondi, tra i controlli dell'integrità di una singola destinazione. L'intervallo è compreso tra 5 e 300. Il valore predefinito è 10 secondi. Questo valore deve essere maggiore o uguale a. HealthCheckTimeoutSeconds

Importante

I controlli dell'integrità per i Gateway Load Balancer vengono distribuiti e utilizzano un meccanismo di consenso per determinare l'integrità della destinazione. Pertanto, è necessario aspettarsi che i dispositivi di destinazione ricevano diversi controlli dell'integrità entro l'intervallo di tempo configurato.

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

[Controlli dello stato HTTP/HTTPS] I codici HTTP da utilizzare durante la verifica di una risposta con esito positivo ricevuta da un target. Questo valore deve essere 200-399.

Stato di integrità della destinazione

Prima che il Gateway Load Balancer invii una richiesta di controllo dell'integrità a una destinazione, è necessario registrarlo con un gruppo di destinazione, specificare il gruppo di destinazione in una regola dell'ascoltatore e assicurarsi che la zona di disponibilità del target sia abilitata per il Gateway Load Balancer.

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

Valore Descrizione

initial

È in corso il processo di registrazione della destinazione o di esecuzione dei controlli dello stato iniziali della destinazione da parte del Gateway Load Balancer.

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.

Codice di motivo correlato: Target.FailedHealthChecks

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

Lo stato della destinazione non è disponibile.

Codice di motivo correlato: Elb.InternalError

Codici di motivo di controllo dello stato

Se lo stato di una destinazione è un valore diverso da Healthy, l'API restituisce un codice di motivo 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 Gateway Load Balancer e i codici di motivo che iniziano con Target vengono creati nella parte relativa ai target.

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.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 di destinazione non è configurato per la ricezione del traffico dal Gateway Load Balancer.

Il target si trova in una zona di disponibilità che non è abilitata per il Gateway Load Balancer

Target.NotRegistered

Il target non è registrato nel gruppo target

Scenari di errore della destinazione del Gateway Load Balancer

Flussi esistenti: per impostazione predefinita, i flussi esistenti vanno alla stessa destinazione a meno che il flusso non scada o non venga ripristinato, indipendentemente dallo stato di integrità e di registrazione del target. Questo approccio facilita lo svuotamento della connessione e supporta firewall di terze parti che a volte non sono in grado di rispondere ai controlli dell'integrità a causa dell'elevato utilizzo della CPU. Per ulteriori informazioni, consulta Target failover.

Nuovi flussi: i nuovi flussi vengono inviati a una destinazione integra. Una volta presa una decisione di bilanciamento del carico per un flusso, il Gateway Load Balancer invierà il flusso alla stessa destinazione anche se non integra o in presenza di altre destinazioni integre.

Quando tutti le destinazioni non sono integre, il Gateway Load Balancer sceglie una destinazione casuale e inoltra il traffico per l'intera durata del flusso, fino a quando non viene ripristinato o non scade il timeout. Poiché il traffico viene inoltrato a una destinazione non integra, il traffico viene interrotto finché tale destinazione non ricomincia a funzionare.

TLS 1.3: se un gruppo di destinazione è configurato con i controlli di integrità HTTPS, le destinazioni registrate non superano i controlli di integrità se supportano solo TLS 1.3. Queste destinazioni devono supportare una versione precedente di TLS, come TLS 1.2.

Bilanciamento del carico del carico tra zone: per impostazione predefinita, il bilanciamento del carico tra le zone di disponibilità è disabilitato. Se il bilanciamento del carico tra le zone è abilitato, ogni Gateway Load Balancer è in grado di vedere tutte le destinazioni in tutte le zone di disponibilità e vengono tutte trattate allo stesso modo, indipendentemente dalla zona.

Le decisioni relative al bilanciamento del carico e al controllo dell'integrità sono sempre indipendenti tra le zone. Anche quando il bilanciamento del carico tra le zone è abilitato, il comportamento dei flussi esistenti e dei nuovi flussi è lo stesso descritto sopra. Per ulteriori informazioni, consulta Bilanciamento del carico su più zone nella Guida per l'utente di Elastic Load Balancing.

Controllo dello stato delle destinazioni

È possibile controllare lo stato dei target registrato con i gruppi target.

Per controllare lo stato dei target utilizzando la console
  1. Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel riquadro di navigazione, sotto Bilanciamento del carico, scegli Gruppi di destinazioni.

  3. Scegli il nome del gruppo di destinazione per visualizzarne i dettagli.

  4. Nella scheda Target, la colonna Stato indica lo stato di ogni destinazione.

  5. Se lo stato di destinazione è un valore diverso da Healthy, la colonna Dettagli dello stato contiene ulteriori informazioni.

Per verificare lo stato di salute dei tuoi bersagli, utilizza il AWS CLI

Utilizza il comando describe-target-health. L'output di questo comando contiene lo stato del target. Include un codice di motivo, se lo stato è un valore diverso da Healthy.

Per ricevere notifiche via e-mail su destinazioni non integre

Usa gli CloudWatch allarmi per attivare una funzione Lambda per inviare dettagli su obiettivi non sani. Per step-by-step istruzioni, consulta il seguente post sul blog: Identificazione degli obiettivi non integri del sistema di bilanciamento del carico.

Modifica le impostazioni del controllo dell'integrità

È anche possibile modificare alcune delle impostazioni di controllo dello stato per il gruppo target.

Per modificare le impostazioni di controllo dello stato per un gruppo target utilizzando la console
  1. Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel riquadro di navigazione, sotto Bilanciamento del carico, scegli Gruppi di destinazioni.

  3. Scegli il nome del gruppo di destinazione per visualizzarne i dettagli.

  4. Nella scheda Dettagli del gruppo, nella sezione Impostazioni del controllo dell'integrità, scegli Modifica.

  5. Nella pagina Modifica le impostazioni del controllo dell'integrità, modificare le impostazioni secondo necessità, quindi scegliere Salva modifiche.

Per modificare le impostazioni del controllo dello stato di salute per un gruppo target utilizzando il AWS CLI

Utilizza il comando modify-target-group.