Questa pagina descrive come configurare un deployment ad alta disponibilità di Application Load Balancer esterni regionali. Per ottenere una disponibilità elevata, esegui il deployment singoli bilanciatori del carico delle applicazioni esterni regionali nelle regioni che supportano al meglio le tue del traffico dell'applicazione. Questo funziona perché i bilanciatori del carico delle applicazioni esterni regionali regioni diverse non solo sono isolate tra loro, ma sono anche da qualsiasi infrastruttura del bilanciatore del carico delle applicazioni esterno globale o del bilanciatore del carico delle applicazioni classico in esecuzione nella stessa regione.
Utilizza un criterio di routing per la geolocalizzazione Cloud DNS per instradare il traffico verso due o più bilanciatori del carico in regioni diverse. Il criterio inoltra il traffico alla sezione regione più vicina disponibile in base all'origine della richiesta del cliente. Inoltre, ti consigliamo di utilizzare i controlli di integrità in modo che Google Cloud possa rilevare eventuali interruzioni regionali e instradare il traffico solo ai bilanciatori del carico integri.
Ecco una configurazione di esempio che mostra due bilanciatori del carico delle applicazioni esterni regionali in due regioni diverse.
Le sezioni seguenti descrivono un flusso di lavoro tipico con i diversi componenti coinvolti in questa configurazione.
Usa i controlli di integrità per rilevare errori a livello di regione
Google Cloud utilizza i controlli di integrità per rilevare se i bilanciatori del carico sono integri. Configura questi controlli di integrità in modo da inviare probe da tre regioni di origine. Queste tre regioni di origine devono essere rappresentative delle regioni da cui i tuoi clienti accedono ai bilanciatori del carico. Ad esempio, se hai un bilanciatore del carico delle applicazioni esterno regionale con la maggior parte del traffico client proveniente da Nord America ed Europa, puoi avere sonde provenienti da due o più regioni in Nord America e da due o più regioni in Europa.
Note aggiuntive:
- Devi specificare esattamente tre regioni di origine quando crei il controllo di integrità. Solo i controlli di integrità globali possono specificare le regioni di origine.
- Sono supportati i controlli di integrità HTTP, HTTPS e TCP.
- Le sonde di controllo di integrità provengono in realtà da un punto di presenza (PoP) su internet a breve distanza dalla regione di origine Google Cloud configurata.
Indirizzare il traffico ai bilanciatori del carico in buono stato
Google Cloud utilizza un criterio di routing per la geolocalizzazione di Cloud DNS per indirizzare il traffico ai bilanciatori del carico. Quando tutti i bilanciatori del carico sono operativi, Cloud DNS instrada il traffico al bilanciatore del carico geograficamente più vicino all'origine della richiesta del client.
Quando un bilanciatore del carico in una determinata regione inizia a non superare i controlli di integrità, il traffico viene indirizzato ai bilanciatori del carico integri disponibili in altre regioni.
Eseguire il failback all'utilizzo di tutti i bilanciatori del carico
Il failback è automatico quando i controlli di integrità iniziano a essere superati di nuovo. Non sono presenti previsto un tempo di inattività durante il failover perché tutti i bilanciatori del carico gestire il traffico.
Configura il bilanciamento del carico tra regioni
Per configurare un deployment tra regioni che facilita l'alta disponibilità, svolgi i seguenti passaggi:
- Crea bilanciatori del carico delle applicazioni esterni regionali nelle regioni che ritieni supportino al meglio il traffico per la tua applicazione. Ciascuno di questi bilanciatori del carico deve avere la stessa configurazione di gestione del traffico e sicurezza.
- Crea il controllo di integrità e il criterio di routing DNS per indirizzare il traffico ai bilanciatori del carico in base alla località del client instrada il traffico da un bilanciatore del carico non integro in caso di interruzione.
Crea bilanciatori del carico in più regioni
Tieni presenti le seguenti considerazioni durante la configurazione bilanciatori del carico:
Configura tutti i bilanciatori del carico delle applicazioni esterni regionali con funzionalità simili in modo che il traffico venga elaborato in modo coerente, indipendentemente dal bilanciatore del carico che gestisce la richiesta. Ad esempio, devi assicurarti di utilizzare lo stesso tipo di Certificato SSL, gli stessi criteri Google Cloud Armor e lo stesso traffico per tutti gli Application Load Balancer esterni regionali.
Per aiutarti, ti consigliamo di utilizzare un framework di automazione come Terraform raggiungere e mantenere la coerenza nelle configurazioni dei bilanciatori del carico ai diversi deployment a livello di regione.
Ti consigliamo di configurare bilanciatori del carico delle applicazioni esterni regionali in ogni regione in cui è in grado di supportare al meglio il traffico della tua applicazione.
I bilanciatori del carico delle applicazioni esterni regionali supportano sia Premium che Standard Network Service Tiers. Ti consigliamo di configurare l' Application Load Balancer esterni regionali nel livello Premium per garantire una bassa latenza.
Per scoprire come configurare un bilanciatore del carico delle applicazioni esterno regionale, vedi Configurare un Bilanciatore del carico delle applicazioni esterno regionale con gruppo di istanze VM di backend.
Configura Cloud DNS e i controlli di integrità
Questa sezione descrive come utilizzare Cloud DNS e i controlli di salute di Google Cloud per configurare l'ambiente di bilanciamento del carico Cloud in modo da rilevare gli arresti anomali e instradare il traffico ai bilanciatori del carico in altre regioni.
Segui questi passaggi per configurare il controllo di integrità e il routing richiesti norme:
Crea un controllo di integrità per l'IP della regola di forwarding del bilanciatore del carico principale .
gcloud beta compute health-checks create http HEALTH_CHECK_NAME \ --global \ --source-regions=SOURCE_REGION_1,SOURCE_REGION_2,SOURCE_REGION_3 \ --use-serving-port \ --check-interval=HEALTH_CHECK_INTERVAL \ --healthy-threshold=HEALTHY_THRESHOLD \ --unhealthy-threshold=UNHEALTHY_THRESHOLD \ --request-path=REQUEST_PATH
Sostituisci quanto segue:
HEALTH_CHECK_NAME
: il nome del controllo di integritàSOURCE_REGION
: le tre regioni Google Cloud da cui vengono inviati i controlli di salute. Devi specificare esattamente tre regioni di origine.HEALTH_CHECK_INTERVAL
: il tempo in secondi dall'inizio di un probe emesso da un prober all'inizio del probe successivo emesso dallo stesso prober. Il valore minimo supportato è 30 secondi. Per i valori consigliati, consulta le best practice.HEALTHY_THRESHOLD
eUNHEALTHY_THRESHOLD
: specifica il numero di verifiche sequenziali che devono essere riuscite o non riuscite affinché l'istanza VM sia considerata integra o non integra. Se uno dei due viene omesso, Google Cloud utilizza un'istanza soglia predefinita di 2.REQUEST_PATH
: il percorso dell'URL a cui Google Cloud invia richieste di sonde di controllo dell'integrità. Se omesso, Google Cloud invia richieste di ispezione al percorso principale/
. Se gli endpoint sottoposti a controllo di integrità sono privati, il che non è tipico per gli indirizzi IP delle regole di inoltro esterne, puoi impostare questo percorso su/afhealthz
.
In Cloud DNS, crea un insieme di record e applica un criterio di routing per la geolocalizzazione.
gcloud beta dns record-sets create DNS_RECORD_SET_NAME \ --ttl=TIME_TO_LIVE \ --type=RECORD_TYPE \ --zone="MANAGED_ZONE_NAME" \ --routing-policy-type="GEO" \ --routing-policy-data="FORWARDING_RULE_NAME_A@REGION_A;FORWARDING_RULE_NAME_B@REGION_B[,;FORWARDING_RULE_NAME_C@REGION_C]" \ --health-check=HEALTH_CHECK_NAME
Sostituisci quanto segue:
DNS_RECORD_SET_NAME
: il nome DNS o di dominio del set di record da aggiungere, ad esempiotest.example.com
TIME_TO_LIVE
: la durata (TTL), in secondi, per il record. Per i valori consigliati, consulta la sezione DNS considerazioni.RECORD_TYPE
: il tipo di record, ad esempioA
MANAGED_ZONE_NAME
: il nome della zona gestita i cui set di record vuoi gestire, ad esempiomy-zone-name
FORWARDING_RULE_NAME
: i nomi delle regole di inoltro per il bilanciatore del carico in ogniREGION
REGION
: le regioni in cui è dispiegato ogni bilanciatore del carico
Best practice
Ecco alcune best practice da tenere a mente quando configuri il record e i controlli di integrità di Cloud DNS:
Il tempo necessario per instradare il traffico da carico non integro a carico integro bilanciatori del carico (ovvero la durata dell'interruzione) dipendono dal valore TTL del DNS, l'intervallo del controllo di integrità e il controllo di integrità non è integro soglia.
Con Cloud DNS di Google, il limite superiore per questo periodo può essere calcolato utilizzando la seguente formula:
Duration of outage = DNS TTL + Health Check Interval * Unhealthy Threshold
Ti consigliamo di impostare il TTL del DNS su un valore compreso tra 30 e 60 secondi. TTL più elevati comportano tempi di riposo più lunghi perché i client su internet continuano ad accedere ai bilanciatori del carico non funzionanti anche dopo il passaggio del DNS ad altre regioni.
Configura i parametri di soglia di stato integro e non integro nei controlli di integrità in modo da evitare il reindirizzamento brusco e non necessario del traffico a causa di errori transitori. Soglie più elevate aumentano il tempo necessario per il trasferimento del traffico ai bilanciatori del carico in altre regioni.