Integrità del gruppo di destinazione - 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à.

Integrità del gruppo di destinazione

Per impostazione predefinita, un gruppo di destinazioni è considerato integro purché contenga almeno una destinazione integra. Se disponi di un parco istanze di grandi dimensioni, non è sufficiente avere una sola destinazione integra per la distribuzione del traffico. Al contrario, è possibile specificare un numero o percentuale minimi di destinazioni che devono essere integre e quali operazioni svolge il sistema di bilanciamento del carico quando le destinazioni integre scendono al di sotto della soglia specificata. In questo modo si migliora la disponibilità.

Operazioni per lo stato di non integrità

È possibile configurare soglie di integrità per le seguenti operazioni:

  • Failover DNS: quando le destinazioni integre in una zona scendono al di sotto della soglia, gli indirizzi IP del nodo del sistema di bilanciamento del carico di tale zona vengono contrassegnati come non integri nel DNS. Pertanto, quando i client risolvono il nome DNS del sistema di bilanciamento del carico, il traffico viene instradato solo nelle zone integre.

  • Failover di instradamento: quando le destinazioni integre in una zona scendono al di sotto della soglia, il sistema di bilanciamento del carico invia traffico a tutte le destinazioni disponibili nel nodo del sistema di bilanciamento del carico, comprese le destinazioni non integre. In questo modo si aumentano le possibilità di successo di una connessione client, soprattutto quando le destinazioni non superano temporaneamente i controlli dell'integrità, e si riduce il rischio di sovraccaricare le destinazioni integre.

Requisiti e considerazioni

  • Se per un'operazione vengono specificati entrambi i tipi di soglia (numero e percentuale), il sistema di bilanciamento del carico esegue l'operazione quando viene superata una delle due soglie.

  • Se viene specificata una soglia per entrambe le operazioni, la soglia per il failover DNS dev'essere maggiore o uguale alla soglia per il failover di instradamento, in modo che il failover DNS si verifichi insieme o prima rispetto al failover di instradamento.

  • Se la soglia viene specificata in percentuale, il valore viene calcolato in modo dinamico, sulla base del numero totale di destinazioni registrato nei gruppi di destinazioni.

  • Il numero totale di destinazioni si basa sull'attivazione o meno del bilanciamento del carico tra zone. Se il bilanciamento del carico tra zone è disattivato, ogni nodo invia il traffico solo alle destinazioni nella propria zona, il che significa che le soglie vengono applicate separatamente al numero di destinazioni in ogni zona abilitata. Se il bilanciamento del carico tra zone è attivato, ogni nodo invia il traffico a tutte le destinazioni in tutte le zone abilitate, il che significa che le soglie specificate vengono applicate al numero totale di destinazioni in tutte le zone abilitate. Per ulteriori informazioni, consulta Bilanciamento del carico tra zone.

  • Con il failover DNS, gli indirizzi IP delle zone non integre vengono rimossi dal nome host DNS del sistema di bilanciamento del carico. Tuttavia, la cache DNS del client locale potrebbe contenere questi indirizzi IP fino alla scadenza del time-to-live (TTL) nel record DNS (60 secondi).

  • Quando si verifica un failover DNS, ciò influisce su tutti i gruppi di destinazioni associati al sistema di bilanciamento del carico. È necessario assicurarsi di disporre di capacità sufficiente nelle zone rimanenti per gestire il traffico aggiuntivo, soprattutto se il bilanciamento del carico tra zone è disattivato.

  • Con il failover DNS, se tutte le zone del sistema di bilanciamento del carico sono considerate non integre, il sistema invia il traffico a tutte le zone, comprese quelle non integre.

  • Oltre alla presenza di destinazioni integre sufficienti, vi sono altri fattori che possono portare al failover DNS, come l'integrità della zona.

Esempio

L'esempio seguente illustra come vengono applicate le impostazioni di integrità del gruppo di destinazioni.

Scenario
  • Un sistema di bilanciamento del carico che supporta le due zone di disponibilità A e B

  • Ogni zona di disponibilità contiene 10 destinazioni registrate

  • Il gruppo di destinazioni dispone delle seguenti impostazioni di integrità del gruppo di destinazioni:

    • Failover DNS: 50%

    • Failover di instradamento: 50%

  • Nella zona di disponibilità B non superano i controlli

Se il bilanciamento del carico tra zone è disattivato
  • Il nodo del sistema di bilanciamento del carico in ogni zona di disponibilità può inviare il traffico solo alle 10 destinazioni presenti nella propria zona.

  • Nella zona di disponibilità A sono presenti 10 destinazioni integre, che soddisfano la percentuale richiesta di destinazioni integre. Il sistema di bilanciamento del carico continua a distribuire il traffico nelle 10 destinazioni integre.

  • Nella zona di disponibilità B sono presenti solo 4 zone integre, che rappresentano solo il 40% delle destinazioni per il nodo del sistema di bilanciamento del carico presente in tale zona. Dato che questa percentuale è inferiore a quella di destinazioni integre richiesta, il sistema di bilanciamento del carico esegue le seguenti operazioni:

    • Failover DNS: la zona di disponibilità B viene contrassegnata come non integra nel DNS. Dato che i client non possono risolvere il nome del sistema di bilanciamento del carico per ricavare il nodo del sistema nella zona di disponibilità B e la zona di disponibilità A è integra, i client inviano le nuove connessioni alla zona di disponibilità A.

    • Failover di instradamento: quando vengono inviate nuove connessioni esplicitamente alla zona di disponibilità B, il sistema di bilanciamento del carico distribuisce il traffico a tutte le destinazioni nella zona di disponibilità B, comprese quelle non integre. In questo modo si evitano interruzioni nelle destinazioni integre rimanenti.

Se il bilanciamento del carico tra zone è attivato
  • Ogni nodo del sistema di bilanciamento del carico può inviare il traffico a tutte le 20 destinazioni registrate in entrambe le zone di disponibilità.

  • Sono presenti 10 destinazioni integre nella zona di disponibilità A e 4 nella zona di disponibilità B, per un totale di 14 destinazioni integre. Si tratta del 70% delle destinazioni dei nodi del sistema di bilanciamento del carico in entrambe le zone di disponibilità, una percentuale di destinazioni integre che soddisfa quella richiesta.

  • Il sistema di bilanciamento del carico distribuisce il traffico nelle 14 destinazioni integre in entrambe le zone di disponibilità.

Modifica delle impostazioni di integrità del gruppo di destinazioni

È possibile modificare le impostazioni di integrità del gruppo di destinazioni per tale gruppo come indicato di seguito.

Per modificare le impostazioni di integrità del gruppo di destinazioni 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 Attributi, scegli Modifica.

  5. Verifica se il bilanciamento del carico tra zone è attivato o disattivato. Aggiorna questa impostazione secondo necessità per garantire di disporre di sufficiente capacità per gestire il traffico aggiuntivo se una zona diventa non integra.

  6. Espandi Requisiti di integrità del gruppo di destinazioni.

  7. Per Tipo di configurazione, consigliamo di scegliere Configurazione unificata, che imposta la stessa soglia per entrambe le operazioni.

  8. Per Requisiti di stato di integrità, procedi in uno dei seguenti modi:

    • Scegli Numero minimo di destinazioni integre, poi inserisci un numero da 1 al numero massimo di destinazioni del gruppo di destinazioni.

    • Scegli Percentuale minima di destinazioni integre, poi inserisci un numero da 1 a 100.

  9. Seleziona Salvataggio delle modifiche.

Per modificare le impostazioni relative allo stato di salute del gruppo target utilizzando il AWS CLI

Utilizza il comando modify-target-group-attributes. L'esempio seguente imposta la soglia di integrità al 50% per entrambe le operazioni relative allo stato di integrità.

aws elbv2 modify-target-group-attributes \ --target-group-arn arn:aws:elasticloadbalancing:region:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 \ --attributes Key=target_group_health.dns_failover.minimum_healthy_targets.percentage,Value=50 \ Key=target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage,Value=50

Terminazione delle connessioni per le destinazioni non integre

La terminazione della connessione è abilitata per impostazione predefinita. Quando la destinazione di un Network Load Balancer non supera i controlli di integrità configurati ed è considerata non integra, il load balancer interrompe le connessioni stabilite e interrompe il routing di nuove connessioni verso la destinazione. Con l'interruzione della connessione disattivata, la destinazione viene comunque considerata non integra e non riceverà nuove connessioni, ma le connessioni stabilite vengono mantenute attive, permettendo loro di chiudersi senza problemi.

L'interruzione della connessione per destinazioni non integre può essere impostata individualmente per ciascun gruppo target.

Per modificare l'impostazione di terminazione delle connessioni tramite 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 Attributi, scegli Modifica.

  5. In Gestione dello stato non integro della destinazione, scegli se l'opzione Termina le connessioni quando le destinazioni diventano non integre è abilitata o disabilitata.

  6. Seleziona Salvataggio delle modifiche.

Per modificare l'impostazione della terminazione della connessione utilizzando il AWS CLI

Utilizzare il modify-target-group-attributescomando con l'target_health_state.unhealthy.connection_termination.enabledattributo.

Intervallo di drenaggio non salutare

Importante

La terminazione della connessione deve essere disattivata prima di attivare un intervallo di drenaggio non corretto.

Le destinazioni nello unhealthy.draining stato sono considerate non integre, non ricevono nuove connessioni, ma mantengono le connessioni stabilite per l'intervallo configurato. L'intervallo di connessione non integro determina il periodo di tempo in cui la destinazione rimane unhealthy.draining nello stato precedente a quello in cui si trova. unhealthy Se la destinazione supera i controlli di integrità durante l'intervallo di connessione non integro, il suo stato ritorna. healthy Se viene attivata una cancellazione, lo stato di destinazione diventa draining e inizia il timeout del ritardo di annullamento.

L'intervallo di drenaggio non salutare può essere impostato individualmente per ciascun gruppo target.

Per modificare l'intervallo di drenaggio non salutare 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 Attributi, scegli Modifica.

  5. In Target unhealthy state management, assicurati che l'opzione Interrompi connessioni quando le destinazioni diventano inintegre sia disattivata.

  6. Inserisci un valore per Intervallo di drenaggio non salutare.

  7. Seleziona Salvataggio delle modifiche.

Per modificare l'intervallo di drenaggio non salutare, utilizzare il AWS CLI

Utilizzate il modify-target-group-attributescomando con l'attributo. target_health_state.unhealthy.draining_interval_seconds

Utilizzo del failover DNS Route 53 per il sistema di bilanciamento del carico

Se utilizzi Route 53 per il routing delle query DNS al bilanciamento del carico, puoi anche configurare il failover DNS per il load balancer utilizzando Route 53. In una configurazione di failover, Route 53 controlla l'integrità delle destinazioni del gruppo di destinazioni registrate per il sistema di bilanciamento del carico per determinare se siano disponibili. Se non sono disponibili destinazioni integre registrate per il sistema di bilanciamento del carico, o se il sistema di bilanciamento del carico stesso non è integro, Route 53 esegue il routing del traffico a un'altra risorsa disponibile, come un sistema di bilanciamento del carico integro o un sito web statico in Amazon S3.

Ad esempio, supponiamo che tu disponga di un'applicazione web per www.example.com e che desideri istanze ridondanti in esecuzione dietro due bilanciatori del carico che risiedono in regioni diverse. Desideri che il routing del traffico avvenga principalmente verso il load balancer in una regione e vuoi utilizzare il bilanciamento del carico nell'altra regione come backup durante i guasti. Se configuri un failover di DNS, puoi specificare i bilanciatori del carico principale e secondario (backup). Route 53 indirizza il traffico verso il bilanciamento del carico principale, se è disponibile, in caso contrario, al load balancer secondario.

Utilizzo della valutazione dello stato di destinazione
  • Quando la valutazione dello stato di destinazione è impostata su Yes su un record alias di un Network Load Balancer, Route 53 valuta l'integrità della risorsa specificata dal valore alias target. Per un sistema Network Load Balancer, Route 53 utilizza i controlli dell'integrità del gruppo di destinazione associati al sistema di bilanciamento del carico.

  • Quando tutti i gruppi di destinazione in un Network Load Balancer sono integri, Route 53 contrassegna il record alias come integro. Se un gruppo di destinazione contiene almeno una destinazione integra, il controllo dell'integrità ha esito positivo. Route 53 restituisce quindi i record in base alla policy di routing. Se viene utilizzata la policy di routing di failover, Route 53 restituisce il record principale.

  • Se uno dei gruppi di destinazione di un Network Load Balancer non è integro, il record alias non supera il controllo dell'integrità di Route 53 (fail-open). Se si utilizza la valutazione dello stato di destinazione, la policy di routing di failover avrà esito negativo.

  • Se tutti i gruppi di destinazione in un Network Load Balancer sono vuoti (nessuna destinazione), Route 53 considera il record non integro (fail-open). Se si utilizza la valutazione dello stato di destinazione, la policy di routing di failover avrà esito negativo.

Per ulteriori informazioni, consulta Configurazione di un failover DNS nella Guida per gli sviluppatori di Amazon Route 53.