Questa guida utilizza un esempio per insegnarti a configurare il failover per un bilanciatore del carico di rete passthrough esterno con un servizio di backend. Prima di seguire questa guida, acquisisci familiarità con quanto segue:
- Panoramica del bilanciatore del carico di rete passthrough esterno con un servizio di backend
- Concetti sul failover per i bilanciatori del carico di rete passthrough esterni
- Panoramica delle regole firewall
- Concetti sul controllo di integrità
Autorizzazioni
Per seguire questa guida, devi creare istanze e modificare una rete in un progetto. Devi essere un proprietario o un editor del progetto oppure devi disporre di tutti i seguenti ruoli IAM di Compute Engine:
Attività | Ruolo richiesto |
---|---|
Crea componenti del bilanciatore del carico | Amministratore di rete |
Aggiungere e rimuovere regole firewall | Amministratore della sicurezza |
Creazione delle istanze | Amministratore istanze Compute |
Per ulteriori informazioni, consulta le seguenti guide:
Configurazione
Questa guida mostra come configurare e testare un bilanciatore del carico di rete passthrough esterno che utilizza il failover. I passaggi descritti in questa sezione spiegano come configurare quanto segue:
- VM di backend:
- Un backend principale in un gruppo di istanze non gestite nella zona
us-west1-a
- Un backend di failover in un gruppo di istanze non gestite nella zona
us-west1-c
- Un backend principale in un gruppo di istanze non gestite nella zona
- Regole firewall che consentono le connessioni in entrata alle VM di backend
- Una VM client per testare le connessioni e osservare il comportamento del failover
- I seguenti componenti del bilanciatore del carico di rete passthrough esterno:
- Un controllo di integrità per il servizio di backend
- Un servizio di backend nella regione
us-west1
per gestire la distribuzione delle connessioni tra le VM di backend - Una regola di forwarding e un indirizzo IP per il frontend del bilanciatore del carico
L'architettura di questo esempio ha il seguente aspetto:
Creazione di VM e gruppi di istanze di backend
In questo passaggio, creerai le VM di backend e i gruppi di istanze non gestite:
- Il gruppo di istanze
ig-a
inus-west1-a
è un backend primario con due VM:vm-a1
vm-a2
- Il gruppo di istanze
ig-c
inus-west1-c
è un backend di failover con due VM:vm-c1
vm-c2
I backend principali e di failover vengono posizionati in zone separate per la chiarezza delle istruzioni e per gestire il failover in caso di interruzione di una zona.
Ogni VM principale e di backup è configurata per eseguire un server web Apache sulla porta TCP 80. Per impostazione predefinita, Apache è configurato per eseguire il binding a qualsiasi indirizzo IP. I bilanciatori del carico di rete inviano i pacchetti preservando l'IP di destinazione.
Assicurati che il software del server in esecuzione sulle VM principali e di backup sia in ascolto sull'indirizzo IP della regola di forwarding del bilanciatore del carico. L'indirizzo IP di destinazione di un pacchetto consegnato a una VM di backend da un bilanciatore del carico di rete passthrough esterno è l'indirizzo IP della regola di forwarding.
Per semplicità di istruzione, tutte le VM principali e di backup eseguono Debian GNU/Linux 9.
Console
Crea VM di backend
- Nella console Google Cloud, vai alla pagina Istanze VM. Vai a Istanze VM
- Ripeti i seguenti passaggi per creare quattro VM utilizzando le seguenti combinazioni di nome e zona.
- Nome:
vm-a1
, zona:us-west1-a
- Nome:
vm-a2
, zona:us-west1-a
- Nome:
vm-c1
, zona:us-west1-c
- Nome:
vm-c2
, zona:us-west1-c
- Nome:
- Fai clic su Crea istanza.
- Imposta il Nome come indicato nel passaggio 2.
- In Regione, scegli
us-west1
e poi una Zona come indicato nel passaggio 2. - Nella sezione Disco di avvio, assicurati che l'immagine selezionata sia Debian GNU/Linux 12 (bookworm). Fai clic su Scegli per modificare l'immagine, se necessario.
- Fai clic su Opzioni avanzate.
- Fai clic su Networking e configura il seguente campo:
- In Tag di rete, inserisci
network-lb
.
- In Tag di rete, inserisci
Fai clic su Gestione. Inserisci lo script che segue nel campo Script di avvio. I contenuti dello script sono identici per tutte e quattro le VM:
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2
Fai clic su Crea.
Creare gruppi di istanze
Nella console Google Cloud, vai alla pagina Gruppi di istanze.
Ripeti i seguenti passaggi per creare due gruppi di istanze non gestite, ciascuno con due VM, utilizzando queste combinazioni.
- Gruppo di istanze:
ig-a
, zona:us-west1-a
, VM:vm-a1
evm-a2
- Gruppo di istanze:
ig-c
, zona:us-west1-c
, VM:vm-c1
evm-c2
- Gruppo di istanze:
Fai clic su Crea gruppo di istanze.
Fai clic su Nuovo gruppo di istanze non gestite.
Imposta Nome come indicato nel passaggio 2.
Nella sezione Località, scegli
us-west1
per Regione, quindi scegli una Zona come indicato nel passaggio 2.In Rete, inserisci
default
.Nella sezione Istanze VM, aggiungi le VM come indicato nel passaggio 2.
Fai clic su Crea.
gcloud
Crea quattro VM eseguendo quattro volte il seguente comando, utilizzando queste quattro combinazioni per
VM-NAME
eZONE
. I contenuti dello script sono identici per tutte e quattro le VM.VM-NAME
divm-a1
eZONE
dius-west1-a
VM-NAME
divm-a2
eZONE
dius-west1-a
VM-NAME
divm-c1
eZONE
dius-west1-c
VM-NAME
divm-c2
eZONE
dius-west1-c
gcloud compute instances create VM-NAME \ --zone=ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=network-lb \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
Crea i due gruppi di istanze non gestite in ogni zona:
gcloud compute instance-groups unmanaged create ig-a \ --zone us-west1-a gcloud compute instance-groups unmanaged create ig-c \ --zone us-west1-c
Aggiungi le VM ai gruppi di istanze appropriati:
gcloud compute instance-groups unmanaged add-instances ig-a \ --zone us-west1-a \ --instances vm-a1,vm-a2 gcloud compute instance-groups unmanaged add-instances ig-c \ --zone us-west1-c \ --instances vm-c1,vm-c2
Configurazione delle regole del firewall
Crea una regola firewall che consenta al traffico esterno di raggiungere le istanze di backend.
Console
Nella console Google Cloud, vai alla pagina Criteri firewall.
Fai clic su Crea regola firewall per creare la regola che consente il traffico da qualsiasi origine. Utilizza i seguenti valori:
- Nome:
allow-network-lb
. - Rete:
default
- Priorità:
1000
- Direzione del traffico: In entrata
- Azione in caso di corrispondenza: Consenti.
- Target: Tag di destinazione specificati
- Tag di destinazione:
network-lb
- Filtro di origine: intervalli IPv4
- Intervalli IPv4 di origine:
0.0.0.0/0
, che consente il traffico da qualsiasi origine. In questo modo, sia il traffico esterno sia i probe di controllo di integrità possono raggiungere le istanze di backend. - Protocolli e porte: scegli Protocolli e porte specificati.
Seleziona la casella di controllo TCP e inserisci
80
.
- Nome:
Fai clic su Crea.
Fai di nuovo clic su Crea regola firewall per creare la regola che consente le connessioni SSH in entrata alle istanze. Utilizza i seguenti valori:
- Nome:
allow-ssh
- Rete:
default
- Priorità:
1000
- Direzione del traffico: In entrata
- Azione in caso di corrispondenza: Consenti
- Target: Tag di destinazione specificati
- Tag di destinazione:
network-lb
- Filtro di origine: intervalli IPv4
- Intervalli IPv4 di origine:
0.0.0.0/0
- Protocolli e porte: scegli Protocolli e porte specificati.
Seleziona la casella di controllo TCP e inserisci
22
.
- Nome:
Fai clic su Crea.
gcloud
gcloud compute firewall-rules create allow-network-lb \ --target-tags network-lb \ --allow tcp:80
gcloud compute firewall-rules create allow-ssh \ --target-tags network-lb \ --allow tcp:22
Configurazione dei componenti del bilanciatore del carico
Questi passaggi configurano i seguenti componenti del bilanciatore del carico di rete passthrough esterno:
Controllo di integrità: questo esempio utilizza un controllo di integrità HTTP che controlla semplicemente una risposta HTTP
200
(OK).Servizio di backend: poiché l'esempio trasmette il traffico HTTP attraverso il bilanciatore del carico, la configurazione specifica TCP, non UDP. Per illustrare il failover, questo servizio di backend ha un rapporto di failover pari a
0.75
.Regola di forwarding: questo esempio crea una singola regola di forwarding.
Console
Avvia la configurazione
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
- Fai clic su Crea bilanciatore del carico.
- In Tipo di bilanciatore del carico, seleziona Bilanciatore del carico di rete (TCP/UDP/SSL) e fai clic su Avanti.
- Per Proxy o passthrough, seleziona Bilanciatore del carico passthrough e fai clic su Avanti.
- In Pubblico o interno, seleziona Pubblico (esterno) e fai clic su Avanti.
- Fai clic su Configura.
Configurazione backend
- Nella pagina Crea bilanciatore del carico di rete passthrough esterno, inserisci un nome di
tcp-network-lb
per il nuovo bilanciatore del carico. - Fai clic su Configurazione backend. Viene visualizzato il nome del bilanciatore del carico inserito in precedenza, ma non è modificabile.
- Fai clic su Configurazione backend e apporta le seguenti modifiche:
- In Regione, seleziona us-west1.
- In Backend, utilizza il menu a discesa Gruppo di istanze per selezionare
ig-a
. Fai clic su Fine. - Fai clic su Aggiungi backend e ripeti questo passaggio per aggiungere
ig-c
. Seleziona la casella di controllo Usa questo gruppo di istanze come gruppo di failover per il backup. - In Controllo di integrità, scegli Crea un altro controllo di integrità o
Crea un altro controllo di integrità, inserisci le seguenti informazioni:
- Nome:
hc-http-80
- Protocollo:
TCP
- Porta:
80
- Nome:
- Fai clic su Salva e continua.
- Fai clic su Configurazioni avanzate.
- In Rapporto di failover, inserisci
0.75
. - Verifica che sia presente un segno di spunta blu accanto a Configurazione backend prima di continuare.
Configurazione frontend
- Fai clic su Configurazione frontend.
- Inserisci un nome per
network-lb-forwarding-rule
. - In IP, fai clic sul menu a discesa e seleziona Crea indirizzo IP.
- Nella schermata Prenota un nuovo indirizzo IP statico, assegna un nome di
network-lb-ip
. - Fai clic su Prenota.
- Nella schermata Prenota un nuovo indirizzo IP statico, assegna un nome di
- Scegli Singolo e inserisci
80
per il Numero porta. Fai clic sul pulsante Fine.
Un cerchio blu con un segno di spunta a sinistra di Configurazione frontend indica che la configurazione è andata a buon fine.
Rivedi la configurazione
- Fai clic sul pulsante Esamina e finalizza per controllare tutte le impostazioni di configurazione del bilanciatore del carico.
Se le impostazioni sono corrette, fai clic su Crea. La creazione del bilanciatore del carico richiede alcuni minuti.
Nella schermata di bilanciamento del carico, nella colonna Backend del nuovo bilanciatore del carico, dovresti vedere un segno di spunta verde che indica che il nuovo bilanciatore del carico è in stato di esecuzione.
gcloud
Crea un indirizzo IP esterno statico per il bilanciatore del carico.
gcloud compute addresses create network-lb-ip \ --region us-west1
Crea un nuovo controllo di integrità HTTP per testare la connettività TCP alle VM sulla porta 80.
gcloud compute health-checks create http hc-http-80 \ --region us-west1 \ --port 80
Crea il servizio di backend per il traffico HTTP:
gcloud compute backend-services create network-lb-backend-service \ --protocol tcp \ --region us-west1 \ --health-checks hc-http-80 \ --health-checks-region us-west1 \ --failover-ratio 0.75
Aggiungi il backend principale al servizio di backend:
gcloud compute backend-services add-backend network-lb-backend-service \ --region us-west1 \ --instance-group ig-a \ --instance-group-zone us-west1-a
Aggiungi il backend di failover al servizio di backend:
gcloud compute backend-services add-backend network-lb-backend-service \ --region us-west1 \ --instance-group ig-c \ --instance-group-zone us-west1-c \ --failover
Crea una regola di forwarding per il servizio di backend. Utilizza l'indirizzo IP riservato nel passaggio 1 come indirizzo IP esterno statico del bilanciatore di carico.
gcloud compute forwarding-rules create network-lb-forwarding-rule \ --region us-west1 \ --load-balancing-scheme external \ --address network-lb-ip\ --ports 80 \ --backend-service network-lb-backend-service
Test
Questi test mostrano come convalidare la configurazione del bilanciatore del carico e scoprire il suo comportamento previsto.
Invia traffico al bilanciatore del carico
Questa procedura invia il traffico esterno al bilanciatore del carico. Utilizzerai questa procedura per completare gli altri test.
Connettiti all'istanza VM client.
gcloud compute forwarding-rules describe network-lb-forwarding-rule \ --region us-west1
Invia una richiesta web al bilanciatore del carico utilizzando
curl
per contattare il relativo indirizzo IP.curl http://IP_ADDRESS
Prendi nota del testo restituito dal comando
curl
. Il nome della VM di backend che genera la risposta viene visualizzato in questo testo; ad esempio:Page served from: vm-a1
Test dello stato iniziale
Dopo aver configurato il bilanciatore del carico di esempio, tutte e quattro le VM di backend dovrebbero essere in stato corretto:
- le due VM principali,
vm-a1
evm-a2
- le due VM di backup,
vm-c1
evm-c2
Segui la procedura di test per inviare traffico al bilanciatore del carico.
Ripeti il secondo passaggio alcune volte. Il comportamento previsto è che il traffico venga gestito dalle due VM principali, vm-a1
e vm-a2
, perché entrambe sono in buono stato. Dovresti vedere che ogni VM principale invia una risposta circa la metà delle volte perché non è stata configurata alcuna affinità sessione per questo bilanciatore del carico.
Test del failover
Questo test simula l'errore di vm-a1
in modo da poter osservare il comportamento di failover.
Connettiti alla VM
vm-a1
.gcloud compute ssh vm-a1 --zone us-west1-a
Arresta il server web Apache. Dopo dieci secondi, Google Cloud considera questa VM non operativa. Il controllo di integrità
hc-http-80
creato durante la configurazione utilizza l'intervallo di controllo predefinito di cinque secondi e la soglia di stato non integro di due sondaggi consecutivi non riusciti.sudo apachectl stop
Segui la procedura di test per inviare traffico al bilanciatore del carico. Ripeti il secondo passaggio alcune volte. Il comportamento previsto è che il traffico venga ora gestito dalle due VM di backup
vm-c1
evm-c2
. Poiché solo una VM principale,vm-a2
, è integra, il rapporto tra VM principali integre e VM principali totali è0.5
. Questo numero è inferiore alla soglia di failover di0.75
, pertanto Google Cloud ha riconfigurato il pool attivo del bilanciatore del carico per utilizzare le VM di backup. Dovresti vedere che ogni VM di backup fornisce una risposta approssimativamente la metà delle volte a condizione che non sia stata configurata l'affinità sessione per questo bilanciatore del carico.
Test del failback
Questo test simula il failback riavviando il server Apache su vm-a1
.
Connettiti alla VM
vm-a1
.gcloud compute ssh vm-a1 --zone us-west1-a
Avvia il server web Apache e attendi 10 secondi.
sudo apachectl start
Segui la procedura di test del client. Ripeti il secondo passaggio alcune volte. Il comportamento previsto è che il traffico venga pubblicato dalle due VM principali,
vm-a1
evm-a2
. Poiché entrambe le VM principali sono integre, il rapporto tra VM principali integre e VM principali totali è1.0
, superiore alla soglia di failover di0.75
, pertanto Google Cloud ha configurato il pool attivo in modo da utilizzare di nuovo le VM principali.
Aggiunta di altre VM di backend
Questa sezione estende la configurazione di esempio aggiungendo altre VM principali e di backup al bilanciatore del carico. A tale scopo, crea altri due gruppi di istanze di backend per dimostrare che puoi distribuire le VM principali e di backup tra più zone nella stessa regione:
- Un terzo gruppo di istanze,
ig-d
inus-west1-c
, funge da backend principale con due VM:vm-d1
vm-d2
- Un quarto gruppo di istanze,
ig-b
inus-west1-a
, funge da backend di failover con due VM:vm-b1
vm-b2
L'architettura modificata per questo esempio ha il seguente aspetto:
Creare altre VM e gruppi di istanze
Segui questi passaggi per creare le VM principali e di backup aggiuntive e i relativi gruppi di istanze non gestite corrispondenti.
Console
Crea VM di backend
Nella console Google Cloud, vai alla pagina Istanze VM.
Ripeti i seguenti passaggi per creare quattro VM utilizzando le seguenti combinazioni di nome e zona.
- Nome:
vm-b1
, zona:us-west1-a
- Nome:
vm-b2
, zona:us-west1-a
- Nome:
vm-d1
, zona:us-west1-c
- Nome:
vm-d2
, zona:us-west1-c
- Nome:
Fai clic su Crea istanza.
Imposta il Nome come indicato nel passaggio 2.
In Regione, scegli
us-west1
e poi una Zona come indicato nel passaggio 2.Nella sezione Disco di avvio, assicurati che l'immagine selezionata sia Debian GNU/Linux 9 Stretch. Fai clic su Scegli per modificare l'immagine, se necessario.
Fai clic su Opzioni avanzate.
Fai clic su Networking e configura il seguente campo:
- In Tag di rete, inserisci
network-lb
.
- In Tag di rete, inserisci
Fai clic su Gestione. Inserisci lo script che segue nel campo Script di avvio. I contenuti dello script sono identici per tutte e quattro le VM:
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2
Fai clic su Crea.
Creare gruppi di istanze
Nella console Google Cloud, vai alla pagina Gruppi di istanze.
Ripeti i seguenti passaggi per creare due gruppi di istanze non gestite, ciascuno con due VM, utilizzando queste combinazioni.
- Gruppo di istanze:
ig-b
, zona:us-west1-a
, VM:vm-b1
evm-b2
- Gruppo di istanze:
ig-d
, zona:us-west1-c
, VM:vm-d1
evm-d2
- Gruppo di istanze:
Fai clic su Crea gruppo di istanze.
Fai clic su Nuovo gruppo di istanze non gestite.
Imposta Nome come indicato nel passaggio 2.
Nella sezione Località, scegli
us-west1
per Regione, quindi scegli una Zona come indicato nel passaggio 2.In Rete, inserisci
default
.Nella sezione Istanze VM, aggiungi le VM come indicato nel passaggio 2.
Fai clic su Crea.
gcloud
Crea quattro VM eseguendo quattro volte il seguente comando, utilizzando queste quattro combinazioni per
VM-NAME
eZONE
. I contenuti dello script sono identici per tutte e quattro le VM.VM-NAME
divm-b1
eZONE
dius-west1-a
VM-NAME
divm-b2
eZONE
dius-west1-a
VM-NAME
divm-d1
eZONE
dius-west1-c
VM-NAME
divm-d2
eZONE
dius-west1-c
gcloud compute instances create VM-NAME \ --zone=ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=network-lb \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
Crea i due gruppi di istanze non gestite in ogni zona:
gcloud compute instance-groups unmanaged create ig-b \ --zone us-west1-a gcloud compute instance-groups unmanaged create ig-d \ --zone us-west1-c
Aggiungi le VM ai gruppi di istanze appropriati:
gcloud compute instance-groups unmanaged add-instances ig-b \ --zone us-west1-a \ --instances vm-b1,vm-b2 gcloud compute instance-groups unmanaged add-instances ig-d \ --zone us-west1-c \ --instances vm-d1,vm-d2
Aggiunta di un backend principale
Puoi utilizzare questa procedura come modello per aggiungere un gruppo di istanze non gestite al servizio di backend di un bilanciatore del carico di rete passthrough esterno esistente come backend principale. Per la configurazione di esempio, questa procedura mostra come aggiungere il gruppo di istanze ig-d
come backend principale al bilanciatore del carico network-lb
.
Console
Modifica la configurazione del bilanciatore del carico per aggiungere un backend principale.
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
Fai clic sul bilanciatore del carico che vuoi modificare.
Fai clic su Modifica.
Fai clic su Configurazione backend e apporta le seguenti modifiche:
- In Backend, fai clic su Aggiungi backend.
- Nel menu a discesa, seleziona il gruppo di istanze da aggiungere come backend principale. In questo caso,
ig-d
. - Fai clic su Fine.
- Verifica che sia presente un segno di spunta blu accanto a Configurazione backend prima di continuare.
Rivedi la configurazione
- Fai clic sul pulsante Esamina e completa e verifica che il nuovo backend principale sia visibile in Backend.
Se le impostazioni sono corrette, fai clic su Crea. La creazione del bilanciatore del carico richiede alcuni minuti.
Nella schermata di bilanciamento del carico, nella colonna Backend del nuovo bilanciatore del carico, dovresti vedere un segno di spunta verde che indica che il nuovo bilanciatore del carico è in stato di esecuzione.
gcloud
Utilizza il seguente comando gcloud
per aggiungere un backend principale al servizio di backend di un bilanciatore del carico di rete passthrough esterno esistente.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION
dove:
BACKEND_SERVICE_NAME
è il nome del servizio di backend del bilanciatore del carico. Per l'esempio, utilizzanetwork-lb-backend-service
.INSTANCE_GROUP_NAME
è il nome del gruppo di istanze da aggiungere come backend principale. Per l'esempio, utilizzaig-d
.INSTANCE_GROUP_ZONE
è la zona in cui è definito il gruppo di istanze. Per l'esempio, utilizzaus-west1-c
.REGION
è la regione del bilanciatore del carico. Per l'esempio, utilizzaus-west1
.
Aggiunta di un backend di failover
Puoi utilizzare questa procedura come modello per aggiungere un gruppo di istanze non gestite al servizio di backend di un bilanciatore del carico di rete passthrough esterno esistente come backend di failover. Per la configurazione di esempio, questa procedura mostra come aggiungere il gruppo di istanze ig-b
come backend di failover al bilanciatore del carico network-lb
.
Console
Modifica la configurazione del bilanciatore del carico per aggiungere un backend principale.
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
Fai clic sul bilanciatore del carico che vuoi modificare.
Fai clic su Modifica.
Fai clic su Configurazione backend e apporta le seguenti modifiche:
- In Backend, fai clic su Aggiungi backend.
- Nel menu a discesa, seleziona il gruppo di istanze da aggiungere come backend di failover. In questo caso,
ig-b
. - Seleziona la casella di controllo Utilizza questo gruppo di istanze come gruppo di failover per il backup.
- Fai clic su Fine.
- Verifica che sia presente un segno di spunta blu accanto a Configurazione backend prima di continuare.
Rivedi la configurazione
- Fai clic sul pulsante Esamina e completa e verifica che il nuovo backend principale sia visibile in Backend.
Se le impostazioni sono corrette, fai clic su Crea. La creazione del bilanciatore del carico richiede alcuni minuti.
Nella schermata di bilanciamento del carico, nella colonna Backend del nuovo bilanciatore del carico, dovresti vedere un segno di spunta verde che indica che il nuovo bilanciatore del carico è in stato di esecuzione.
gcloud
Utilizza il seguente comando gcloud
per aggiungere un backend di failover al servizio di backend di un bilanciatore del carico di rete passthrough esterno esistente.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION \ --failover
dove:
BACKEND_SERVICE_NAME
è il nome del servizio di backend del bilanciatore del carico. Per l'esempio, utilizzanetwork-lb-backend-service
.INSTANCE_GROUP_NAME
è il nome del gruppo di istanze da aggiungere come backend di failover. Per l'esempio, utilizzaig-b
.INSTANCE_GROUP_ZONE
è la zona in cui è definito il gruppo di istanze. Per l'esempio, utilizzaus-west1-a
.REGION
è la regione del bilanciatore del carico. Per l'esempio, utilizzaus-west1
.
Conversione di un backend principale o di failover
Puoi convertire un backend principale in un backend di failover o viceversa senza dover rimuovere il gruppo di istanze dal servizio di backend del bilanciatore del carico di rete passthrough esterno.
gcloud
Utilizza il seguente comando gcloud
per convertire un backend principale esistente in un backend di failover:
gcloud compute backend-services update-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION \ --failover
Utilizza il seguente comando gcloud
per convertire un backend di failover esistente in un backend principale:
gcloud compute backend-services update-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION \ --no-failover
dove:
BACKEND_SERVICE_NAME
è il nome del servizio di backend del bilanciatore del carico.INSTANCE_GROUP_NAME
è il nome del gruppo di istanze.INSTANCE_GROUP_ZONE
è la zona in cui è definito il gruppo di istanze.REGION
è la regione del bilanciatore del carico.
Configurazione dei criteri di failover
Questa sezione descrive come gestire un piano di failover per il servizio di backend di un bilanciatore del carico di rete passthrough esterno. Un criterio di failover è costituito da:
- Rapporto di failover
- Eliminazione del traffico quando tutte le VM di backend non sono integre
- Svuotamento connessioni al failover
Per ulteriori informazioni sui parametri di un criterio di failover, consulta:
- Impostare un rapporto di failover
- Eliminazione del traffico in assenza di VM integre
- Svuotamento delle connessioni in caso di failover e failback
Definizione di un criterio di failover
Le istruzioni riportate di seguito descrivono come definire il criterio di failover per un bilanciatore del carico di rete passthrough esterno esistente.
gcloud
Per definire un criterio di failover utilizzando l'interfaccia a riga di comando gcloud, aggiorna il servizio di backend del bilanciatore del carico:
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region REGION \ --failover-ratio FAILOVER_RATIO \ --connection-drain-on-failover \ --connection-draining-timeout=CONNECTION_DRAINING_TIMEOUT \ --drop-traffic-if-unhealthy
dove:
BACKEND_SERVICE_NAME
è il nome del servizio di backend del bilanciatore del carico. Per l'esempio, utilizzanetwork-lb
.REGION
è la regione del bilanciatore del carico. Per l'esempio, utilizzaus-west1
.FAILOVER_RATIO
è il rapporto di failover. I valori possibili sono compresi tra0.0
e1.0
, inclusi. Per l'esempio, utilizza0.75
.CONNECTION_DRAINING_TIMEOUT
consente alle connessioni TCP di persistere, anche sulle VM che non sono più nel pool attivo, fino alla durata del timeout dello svuotamento della connessione.
Visualizzazione di un criterio di failover
Le istruzioni riportate di seguito descrivono come visualizzare il criterio di failover esistente per un bilanciatore del carico di rete passthrough esterno.
gcloud
Per elencare le impostazioni del criterio di failover utilizzando gcloud CLI, utilizza il seguente comando. Le impostazioni non definite in un criterio di failover utilizzano i valori predefiniti del criterio di failover.
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION \ --format="get(failoverPolicy)"
dove:
BACKEND_SERVICE_NAME
è il nome del servizio di backend del bilanciatore del carico. Per l'esempio, utilizzanetwork-lb-backend-service
.REGION
è la regione del bilanciatore del carico. Per l'esempio, utilizzaus-west1
.
Passaggi successivi
- Per informazioni di base importanti, consulta la panoramica del bilanciatore del carico di rete passthrough esterno.
- Consulta Concetti di failover per i bilanciatori del carico di rete passthrough esterni per informazioni importanti sul failover.
- Per un esempio di configurazione, consulta Configurare un bilanciatore del carico di rete passthrough esterno.