Questa guida fornisce istruzioni per la creazione di soluzioni basate su servizi di backend bilanciatori del carico di rete passthrough esterni che bilanciano il carico TCP, UDP, ESP, GRE, ICMP e ICMPv6 per via del traffico. Puoi utilizzare questa configurazione se vuoi per bilanciare il carico del traffico che utilizza protocolli IP diversi da TCP o UDP. Destinazione I bilanciatori del carico di rete passthrough esterni basati su pool non supportano questa funzionalità.
Per configurare un bilanciatore del carico di rete passthrough esterno per protocolli IP diversi da TCP o UDP, devi
crea una regola di forwarding con protocollo impostato su
L3_DEFAULT
. Questo
una regola di forwarding rimanda a un servizio di backend con il protocollo impostato su
UNSPECIFIED
.
In questo esempio, utilizziamo due bilanciatori del carico di rete passthrough esterni per distribuire il traffico
VM di backend in due gruppi di istanze gestite a livello di zona nella regione us-central1
.
Entrambi i bilanciatori del carico ricevono il traffico allo stesso indirizzo IP esterno.
Un bilanciatore del carico ha una regola di forwarding con il protocollo TCP
e la porta 80 e
Un altro bilanciatore del carico ha una regola di forwarding con il protocollo L3_DEFAULT
. TCP
il traffico in arrivo all'indirizzo IP sulla porta 80 viene gestito dall'TCP
di una regola di forwarding. Tutto il traffico che non corrisponde alle impostazioni
La regola di forwarding è gestita dalla regola di forwarding L3_DEFAULT
.
Questo scenario distribuisce il traffico tra le istanze integre. Per l'assistenza Questo, crea controlli di integrità TCP per garantire che il traffico venga inviato solo integro.
Il bilanciatore del carico di rete passthrough esterno è un bilanciatore del carico a livello di regione. Tutti i componenti del bilanciatore del carico deve trovarsi nella stessa regione.
Prima di iniziare
Installa Google Cloud CLI. Per una panoramica completa dello strumento, consulta Panoramica dell'interfaccia a riga di comando gcloud. Puoi trovare comandi relativi il bilanciamento del carico Riferimento API e gcloud.
Se non hai già eseguito gcloud CLI in precedenza, esegui prima il comando
Comando gcloud init
per l'autenticazione.
Questa guida presuppone che tu abbia familiarità con bash.
Configura la rete e le subnet
L'esempio in questa pagina utilizza un VPC in modalità personalizzata
denominata lb-network
. Puoi usare una funzionalità
se vuoi gestire solo il traffico IPv4.
Tuttavia, il traffico IPv6 richiede una modalità personalizzata
subnet.
Il traffico IPv6 richiede anche una subnet a doppio stack (stack-type
impostata su
IPv4_IPv6
). Quando crei una subnet a doppio stack su una rete VPC in modalità personalizzata,
scegli un tipo di accesso IPv6 per
una subnet. Per questo esempio, impostiamo il parametro ipv6-access-type
della subnet su
EXTERNAL
. Ciò significa che le nuove VM su questa subnet possono essere assegnate
indirizzi IPv4 e indirizzi IPv6 esterni. Le regole di forwarding possono anche
sono stati assegnati sia indirizzi IPv4 esterni sia indirizzi IPv6 esterni.
I backend e i componenti del bilanciatore del carico utilizzati per di esempio si trovano nella regione e nella subnet:
- Regione:
us-central1
- Subnet:
lb-subnet
, con intervallo di indirizzi IPv4 principale10.1.2.0/24
. Anche se scegli l'intervallo di indirizzi IPv4 configurato nella subnet, l'intervallo di indirizzi IPv6 viene assegnato automaticamente. Google fornisce un blocco CIDR IPv6 di dimensione fissa (/64).
Per creare la rete e la subnet di esempio, segui questi passaggi.
Console
Per supportare il traffico IPv4 e IPv6, segui questi passaggi:
Nella console Google Cloud, vai alla pagina Reti VPC.
Fai clic su Crea rete VPC.
Inserisci
lb-network
come nome.Nella sezione Subnet:
- Imposta Modalità di creazione subnet su Personalizzata.
- Nella sezione Nuova subnet, configura i seguenti campi e fai clic su Fine:
- .
- Nome:
lb-subnet
- Regione:
us-central1
- Tipo di stack IP: IPv4 e IPv6 (stack doppio)
- Intervallo IPv4:
10.1.2.0/24
Sebbene sia possibile configurare un intervallo di indirizzi IPv4 nella subnet, non puoi scegliere l'intervallo degli indirizzi IPv6 per la subnet. Google fornisce un CIDR IPv6 di dimensione fissa (/64) bloccare. - Tipo di accesso IPv6: esterno
- Nome:
Fai clic su Crea.
Per supportare solo il traffico IPv4, segui questi passaggi:
Nella console Google Cloud, vai alla pagina Reti VPC.
Fai clic su Crea rete VPC.
Inserisci
lb-network
come nome.Nella sezione Subnet:
- Imposta Modalità di creazione subnet su Personalizzata.
- Nella sezione Nuova subnet, configura i seguenti campi e fai clic su Fine:
- .
- Nome:
lb-subnet
- Regione:
us-central1
- Tipo di stack IP: IPv4 (stack singolo)
- Intervallo IPv4:
10.1.2.0/24
- Nome:
Fai clic su Crea.
gcloud
Crea la rete VPC in modalità personalizzata:
gcloud compute networks create lb-network \ --subnet-mode=custom
All'interno della rete
lb-network
, crea una subnet per i backend in Regioneus-central1
.Per il traffico IPv4 e IPv6, utilizza il comando seguente per creare un'istanza subnet a doppio stack:
gcloud compute networks subnets create lb-subnet \ --stack-type=IPV4_IPv6 \ --ipv6-access-type=EXTERNAL \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1
Per solo traffico IPv4, utilizza il seguente comando:
gcloud compute networks subnets create lb-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1
Crea i gruppi di istanze gestite a livello di zona
Per questo scenario di bilanciamento del carico, creerai due istanze Compute Engine gruppi di istanze gestite a livello di zona e installano un server web Apache su ogni istanza.
Per gestire il traffico sia IPv4 che IPv6, configura le VM di backend in modo che
a doppio stack. Imposta stack-type
della VM su IPv4_IPv6
. Le VM ereditano anche
dell'impostazione ipv6-access-type
(in questo esempio, EXTERNAL
) dalla subnet. Per
Per ulteriori dettagli sui requisiti IPv6, consulta la panoramica del bilanciatore del carico di rete passthrough esterno:
Inoltro
.
Per utilizzare le VM esistenti come backend, aggiorna le VM in modo che siano a doppio stack utilizzando
Comando gcloud compute instances network-interfaces update
.
Istanze che partecipano come VM di backend per bilanciatori del carico di rete passthrough esterni deve eseguire l'ambiente guest Linux, Ambiente guest Windows, o altri processi che forniscono una capacità equivalente.
Crea il gruppo di istanze per il traffico TCP sulla porta 80
Console
Creare un modello di istanza. Nella console Google Cloud, vai alla pagina Modelli di istanza.
- Fai clic su Crea modello istanza.
- In Nome, inserisci
ig-us-template-tcp-80
. - Assicurati che il disco di avvio sia impostato su un'immagine Debian, ad esempio
Debian GNU/Linux 12 (bookworm). Queste istruzioni utilizzano comandi
sono disponibili solo su Debian, come
apt-get
. - Espandi la sezione Opzioni avanzate.
Espandi la sezione Gestione, quindi copia il seguente script nel campo Script di avvio.
#! /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
Espandi la sezione Networking, quindi specifica quanto segue:
- Per Tag di rete, aggiungi
network-lb-tcp-80
. - In Interfacce di rete, fai clic sull'interfaccia predefinita e
configurare i seguenti campi:
- .
- Rete:
lb-network
- Subnet:
lb-subnet
- Rete:
- Per Tag di rete, aggiungi
Fai clic su Crea.
Creare un gruppo di istanze gestite. Vai alla pagina Gruppi di istanze nella console Google Cloud.
- Fai clic su Crea gruppo di istanze.
- Seleziona Nuovo gruppo di istanze gestite (stateless). Per ulteriori informazioni consulta le informazioni sui MIG stateless o stateful.
- In Nome, inserisci
ig-us-tcp-80
. - In Località, seleziona Zona singola.
- In corrispondenza di Regione, seleziona
us-central1
. - In Zona, seleziona
us-central1-a
. - In Modello di istanza, seleziona
ig-us-template-tcp-80
. Specifica il numero di istanze che vuoi creare nel gruppo.
Per questo esempio, specifica le seguenti opzioni in Scalabilità automatica:
- In Modalità di scalabilità automatica, seleziona
Off:do not autoscale
. - In Numero massimo di istanze, inserisci
2
.
- In Modalità di scalabilità automatica, seleziona
Fai clic su Crea.
gcloud
Le istruzioni per gcloud
in questa guida presuppongono che l'utilizzo di Cloud
Shell o un altro ambiente con bash installato.
Crea un modello di istanza VM con il server HTTP
gcloud compute instance-templates create
.Per gestire il traffico IPv4 e IPv6, utilizza il comando seguente.
gcloud compute instance-templates create ig-us-template-tcp-80 \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPv4_IPv6 \ --tags=network-lb-tcp-80 \ --image-family=debian-12 \ --image-project=debian-cloud \ --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'
In alternativa, se vuoi gestire il traffico solo per il traffico IPv4, utilizza la classe .
gcloud compute instance-templates create ig-us-template-tcp-80 \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --tags=network-lb-tcp-80 \ --image-family=debian-12 \ --image-project=debian-cloud \ --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 un gruppo di istanze gestite nella zona con
gcloud compute instance-groups managed create
.gcloud compute instance-groups managed create ig-us-tcp-80 \ --zone us-central1-a \ --size 2 \ --template ig-us-template-tcp-80
Crea il gruppo di istanze per TCP sulla porta 8080 e per il traffico UDP, ESP e ICMP
Console
Creare un modello di istanza. Nella console Google Cloud, vai alla pagina Modelli di istanza.
- Fai clic su Crea modello istanza.
- In Nome, inserisci
ig-us-template-l3-default
. - Assicurati che il disco di avvio sia impostato su un'immagine Debian, ad esempio
Debian GNU/Linux 12 (bookworm). Queste istruzioni utilizzano comandi
sono disponibili solo su Debian, come
apt-get
. - Espandi la sezione Opzioni avanzate.
Espandi la sezione Gestione, quindi copia il seguente script nel campo Script di avvio. Lo script di avvio configura anche server Apache per rimanere in ascolto sulla porta
8080
anziché sulla porta80
.#! /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 sed -ire 's/^Listen 80$/Listen 8080/g' /etc/apache2/ports.conf systemctl restart apache2
Espandi la sezione Networking, quindi specifica quanto segue:
- Per Tag di rete, aggiungi
network-lb-l3-default
. - In Interfacce di rete, fai clic sull'interfaccia predefinita e
configurare i seguenti campi:
- .
- Rete:
lb-network
- Subnet:
lb-subnet
- Rete:
- Per Tag di rete, aggiungi
Fai clic su Crea.
Creare un gruppo di istanze gestite. Vai alla pagina Gruppi di istanze nella console Google Cloud.
- Fai clic su Crea gruppo di istanze.
- Scegli Nuovo gruppo di istanze gestite (stateless). Per ulteriori informazioni consulta le informazioni sui MIG stateless o stateful.
- In Nome, inserisci
ig-us-l3-default
. - In Località, seleziona Zona singola.
- In corrispondenza di Regione, seleziona
us-central1
. - In Zona, seleziona
us-central1-c
. - In Modello di istanza, seleziona
ig-us-template-l3-default
. Specifica il numero di istanze che vuoi creare nel gruppo.
Per questo esempio, specifica le seguenti opzioni in Scalabilità automatica:
- In Modalità di scalabilità automatica, seleziona
Off:do not autoscale
. - In Numero massimo di istanze, inserisci
2
.
- In Modalità di scalabilità automatica, seleziona
Fai clic su Crea.
gcloud
Le istruzioni per gcloud
in questa guida presuppongono che l'utilizzo di Cloud
Shell o un altro ambiente con bash installato.
Crea un modello di istanza VM con il server HTTP
gcloud compute instance-templates create
.Lo script di avvio configura anche il server Apache per rimanere in ascolto porta
8080
anziché porta80
.Per gestire il traffico IPv4 e IPv6, utilizza il comando seguente.
gcloud compute instance-templates create ig-us-template-l3-default \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPv4_IPv6 \ --tags=network-lb-l3-default \ --image-family=debian-12 \ --image-project=debian-cloud \ --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 sed -ire "s/^Listen 80$/Listen 8080/g" /etc/apache2/ports.conf systemctl restart apache2'
In alternativa, se vuoi gestire solo il traffico IPv4, utilizza quanto segue .
gcloud compute instance-templates create ig-us-template-l3-default \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --tags=network-lb-l3-default \ --image-family=debian-12 \ --image-project=debian-cloud \ --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 sed -ire "s/^Listen 80$/Listen 8080/g" /etc/apache2/ports.conf systemctl restart apache2'
Crea un gruppo di istanze gestite nella zona con
gcloud compute instance-groups managed create
.gcloud compute instance-groups managed create ig-us-l3-default \ --zone us-central1-c \ --size 2 \ --template ig-us-template-l3-default
Configurazione delle regole del firewall
Crea le seguenti regole firewall:
- Regole firewall che consentono al traffico TCP esterno di raggiungere il backend
istanze nel gruppo di istanze
ig-us-tcp-80
sulla porta 80 (utilizzando il tag di destinazionenetwork-lb-tcp-80
). Creare regole firewall separate per consentire IPv4 e IPv6 per via del traffico. - Regole firewall che consentono altro traffico esterno (TCP sulla porta
8080, UDP, ESP e ICMP) per raggiungere le istanze di backend in
ig-us-l3-default
gruppo di istanze (utilizzando il tag di destinazionenetwork-lb-l3-default
). Crea separato le regole firewall per consentire il traffico IPv4 e IPv6.
In questo esempio vengono create regole firewall che consentono il traffico da tutti gli intervalli di origine per raggiungere le istanze di backend sulle porte configurate. Se vuoi creare regole firewall separate specifiche per i probe del controllo di integrità, usa Intervalli di indirizzi IP documentati in Panoramica dei controlli di integrità: intervalli IP di probe e regole firewall.
Console
- Nella console Google Cloud, vai alla pagina Criteri firewall.
Vai ai criteri firewall - Consentire al traffico TCP IPv4 di raggiungere i backend in
ig-us-tcp-80
gruppo di istanze, crea la seguente regola firewall.- Fai clic su Crea regola firewall.
- Inserisci
allow-network-lb-tcp-80-ipv4
come nome. - Seleziona la Rete a cui si applica la regola firewall (predefinita).
- In Target, seleziona Tag di destinazione specificati.
- Nel campo Tag di destinazione, inserisci
network-lb-tcp-80
. - Imposta Filtro di origine su Intervalli IPv4.
- Imposta Intervalli IPv4 di origine su
0.0.0.0/0
, che consente il traffico da qualsiasi fonte. In questo modo è possibile sia il traffico esterno sia il controllo di integrità per raggiungere le istanze di backend. - In Protocolli e porte, seleziona Protocolli e porte specificati
porte. Quindi seleziona la casella di controllo TCP e inserisci
80
. - Fai clic su Crea. La visualizzazione nella console potrebbe richiedere alcuni istanti. nuova regola firewall oppure potresti dover fare clic su Aggiorna per visualizzare la regola.
- Per consentire al traffico UDP, ESP e ICMP di IPv4 di raggiungere i backend nella
ig-us-l3-default
gruppo di istanze, crea la seguente regola firewall.- Fai clic su Crea regola firewall.
- Inserisci
allow-network-lb-l3-default-ipv4
come nome. - Seleziona la Rete a cui si applica la regola firewall (predefinita).
- In Target, seleziona Tag di destinazione specificati.
- Nel campo Tag di destinazione, inserisci
network-lb-l3-default
. - Imposta Filtro di origine su Intervalli IPv4.
- Imposta Intervalli IPv4 di origine su
0.0.0.0/0
, che consente il traffico da qualsiasi fonte. In questo modo è possibile sia il traffico esterno sia il controllo di integrità per raggiungere le istanze di backend. - In Protocolli e porte, seleziona Protocolli e porte specificati
porte.
- Seleziona la casella di controllo TCP e inserisci
8080
. - Seleziona la casella di controllo UDP.
- Seleziona la casella di controllo Altro e inserisci
esp, icmp
.
- Seleziona la casella di controllo TCP e inserisci
- Fai clic su Crea. La visualizzazione nella console potrebbe richiedere alcuni istanti. nuova regola firewall oppure potresti dover fare clic su Aggiorna per visualizzare la regola.
- Consentire al traffico TCP IPv6 di raggiungere i backend in
ig-us-tcp-80
gruppo di istanze, crea la seguente regola firewall.- Fai clic su Crea regola firewall.
- Inserisci
allow-network-lb-tcp-80-ipv6
come nome. - Seleziona la Rete a cui si applica la regola firewall (predefinita).
- In Target, seleziona Tag di destinazione specificati.
- Nel campo Tag di destinazione, inserisci
network-lb-tcp-80
. - Imposta Filtro di origine su Intervalli IPv6.
- Imposta Intervalli IPv6 di origine su
::/0
, che consente il traffico da qualsiasi fonte. In questo modo è possibile sia il traffico esterno sia il controllo di integrità per raggiungere le istanze di backend. - In Protocolli e porte, seleziona Protocolli e porte specificati
porte. Fai clic sulla casella di controllo accanto a TCP e inserisci
80
. - Fai clic su Crea. La visualizzazione nella console potrebbe richiedere alcuni istanti. nuova regola firewall oppure potresti dover fare clic su Aggiorna per visualizzare la regola.
- Consentire al traffico UDP, ESP e ICMPv6 IPv6 di raggiungere i backend nella
ig-us-l3-default
gruppo di istanze, crea la seguente regola firewall. Questa regola firewall consente inoltre ai probe del controllo di integrità TCP di raggiungere sulla porta 8080.- Fai clic su Crea regola firewall.
- Inserisci
allow-network-lb-l3-default-ipv6
come nome. - Seleziona la Rete a cui si applica la regola firewall (predefinita).
- In Target, seleziona Tag di destinazione specificati.
- Nel campo Tag di destinazione, inserisci
network-lb-l3-default
. - Imposta Filtro di origine su Intervalli IPv6.
- Imposta Intervalli IPv6 di origine su
::/0
, che consente il traffico da qualsiasi fonte. In questo modo è possibile sia il traffico esterno sia il controllo di integrità per raggiungere le istanze di backend. - In Protocolli e porte, seleziona Protocolli e porte specificati
porte.
- Fai clic sulla casella di controllo accanto a TCP e inserisci
8080
. - Fai clic sulla casella di controllo accanto a UDP.
- Fai clic sulla casella di controllo accanto ad Altro e inserisci
esp, 58
.
- Fai clic sulla casella di controllo accanto a TCP e inserisci
- Fai clic su Crea. La visualizzazione nella console potrebbe richiedere alcuni istanti. nuova regola firewall oppure potresti dover fare clic su Aggiorna per visualizzare la regola.
gcloud
Consentire al traffico TCP IPv4 di raggiungere i backend in
ig-us-tcp-80
gruppo di istanze, crea la seguente regola firewall.gcloud compute firewall-rules create allow-network-lb-tcp-80-ipv4 \ --network=lb-network \ --target-tags network-lb-tcp-80 \ --allow tcp:80 \ --source-ranges=0.0.0.0/0
Per consentire al traffico UDP, ESP e ICMP di IPv4 di raggiungere i backend nella
ig-us-l3-default
gruppo di istanze, crea la seguente regola firewall. Questa regola firewall consente inoltre ai probe del controllo di integrità TCP di raggiungere sulla porta 8080.gcloud compute firewall-rules create allow-network-lb-l3-default-ipv4 \ --network=lb-network \ --target-tags network-lb-l3-default \ --allow tcp:8080,udp,esp,icmp \ --source-ranges=0.0.0.0/0
Consentire al traffico TCP IPv6 di raggiungere i backend in
ig-us-tcp-80
gruppo di istanze, crea la seguente regola firewall.gcloud compute firewall-rules create allow-network-lb-tcp-80-ipv6 \ --network=lb-network \ --target-tags network-lb-tcp-80 \ --allow tcp:80 \ --source-ranges=::/0
Consentire al traffico UDP, ESP e ICMPv6 IPv6 di raggiungere i backend nella
ig-us-l3-default
gruppo di istanze, crea la seguente regola firewall. Questa regola firewall consente inoltre ai probe del controllo di integrità TCP di raggiungere sulla porta 8080.gcloud compute firewall-rules create allow-network-lb-l3-default-ipv6 \ --network=lb-network \ --target-tags network-lb-l3-default \ --allow tcp:8080,udp,esp,58 \ --source-ranges=::/0
configura i bilanciatori del carico
Quindi, configura due bilanciatori del carico. Configurare entrambi i bilanciatori del carico in modo che utilizzino lo stesso indirizzo IP esterno per le regole di forwarding in cui un bilanciatore del carico gestisce il traffico TCP sulla porta 80 e l'altro bilanciatore del carico gestisce TCP, UDP, ESP Traffico ICMP sulla porta 8080.
Quando configuri un bilanciatore del carico, le istanze VM di backend
per ricevere i pacchetti destinati all'indirizzo IP esterno statico
configurare. Se utilizzi un'immagine fornita da
Compute Engine,
le istanze vengono configurate automaticamente
per gestire questo indirizzo IP. Se
stai utilizzando qualsiasi altra immagine, devi configurare questo indirizzo come
un alias su eth0
o come loopback su ciascuna istanza.
Per configurare due bilanciatori del carico, segui le istruzioni riportate di seguito.
Console
Avvia la configurazione
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
- Fai clic su Crea bilanciatore del carico.
- Per Tipo di bilanciatore del carico, seleziona Bilanciatore del carico di rete (TCP/UDP/SSL) e fai clic su Avanti.
- Per Proxy o passthrough, seleziona Carico passthrough bilanciatore del carico e fai clic su Avanti.
- Per Pubblico o interno, seleziona Rivolto al pubblico (esterno) e fai clic su Avanti.
- Fai clic su Configura.
Configurazione di base
- Nel campo Nome, inserisci il nome
backend-service-tcp-80
per nuovo bilanciatore del carico. - Nell'elenco Regione, seleziona
us-central1
.
Configurazione backend
- Fai clic su Configurazione backend.
- Nella pagina Configurazione backend, apporta le seguenti modifiche:
- .
- Nella sezione Nuovo backend, seleziona il tipo di stack IP. Se hai creato backend a doppio stack per gestire sia IPv4 che IPv6 traffico, seleziona IPv4 e IPv6 (stack doppio). Per gestire solo il traffico IPv4, seleziona IPv4 (stack singolo).
- Nell'elenco Gruppo di istanze, seleziona
ig-us-tcp-80
e fai clic su Fine. - Nell'elenco Controllo di integrità, fai clic su Crea un controllo di integrità.
e inserisci le seguenti informazioni:
- .
- Nome:
tcp-health-check-80
- Protocollo:
TCP
- Porta:
80
- Nome:
- Fai clic su Salva.
- Verifica che sia presente un segno di spunta blu accanto a Backend configurazione prima di continuare.
Configurazione frontend
- Fai clic su Configurazione frontend.
- Nel campo Nome, inserisci
forwarding-rule-tcp-80
. - Per gestire il traffico IPv4, segui questi passaggi:
- Per Versione IP, seleziona IPv4.
- Nella sezione Scopo IP interno, nell'elenco Indirizzo IP,
Seleziona Crea indirizzo IP.
- Nel campo Nome, inserisci
network-lb-ipv4
. - Fai clic su Prenota.
- Nel campo Nome, inserisci
- In Porte, scegli Singola. Nel campo Numero porta, inserisci
80
. - Fai clic su Fine.
Per gestire il traffico IPv6, segui questi passaggi:
- Per Versione IP, seleziona IPv6.
- In corrispondenza di Subnet, seleziona lb-subnet.
- Nell'elenco Intervallo IPv6, seleziona Crea
Indirizzo IP.
- Nel campo Nome, inserisci
network-lb-ipv6
. - Fai clic su Prenota.
- Nel campo Nome, inserisci
- In Porte, scegli Singola. Nel campo Numero porta, inserisci
80
. - Fai clic su Fine.
Un cerchio blu con un segno di spunta a sinistra di La configurazione del frontend indica che la configurazione è riuscita.
Rivedi la configurazione
- Fai clic su Esamina e finalizza.
- Rivedi le impostazioni di configurazione del bilanciatore del carico.
- (Facoltativo) Fai clic su Codice equivalente per visualizzare la richiesta API REST. che verrà utilizzato per creare il bilanciatore del carico.
Fai clic su Crea.
Nella pagina del bilanciamento del carico, nella colonna Backend per il nuovo bilanciatore del carico, dovresti vedere un segno di spunta verde che indica che il nuovo il bilanciatore del carico sia integro.
Crea il secondo bilanciatore del carico
Avvia la configurazione
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
- Fai clic su Crea bilanciatore del carico.
- Per Tipo di bilanciatore del carico, seleziona Bilanciatore del carico di rete (TCP/UDP/SSL) e fai clic su Avanti.
- Per Proxy o passthrough, seleziona Carico passthrough bilanciatore del carico e fai clic su Avanti.
- Per Pubblico o interno, seleziona Rivolto al pubblico (esterno) e fai clic su Avanti.
- Fai clic su Configura.
Configurazione di base
- Nel campo Nome, inserisci il nome
backend-service-l3-default
per nuovo bilanciatore del carico. - Nell'elenco Regione, seleziona
us-central1
.
Configurazione backend
- Fai clic su Configurazione backend.
- Nella pagina Configurazione backend, apporta le seguenti modifiche:
- .
- Nella sezione Nuovo backend, seleziona il tipo di stack IP. Se hai creato backend a doppio stack per gestire sia IPv4 che IPv6 traffico, seleziona IPv4 e IPv6 (stack doppio). Per gestire solo il traffico IPv4, seleziona IPv4 (stack singolo).
- Nell'elenco Gruppo di istanze, seleziona
ig-us-l3-default
e fai clic su Fine. - Nell'elenco Protocolli, seleziona L3 (protocolli multipli).
- Nell'elenco Controllo di integrità, fai clic su Crea un controllo di integrità.
e inserisci le seguenti informazioni:
- .
- Nome:
tcp-health-check-8080
- Protocollo:
TCP
- Porta:
8080
- Nome:
- Fai clic su Salva.
- Verifica che sia presente un segno di spunta blu accanto a Backend configurazione prima di continuare.
Configurazione frontend
- Fai clic su Configurazione frontend.
- Nel campo Nome, inserisci
forwarding-rule-l3-default
. - Per gestire il traffico IPv4, segui questi passaggi:
- Per Versione IP, seleziona IPv4.
- Nella sezione Scopo IP interno, nell'elenco Indirizzo IP,
Seleziona Crea indirizzo IP.
- Nel campo Nome, inserisci
network-lb-ipv4
. - Fai clic su Prenota.
- Nel campo Nome, inserisci
- Nell'elenco Protocollo, seleziona L3 (protocolli multipli).
- In Porte, scegli Tutte.
- Fai clic su Fine.
Per gestire il traffico IPv6, segui questi passaggi:
- Per Versione IP, seleziona IPv6.
- In corrispondenza di Subnet, seleziona lb-subnet.
- Nell'elenco Intervallo IPv6, seleziona Crea
Indirizzo IP.
- Nel campo Nome, inserisci
network-lb-ipv6
. - Fai clic su Prenota.
- Nel campo Nome, inserisci
- Nel campo Protocollo, seleziona L3 (protocolli multipli).
- In Porte, seleziona Tutte.
- Fai clic su Fine.
Un cerchio blu con un segno di spunta a sinistra di La configurazione del frontend indica che la configurazione è riuscita.
Rivedi la configurazione
- Fai clic su Esamina e finalizza.
- Rivedi le impostazioni di configurazione del bilanciatore del carico.
- (Facoltativo) Fai clic su Codice equivalente per visualizzare la richiesta API REST. che verrà utilizzato per creare il bilanciatore del carico.
Fai clic su Crea.
Nella pagina del bilanciamento del carico, nella colonna Backend per il nuovo bilanciatore del carico, dovresti vedere un segno di spunta verde che indica che il nuovo il bilanciatore del carico sia integro.
gcloud
Prenotare un indirizzo IP esterno statico.
Per il traffico IPv4: crea un IP esterno statico per il tuo bilanciatori del carico.
gcloud compute addresses create network-lb-ipv4 \ --region us-central1
Per il traffico IPv6: crea un IPv6 esterno statico di indirizzi bilanciatori del carico. La subnet utilizzata deve essere una subnet a doppio stack con un di subnet IPv6 esterne.
gcloud compute addresses create network-lb-ipv6 \ --region us-central1 \ --subnet lb-subnet \ --ip-version IPV6 \ --endpoint-type NETLB
Crea un controllo di integrità TCP per la porta
80
. Questo controllo di integrità viene utilizzato per verificare l'integrità di backend nel gruppo di istanzeig-us-tcp-80
.gcloud compute health-checks create tcp tcp-health-check-80 \ --region us-central1 \ --port 80
Crea un controllo di integrità TCP per la porta
8080
. Questo controllo di integrità viene utilizzato per verificare integrità dei backend nel gruppo di istanzeig-us-l3-default
.gcloud compute health-checks create tcp tcp-health-check-8080 \ --region us-central1 \ --port 8080
Crea il primo bilanciatore del carico per il traffico TCP sulla porta
80
.Crea un servizio di backend con il protocollo impostato su
TCP
.gcloud compute backend-services create backend-service-tcp-80 \ --protocol TCP \ --health-checks tcp-health-check-80 \ --health-checks-region us-central1 \ --region us-central1
Aggiungi il gruppo di istanza di backend al servizio di backend.
gcloud compute backend-services add-backend backend-service-tcp-80 \ --instance-group ig-us-tcp-80 \ --instance-group-zone us-central1-a \ --region us-central1
Per il traffico IPv4: crea una regola di forwarding per instradare TCP in entrata traffico sulla porta
80
al servizio di backend.TCP
è l'impostazione predefinita e non deve essere impostato in modo esplicito.Utilizza l'indirizzo IP prenotato nel passaggio 1 come indirizzo IP esterno statico Indirizzo IP del bilanciatore del carico.
gcloud compute forwarding-rules create forwarding-rule-tcp-80 \ --load-balancing-scheme external \ --region us-central1 \ --ports 80 \ --address network-lb-ipv4 \ --backend-service backend-service-tcp-80
Per il traffico IPv6: crea una regola di forwarding per instradare TCP in entrata traffico sulla porta
80
al servizio di backend.TCP
è l'impostazione predefinita e non deve essere impostato in modo esplicito.Utilizza l'intervallo di indirizzi IPv6 riservato al passaggio 1 come indirizzo statico all'indirizzo IP esterno del bilanciatore del carico. La subnet utilizzata deve essere un una subnet a doppio stack con un intervallo di subnet IPv6 esterno.
gcloud compute forwarding-rules create forwarding-rule-tcp-80 \ --load-balancing-scheme external \ --region us-central1 \ --network-tier PREMIUM \ --ip-version IPV6 \ --subnet lb-subnet \ --address network-lb-ipv6 \ --ports 80 \ --backend-service backend-service-tcp-80
Crea il secondo bilanciatore del carico per TCP sulla porta
8080
, UDP, ESP e Traffico ICMP.Crea un servizio di backend con il protocollo impostato su
UNSPECIFIED
.gcloud compute backend-services create backend-service-l3-default \ --protocol UNSPECIFIED \ --health-checks tcp-health-check-8080 \ --health-checks-region us-central1 \ --region us-central1
Aggiungi il gruppo di istanza di backend al servizio di backend.
gcloud compute backend-services add-backend backend-service-l3-default \ --instance-group ig-us-l3-default \ --instance-group-zone us-central1-c \ --region us-central1
Per il traffico IPv4: crea una regola di forwarding con il protocollo impostato su
L3_DEFAULT
per gestire tutto il traffico rimanente del protocollo IP supportato (TCP sulla porta8080
, UDP, ESP e ICMP). Tutte le porte devono essere configurate conL3_DEFAULT
regole di forwarding.Utilizza lo stesso indirizzo IPv4 esterno che hai usato per la precedente con il bilanciatore del carico di rete passthrough esterno regionale.
gcloud compute forwarding-rules create forwarding-rule-l3-default \ --load-balancing-scheme external \ --region us-central1 \ --ports all \ --ip-protocol L3_DEFAULT \ --address network-lb-ipv4 \ --backend-service backend-service-l3-default
Per il traffico IPv6: crea una regola di forwarding con il protocollo impostato su
L3_DEFAULT
per gestire tutto il traffico rimanente del protocollo IP supportato (TCP sulla porta8080
, UDP, ESP e ICMP). Tutte le porte devono essere configurate conL3_DEFAULT
regole di forwarding.Utilizza l'intervallo di indirizzi IPv6 riservato al passaggio 1 come indirizzo statico all'indirizzo IP esterno del bilanciatore del carico. La subnet utilizzata deve essere un una subnet a doppio stack con un intervallo di subnet IPv6 esterno.
gcloud compute forwarding-rules create forwarding-rule-l3-default \ --load-balancing-scheme external \ --region us-central1 \ --network-tier PREMIUM \ --ip-version IPV6 \ --subnet lb-subnet \ --address network-lb-ipv6 \ --ports all \ --ip-protocol L3_DEFAULT \ --backend-service backend-service-l3-default
Testa il bilanciatore del carico
Ora che il servizio di bilanciamento del carico è configurato, puoi iniziare a inviare il traffico verso l'indirizzo IP esterno del bilanciatore del carico e osservare che il traffico viene distribuite alle istanze di backend.
Cerca l'indirizzo IP esterno del bilanciatore del carico
Console
- Nella pagina Bilanciamento del carico avanzato, vai a Regole di forwarding
.
Vai alla scheda Regole di inoltro - Individua le regole di forwarding utilizzate dal bilanciatore del carico.
- Nella colonna Indirizzo IP, prendi nota dell'indirizzo IP esterno elencato per ogni regola di forwarding IPv4 e IPv6.
gcloud: IPv4
Inserisci il comando seguente per visualizzare l'indirizzo IP esterno del regola di forwarding utilizzata dal bilanciatore del carico.
gcloud compute forwarding-rules describe forwarding-rule-tcp-80 \ --region us-central1
Questo esempio utilizza lo stesso indirizzo IP per entrambe le regole di forwarding IPv4, quindi utilizzando
Funzionerà anche forwarding-rule-l3-default
.
gcloud: IPv6
Inserisci il comando seguente per visualizzare l'indirizzo IPv6 esterno del
forwarding-rule-tcp-80
regola di forwarding utilizzata dal bilanciatore del carico.
gcloud compute forwarding-rules describe forwarding-rule-tcp-80 \ --region us-central1
Questo esempio utilizza lo stesso indirizzo IP per entrambe le regole di forwarding IPv6,
funzionerà anche l'utilizzo di forwarding-rule-l3-default
.
Invia traffico al bilanciatore del carico
Questa procedura invia traffico esterno al bilanciatore del carico. Esegui questo comando
per garantire che il traffico TCP sulla porta 80 venga bilanciato dal carico
ig-us-tcp-80
gruppo di istanze mentre tutto il resto del traffico (TCP sulla porta 8080, UDP, ESP,
e ICMP) è gestito dal gruppo di istanze ig-us-l3-default
.
Verifica del comportamento con le richieste TCP sulla porta 80
Inviare richieste web (su TCP sulla porta 80) al bilanciatore del carico utilizzando
curl
per contattare il suo indirizzo IP.Dai client con connettività IPv4, esegui questo comando:
$ while true; do curl -m1 IP_ADDRESS; done
Dai client con connettività IPv6, esegui questo comando:
$ while true; do curl -m1 http://IPV6_ADDRESS; done
Ad esempio, se l'indirizzo IPv6 assegnato è
[2001:db8:1:1:1:1:1:1/96]
, il comando dovrebbe avere questo aspetto:$ while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]; done
Osserva il testo restituito dal comando
curl
. Il nome della VM di backend la generazione della risposta viene visualizzata in tale testo; ad esempio:Page served from: VM_NAME
. Le risposte devono provenire da istanze in solo il gruppo di istanzeig-us-tcp-80
.Se inizialmente la risposta non va a buon fine, potresti dover attendere circa 30 secondi affinché la configurazione venga caricata completamente contrassegnare le istanze come integre prima di riprovare.
Verifica del comportamento con le richieste TCP sulla porta 8080
Effettua richieste web (su TCP sulla porta 8080
) al bilanciatore del carico utilizzando curl
di contattare il suo indirizzo IP.
Dai client con connettività IPv4, esegui questo comando:
$ while true; do curl -m1 IPV4_ADDRESS:8080; done
Dai client con connettività IPv6, esegui questo comando:
$ while true; do curl -m1 http://IPV6_ADDRESS; done
Ad esempio, se l'indirizzo IPv6 assegnato è
[2001:db8:1:1:1:1:1:1/96]
, il parametro dovrebbe avere il seguente aspetto:$ while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:8080; done
Osserva il testo restituito dal comando curl
. Le risposte devono provenire da
nel gruppo di istanze ig-us-l3-default
.
Questo mostra che tutto il traffico inviato all'indirizzo IP del bilanciatore del carico sulla porta
8080
è gestito dai backend nell'istanza ig-us-l3-default
solo nel gruppo.
Verifica del comportamento con le richieste ICMP
Per verificare il comportamento con il traffico ICMP, acquisisci l'output dal tcpdump
per confermare che solo le VM di backend nell'istanza ig-us-l3-default
che gestisce le richieste ICMP inviate al bilanciatore del carico.
Accedi tramite SSH alle VM di backend.
Nella console Google Cloud, vai alla pagina Istanze VM.
Vai alla pagina Istanze VMNell'elenco delle istanze di macchine virtuali, fai clic su SSH nella riga l'istanza a cui vuoi connetterti.
Esegui questo comando per utilizzare
tcpdump
e iniziare ad ascoltare l'ICMP per via del traffico.sudo tcpdump icmp -w ~/icmpcapture.pcap -s0 -c 10000 tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
Lascia aperta la finestra SSH.
Ripeti i passaggi 1 e 2 per tutte e quattro le VM di backend.
Inviare richieste ICMP al bilanciatore del carico.
Per testare le risposte IPv4, utilizza
ping
per contattare l'indirizzo IPv4 del bilanciatore del carico .ping IPV4_ADDRESS
Per testare le risposte IPv6, utilizza
ping6
per contattare l'indirizzo IPv6 del bilanciatore del carico .ping6 IPV6_ADDRESS
Ad esempio, se l'indirizzo IPv6 assegnato è
[2001:db8:1:1:1:1:1:1/96]
, il parametro dovrebbe avere il seguente aspetto:ping6 2001:db8:1:1:1:1:1:1
Torna alla finestra SSH aperta di ogni VM e interrompi l'acquisizione di
tcpdump
. A tal fine, puoi utilizzare Ctrl+C.Per ogni VM, verifica l'output del comando
tcpdump
nellaicmpcapture.pcap
file.sudo tcpdump -r ~/icmpcapture.pcap -n
Per le VM di backend nel gruppo di istanze
ig-us-l3-default
, dovresti vedere di file come:reading from file /home/[user-directory]/icmpcapture.pcap, link-type EN10MB (Ethernet) 22:13:07.814486 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 1, length 64 22:13:07.814513 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 1, length 64 22:13:08.816150 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 2, length 64 22:13:08.816175 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 2, length 64 22:13:09.817536 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 3, length 64 22:13:09.817560 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 3, length 64 ...
Per le VM di backend nel gruppo di istanze
ig-us-tcp-80
, dovresti vedere che nessuna di pacchetti e il file deve essere vuoto:reading from file /home/[user-directory]/icmpcapture.pcap, link-type EN10MB (Ethernet)
Opzioni di configurazione aggiuntive
Crea una regola di forwarding IPv6 con BYOIP
Il bilanciatore del carico creato nei passaggi precedenti è stato configurato con
regole di forwarding con IP version
come IPv4
o IPv6
. Questa sezione fornisce
Istruzioni per creare una regola di forwarding IPv6 con Bring Your Own IP (BYOIP)
indirizzi IP esterni.
Adotta i tuoi indirizzi IP per eseguire il provisioning e utilizzare i tuoi indirizzi indirizzi IPv6 per le risorse Google Cloud. Per ulteriori informazioni, vedi Integra i tuoi indirizzi IP.
Prima di iniziare a configurare una regola di forwarding IPv6 con indirizzi BYOIP, devi completa i seguenti passaggi:
- Crea un prefisso IPv6 annunciato pubblicamente
- Creare prefissi delegati pubblici
- Crea sottoprefissi IPv6
- Annuncia il prefisso
Per creare una nuova regola di forwarding:
Console
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
- Fai clic sul nome del bilanciatore del carico che vuoi modificare.
- Fai clic su Modifica.
- Fai clic su Configurazione frontend.
- Fai clic su Aggiungi IP e porta frontend.
- Nella sezione Nuovo IP e porta frontend, specifica seguenti:
- Il Protocollo è TCP.
- Nel campo Versione IP, seleziona IPv6.
- Nel campo Intervallo di origine IPv6, seleziona BYOIP.
- Nell'elenco Raccolta IP, seleziona un sottoprefisso creato nel passaggi precedenti con l'opzione della regola di forwarding abilitata.
- Nel campo Intervallo IPv6, inserisci l'intervallo di indirizzi IPv6. Il protocollo IPv6 che l'intervallo di indirizzi deve rispettare Specifiche del sottoprefisso IPv6.
- Nel campo Ports (Porte), inserisci un numero di porta.
- Fai clic su Fine.
- Fai clic su Aggiungi IP e porta frontend.
- Nella sezione Nuovo IP e porta frontend, specifica seguenti:
- Il Protocollo è L3 (protocolli multipli).
- Nel campo Versione IP, seleziona IPv6.
- Nel campo Intervallo di origine IPv6, seleziona BYOIP.
- Nell'elenco Raccolta IP, seleziona un sottoprefisso creato nel passaggi precedenti con l'opzione della regola di forwarding abilitata.
- Nel campo Intervallo IPv6, inserisci l'intervallo di indirizzi IPv6. Il protocollo IPv6 che l'intervallo di indirizzi deve rispettare Specifiche del sottoprefisso IPv6.
- Nel campo Ports (Porte), seleziona All (Tutte).
- Fai clic su Fine.
- Fai clic su Aggiorna.
Google Cloud CLI
Crea la regola di forwarding utilizzando il metodo
Comando gcloud compute forwarding-rules create
:
gcloud compute forwarding-rules create FWD_RULE_NAME \ --load-balancing-scheme EXTERNAL \ --ip-protocol L3_DEFAULT \ --ports ALL \ --ip-version IPV6 \ --region REGION_A \ --address IPV6_CIDR_RANGE \ --backend-service BACKEND_SERVICE \ --ip-collection PDP_NAME
Crea la regola di forwarding utilizzando il metodo
Comando gcloud compute forwarding-rules create
:
gcloud compute forwarding-rules create FWD_RULE_NAME \ --load-balancing-scheme EXTERNAL \ --ip-protocol PROTOCOL \ --ports ALL \ --ip-version IPV6 \ --region REGION_A \ --address IPV6_CIDR_RANGE \ --backend-service BACKEND_SERVICE \ --ip-collection PDP_NAME
Sostituisci quanto segue:
FWD_RULE_NAME
: il nome della regola di forwardingREGION_A
: regione per la regola di forwardingIPV6_CIDR_RANGE
: l'intervallo di indirizzi IPv6 che le pubblicazioni delle regola di forwarding. L'intervallo di indirizzi IPv6 deve rispettare le Specifiche del sottoprefisso IPv6.BACKEND_SERVICE
: il nome del servizio di backendPDP_NAME
: il nome del prefisso delegato pubblico. Il PDP deve essere un sottoprefisso nel Modalità EXTERNAL_IPV6_FORWARDING_RULE_CREATION
Passaggi successivi
- Per configurare un bilanciatore del carico di rete passthrough esterno con backend NEG a livello di zona che ti consentono di inoltrare
di pacchetti alle interfacce di rete non
nic0
delle istanze VM, consulta Configurare un bilanciatore del carico di rete passthrough esterno con NEG a livello di zona - Per informazioni su come funzionano i bilanciatori del carico di rete passthrough esterni con il backend vedi Bilanciatore del carico di rete passthrough esterno basato su servizi di backend Panoramica.
- Scopri come eseguire la transizione di un bilanciatore del carico di rete passthrough esterno dal backend di un pool di destinazione a a un servizio di backend regionale, consulta Eseguire la migrazione di bilanciatori del carico di rete passthrough esterni dai pool di destinazione ai servizi di backend
- Per configurare la protezione DDoS di rete avanzata per un bilanciatore del carico di rete passthrough esterno utilizzando Google Cloud Armor, consulta Configurare protezione DDoS di rete avanzata.
- Per eliminare le risorse, consulta Pulizia del bilanciatore del carico configurazione.