Questa pagina descrive come configurare un deployment ad alta disponibilità con bilanciatori del carico delle applicazioni esterni regionali. Per ottenere un'alta disponibilità, implementa più bilanciatori del carico delle applicazioni esterni regionali individuali nelle regioni che supportano meglio il traffico della tua applicazione. Ciò funziona perché i bilanciatori del carico delle applicazioni esterni regionali in regioni diverse non sono solo isolati l'uno dall'altro, ma anche da qualsiasi bilanciatore del carico delle applicazioni esterno globale o bilanciatore del carico delle applicazioni classico in esecuzione nella stessa regione.
Utilizza una policy di routing basata sulla geolocalizzazione di Cloud DNS per indirizzare il traffico a due o più bilanciatori del carico in regioni diverse. Il criterio indirizza il traffico alla regione disponibile più vicina in base all'origine della richiesta del client. Ti consigliamo inoltre di utilizzare i controlli di integrità in modo che Trusted 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.
Utilizzare i controlli di integrità per rilevare errori a livello di regione
Trusted Cloud utilizza i controlli di integrità per rilevare se i bilanciatori del carico sono integri. Configura questi controlli di integrità per 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 dal Nord America e dall'Europa, puoi avere probe provenienti da due o più regioni del Nord America e probe provenienti da due o più regioni d'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.
- I probe del controllo di integrità provengono da un Point of Presence (PoP) su internet a una piccola distanza dalla regione di origine Trusted Cloudconfigurata.
Instradare il traffico ai bilanciatori del carico integri
Trusted Cloud utilizza un criterio di routing basato sulla geolocalizzazione di Cloud DNS per indirizzare il traffico ai bilanciatori del carico. Quando tutti i bilanciatori del carico sono integri, Cloud DNS indirizza 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 instradato ai bilanciatori del carico integri disponibili in altre regioni.
Eseguire il failback per utilizzare tutti i bilanciatori del carico
Il failback è automatico quando i controlli di integrità iniziano di nuovo a essere superati. Non è previsto alcun tempo di inattività durante il failback perché tutti i bilanciatori del carico disponibili gestiscono il traffico.
Configura il bilanciamento del carico tra regioni
Per configurare un deployment tra regioni che facilita l'alta disponibilità, segui questi passaggi:
- Crea bilanciatori del carico delle applicazioni esterni regionali nelle regioni che ritieni supportino 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 posizione del client e per indirizzare il traffico lontano da un bilanciatore del carico non integro in caso di interruzione.
Crea bilanciatori del carico in più regioni
Tieni presente le seguenti considerazioni durante la configurazione dei bilanciatori del carico ridondanti aggiuntivi:
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, le stesse norme Cloud Armor e le stesse impostazioni di gestione del traffico per tutti i bilanciatori del carico delle applicazioni esterni regionali.
Ti consigliamo di utilizzare un framework di automazione come Terraform per ottenere e mantenere la coerenza nelle configurazioni del bilanciamento del carico nei diversi deployment regionali.
Ti consigliamo di configurare bilanciatori del carico delle applicazioni esterni regionali in ogni regione che ritieni possa supportare al meglio il traffico per la tua applicazione.
I bilanciatori del carico delle applicazioni esterni regionali supportano sia il livello Premium che Standard di Network Service Tiers. Ti consigliamo di configurare i bilanciatori del carico delle applicazioni esterni regionali aggiuntivi nel livello Premium per garantire una bassa latenza.
Per scoprire come configurare un bilanciatore del carico delle applicazioni esterno regionale, consulta Configura un bilanciatore del carico delle applicazioni esterno regionale con backend di gruppi di istanze VM.
Configura Cloud DNS e i controlli di integrità
Questa sezione descrive come utilizzare Cloud DNS e i Trusted Cloud controlli di integrità per configurare l'ambiente Cloud Load Balancing in modo da rilevare le interruzioni e instradare il traffico ai bilanciatori del carico in altre regioni.
Per configurare il controllo di integrità e le norme di routing richiesti:
Crea un controllo di integrità per l'indirizzo IP della regola di forwarding del bilanciatore del carico principale.
gcloud 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 Trusted Cloud regioni da cui vengono inviati i probe di controllo di integrità. 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 successivo emesso dallo stesso prober. Il valore minimo supportato è 30 secondi. Per i valori consigliati, consulta Best practice.HEALTHY_THRESHOLD
eUNHEALTHY_THRESHOLD
: specifica il numero di probe sequenziali che devono riuscire o non riuscire affinché l'istanza VM sia considerata integra o non integra. Se uno dei due viene omesso, Trusted Cloud utilizza una soglia predefinita di 2.REQUEST_PATH
: il percorso dell'URL a cui Trusted Cloud invia le richieste di probe di controllo di integrità. Se omesso, Trusted Cloud invia richieste di probe al percorso principale,/
. Se gli endpoint sottoposti a controllo di integrità sono privati, il che non è tipico per gli indirizzi IPregola di forwardingg esterno, puoi impostare questo percorso su/afhealthz
.
In Cloud DNS, crea un insieme di record e applica un criterio di routing basato sulla geolocalizzazione.
gcloud 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, del record. Per i valori consigliati, vedi Considerazioni sul DNS.RECORD_TYPE
: il tipo di record, ad esempioA
MANAGED_ZONE_NAME
: il nome della zona gestita di cui vuoi gestire i record set, ad esempiomy-zone-name
FORWARDING_RULE_NAME
: i nomi delle regole di forwarding per il bilanciatore del carico in ogniREGION
REGION
: le regioni in cui viene deployato ogni bilanciatore del carico
Best practice
Ecco alcune best practice da tenere a mente quando configuri il record Cloud DNS e i controlli di integrità:
Il tempo necessario per il routing del traffico dai bilanciatori del carico non integri a quelli integri (ovvero la durata dell'interruzione) dipende dal valore TTL DNS, dall'intervallo del controllo di integrità e dal parametro soglia non integra del controllo di integrità.
Con Cloud DNS di Google, il limite superiore di 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 DNS su un valore compreso tra 30 e 60 secondi. TTL più elevati comportano tempi di inattività più lunghi perché i client su internet continuano ad accedere ai bilanciatori del carico non integri anche dopo il failover del DNS in altre regioni.
Configura i parametri di soglia di integrità e non integrità nei controlli di integrità in modo da evitare il reindirizzamento improvviso e non necessario del traffico a causa di errori temporanei. Soglie più alte aumentano il tempo necessario per il trasferimento del traffico ai bilanciatori del carico in altre regioni.