Questo documento mostra come eseguire il deployment di un bilanciatore del carico di rete passthrough esterno regionale con backend di gruppi di endpoint di rete (NEG) di zona. I NEG di zona con endpoint GCE_VM_IP ti consentono di:
- Inoltra i pacchetti alle interfacce di rete non
nic0delle istanze di macchine virtuali (VM) rappresentando un'interfaccia di rete di un'istanza VM come endpoint di backend. - Crea un insieme flessibile di endpoint di backend in cui un endpoint può essere collegato a più NEG e ogni NEG può avere un insieme di endpoint diverso, ma possibilmente sovrapposto.
Prima di seguire questo documento, acquisisci familiarità con gli argomenti seguenti:
- NEG di zona nella panoramica del bilanciatore del carico di rete passthrough esterno regionale basato sul servizio di backend
- Panoramica dei gruppi di endpoint di rete a livello di zona
Autorizzazioni
Per seguire questi passaggi, devi creare istanze e modificare una rete in un progetto. Devi avere il ruolo di proprietario o editor del progetto oppure disporre di tutti i seguenti ruoli IAM di Compute Engine:
| Attività | Ruolo richiesto |
|---|---|
| Crea reti, subnet e componenti del bilanciatore del carico | Compute Network Admin (roles/compute.networkAdmin)
|
| Aggiungere e rimuovere regole firewall | Compute Security Admin (roles/compute.securityAdmin)
|
| Creare istanze | Compute Instance Admin (roles/compute.instanceAdmin)
|
Per saperne di più, consulta le pagine seguenti:
Panoramica della configurazione
Questo documento mostra come configurare e testare un bilanciatore del carico di rete passthrough esterno regionale che utilizza backend NEG di zona GCE_VM_IP. I passaggi descritti in questa sezione spiegano come
configurare quanto segue:
- Una rete VPC di esempio denominata
lb-networkcon una subnet personalizzata. - Regole firewall che consentono le connessioni in entrata alle VM di backend.
- Quattro VM:
- VM
vm-a1evm-a2nella zonaus-west1-a - VM
vm-c1evm-c2nella zonaus-west1-c
- VM
- Due NEG di backend a livello di zona,
neg-anella zonaus-west1-aeneg-cnella zonaus-west1-c. Ogni NEG ha i seguenti endpoint:neg-acontiene questi due endpoint:nic1della VMvm-a1identificata dal suo indirizzo IP interno principalenic1della VMvm-a2identificata dal suo indirizzo IP interno principale
neg-ccontiene questi due endpoint:nic1della VMvm-c1identificata dal relativo indirizzo IP interno principalenic1della VMvm-c2identificata dal relativo indirizzo IP interno principale
- Una VM client (
vm-client) inus-west1-aper testare le connessioni - I seguenti componenti del bilanciatore del carico:
- Un servizio di backend esterno nella regione
us-west1per gestire la distribuzione delle connessioni ai due NEG di zona - Una regola di forwarding e un indirizzo IP esterni per il frontend del bilanciatore del carico
- Un servizio di backend esterno nella regione
Il bilanciatore del carico di rete passthrough esterno regionale è un bilanciatore del carico regionale. Tutti i componenti del bilanciatore del carico (VM di backend, servizio di backend e regola di forwarding) devono trovarsi nella stessa regione.
L'architettura per questo esempio ha questo aspetto:
Prima di iniziare
Installa Google Cloud CLI. Per una panoramica completa dello strumento, consulta la panoramica di gcloud CLI. Puoi trovare i comandi relativi al bilanciamento del carico nei riferimenti API e gcloud.
Se non hai mai eseguito gcloud CLI, esegui prima il
comando gcloud init per l'autenticazione.
Questa pagina presuppone che tu abbia familiarità con bash.
Configura la rete e le subnet
L'esempio in questa pagina utilizza una rete VPC in modalità personalizzata denominata lb-network. Se vuoi gestire solo il traffico IPv4, puoi utilizzare una rete VPC in modalità automatica.
Tuttavia, le subnet con intervalli di indirizzi IPv6 non sono supportate nelle reti VPC in modalità automatica. Le subnet con intervalli di indirizzi IPv6 sono supportate solo sulle reti VPC in modalità personalizzata.
In questo esempio vengono create subnet dei seguenti tipi di stack:
| Intervalli di subnet | Tipo di stack |
|---|---|
| Solo intervalli di subnet IPv4 | IPV4_ONLY (stack singolo) |
| Intervalli di subnet IPv4 e IPv6 | IPV4_IPV6 (doppio stack) |
| Solo intervalli di subnet IPv6 | IPV6_ONLY (stack singolo) |
Per le subnet a doppio stack e solo IPv6 che utilizzano un intervallo di indirizzi IPv6, devi
scegliere un tipo di accesso IPv6 per la subnet. Il tipo di accesso IPv6 determina se la subnet è configurata con indirizzi IPv6 interni o indirizzi IPv6 esterni. Per questo esempio,
il parametro ipv6-access-type della subnet è impostato su EXTERNAL.
Una subnet con un intervallo di indirizzi IPv6 esterni, ovvero il cui parametro ipv6-access-type è impostato su EXTERNAL, può essere utilizzata anche per l'origine dell'indirizzo IPv6 esterno di una regola di forwarding. Per saperne di più, consulta Specifiche dell'indirizzo IP per le regole di forwarding.
I backend e i componenti del bilanciatore del carico utilizzati per questo esempio si trovano in questa regione e subnet:
- Regione:
us-central1 - Subnet:
lb-subnet, con intervallo di indirizzi IPv4 principali 10.1.2.0/24. Sebbene tu scelga l'intervallo di indirizzi IPv4 configurato nella subnet, l'intervallo di indirizzi IPv6 viene assegnato automaticamente. Google fornisce un blocco CIDR IPv6 di dimensioni fisse (/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.
In Nome, inserisci
lb-network.Imposta Modalità di creazione subnet su Personalizzata.
Nella sezione Subnet, fai clic su Aggiungi subnet e configura i seguenti campi:
- Nome:
lb-subnet - Regione:
us-central1 - Tipo di stack IP: IPv4 e IPv6 (stack doppio)
- Intervallo IPv4:
10.1.2.0/24
Sebbene tu possa configurare un intervallo di indirizzi IPv4 per la subnet, non puoi scegliere l'intervallo di indirizzi IPv6 per la subnet. Google fornisce un blocco CIDR IPv6 di dimensioni fisse (/64). - Tipo di accesso IPv6: Esterno
- Fai clic su Fine.
- 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.
In Nome, inserisci
lb-network.Imposta Modalità di creazione subnet su Personalizzata.
Nella sezione Subnet, fai clic su Aggiungi subnet e configura i seguenti campi:
- 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.
Per supportare solo il traffico IPv6, segui questi passaggi:
Nella console Google Cloud , vai alla pagina Reti VPC.
Fai clic su Crea rete VPC.
In Nome, inserisci
lb-network.Imposta Modalità di creazione subnet su Personalizzata.
Nella sezione Subnet, fai clic su Aggiungi subnet e configura i seguenti campi:
- Nome:
lb-subnet - Regione:
us-central1 - Tipo di stack IP: IPv6 (stack singolo)
- Tipo di accesso IPv6: Esterno
- Nome:
Fai clic su Crea.
gcloud
Crea la rete VPC in modalità personalizzata:
gcloud compute networks create lb-network \ --subnet-mode=customAll'interno della rete
lb-network, crea una subnet per i backend nella regioneus-central1.Per il traffico IPv4 e IPv6, utilizza il seguente comando per creare una 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-central1Per il solo traffico IPv4, utilizza questo comando:
gcloud compute networks subnets create lb-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1Per il traffico solo IPv6, utilizza il seguente comando:
gcloud compute networks subnets create lb-subnet \ --stack-type=IPV6_ONLY \ --ipv6-access-type=EXTERNAL \ --network=lb-network \ --region=us-central1
Crea VM e gruppi di endpoint di rete
Per dimostrare la natura regionale dei bilanciatori del carico di rete passthrough esterni regionali, questo esempio utilizza due backend NEG di zona in due zone diverse. Il traffico viene bilanciato del carico su entrambi i NEG e sugli endpoint all'interno di ogni NEG.
Crea VM
Per questo scenario di bilanciamento del carico, crea quattro VM e installa un server web Apache su ogni istanza. Il server web è in ascolto sulla porta TCP 80. Per impostazione predefinita, Apache è configurato per il binding a qualsiasi indirizzo IP. I bilanciatori del carico di rete passthrough esterni regionali recapitano i pacchetti conservando l'indirizzo IP di destinazione.
Per semplicità didattica, queste VM di backend eseguono Debian GNU Linux 10.
Per gestire il traffico IPv4 e IPv6, configura le VM di backend in modo che siano
a doppio stack. Imposta stack-type della VM su IPV4_IPV6. Le VM ereditano anche l'impostazione ipv6-access-type (in questo esempio, EXTERNAL) dalla subnet. Per
maggiori dettagli sui requisiti IPv6, consulta la Panoramica del bilanciatore del carico di rete passthrough esterno regionale: regole di forwarding.
Per utilizzare le VM esistenti come backend, aggiornale in modo che siano dual-stack utilizzando il
comando gcloud compute instances network-interfaces update.
Le istanze che partecipano come VM di backend per i bilanciatori del carico di rete passthrough esterni regionali devono eseguire l'ambiente guest Linux, l'ambiente guest Windows o altri processi appropriati che forniscono funzionalità equivalenti.
Ogni VM viene creata con due interfacce di rete, nic0 e nic1. Questo tutorial
utilizza nic1, che è associato alla rete VPC lb-network
e alla subnet lb-subnet. Utilizza questa rete lb-network e questa subnet lb-subnet
per creare i NEG di zona più avanti in questa procedura.
Console
Crea VM
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-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 in precedenza.
Per Regione, scegli
us-west1e seleziona una Zona come indicato in precedenza.Nella sezione Disco di avvio, assicurati che Debian GNU/Linux 12 (bookworm) sia selezionato per le opzioni del disco di avvio. Se necessario, fai clic su Scegli per modificare l'immagine.
Fai clic su Opzioni avanzate e apporta le seguenti modifiche:
- Fai clic su Networking e aggiungi i seguenti Tag di rete:
lb-tag In Interfacce di rete, fai clic su Aggiungi interfaccia di rete e apporta le seguenti modifiche:
Per i backend IPv4 e IPv6:
- Rete:
lb-network - Subnet:
lb-subnet - Tipo di stack IP:
IPv4 and IPv6 (dual-stack) - IP interno principale: Temporaneo (automatico)
- Indirizzo IPv4 esterno: temporaneo (automatico)
- Indirizzo IPv6 esterno: temporaneo (automatico)
Per i backend solo IPv4:
- Rete:
lb-network - Subnet:
lb-subnet - Tipo di stack IP:
IPv4 (single-stack) - IP interno principale: Temporaneo (automatico)
- IP esterno: Temporaneo
Dopodiché, fai clic su Fine.
- Rete:
Fai clic su Gestione. Nel campo Script di avvio, copia e incolla i seguenti contenuti dello script. 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 Networking e aggiungi i seguenti Tag di rete:
Fai clic su Crea.
gcloud
Crea le quattro VM eseguendo quattro volte il seguente comando, utilizzando
queste quattro combinazioni per VM_NAME e ZONE. I contenuti dello script
sono identici per tutte e quattro le VM.
VM_NAME:vm-a1eZONE:us-west1-aVM_NAME:vm-a2eZONE:us-west1-aVM_NAME:vm-c1eZONE:us-west1-cVM_NAME:vm-c2eZONE:us-west1-c
Per gestire il traffico IPv4 e IPv6, utilizza il seguente comando.
gcloud compute instances create VM_NAME \
--zone=ZONE \
--image-family=debian-12 \
--image-project=debian-cloud \
--tags=lb-tag \
--network-interface=network=default,subnet=default,stack_type=IPV4_IPV6,--ipv6-network-tier=PREMIUM \
--network-interface=network=lb-network,subnet=lb-subnet,stack_type=IPV4_IPV6,--ipv6-network-tier=PREMIUM \
--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'
Per gestire il traffico solo IPv4, utilizza questo comando:
gcloud compute instances create VM_NAME \
--zone=ZONE \
--image-family=debian-12 \
--image-project=debian-cloud \
--tags=lb-tag \
--network-interface=network=default,subnet=default,stack_type=IPV4_ONLY \
--network-interface=network=lb-network,subnet=lb-subnet,stack_type=IPV4_ONLY \
--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 NEG a livello di zona con endpoint GCE_VM_IP
I NEG devono essere creati nelle stesse zone delle VM create nel passaggio precedente. Questo esempio crea anche il NEG nella rete VPC lb-network e nella subnet lb-subnet associate a nic1 delle VM create nel passaggio precedente. Pertanto, gli endpoint del
NEG si troveranno su nic1 delle VM.
Console
Per creare un gruppo di endpoint di rete a livello di zona:
- Vai alla pagina Gruppi di endpoint di rete nella console Google Cloud .
Vai alla pagina Gruppi di endpoint di rete - Fai clic su Crea gruppo di endpoint di rete.
- Inserisci un Nome per il NEG a livello di zona:
neg-a. - Seleziona il Tipo di gruppo di endpoint di rete: Gruppo di endpoint di rete (a livello di zona).
- Seleziona la rete: lb-network
- Seleziona la subnet: lb-subnet
- Seleziona la zona: us-west1-a
- Fai clic su Crea.
- Ripeti questi passaggi per creare un secondo NEG a livello di zona chiamato
neg-cnella zona us-west1-c.
Aggiungi endpoint al NEG di zona:
- Vai alla pagina Gruppi di endpoint di rete nella console Google Cloud .
Vai a Gruppi di endpoint di rete - Fai clic sul nome del primo gruppo di endpoint di rete creato nel passaggio precedente (neg-a). Viene visualizzata la pagina Dettagli gruppo di endpoint di rete.
Nella sezione Endpoint di rete in questo gruppo, fai clic su Aggiungi endpoint di rete. Viene visualizzata la pagina Aggiungi endpoint di rete.
- Fai clic su Istanza VM e seleziona vm-a1 per aggiungere i relativi indirizzi IP interni come endpoint di rete.
- Fai clic su Crea.
- Fai di nuovo clic su Aggiungi endpoint di rete e, in Istanza VM, seleziona vm-a2.
- Fai clic su Crea.
Fai clic sul Nome del secondo gruppo di endpoint di rete creato nel passaggio precedente (neg-c). Viene visualizzata la pagina Dettagli gruppo di endpoint di rete.
Nella sezione Endpoint di rete in questo gruppo, fai clic su Aggiungi endpoint di rete. Viene visualizzata la pagina Aggiungi endpoint di rete.
- Fai clic su Istanza VM e seleziona vm-c1 per aggiungere i relativi indirizzi IP interni come endpoint di rete.
- Fai clic su Crea.
- Fai di nuovo clic su Aggiungi endpoint di rete e, in Istanza VM, seleziona vm-c2.
- Fai clic su Crea.
gcloud
Crea un NEG di zona
GCE_VM_IPdenominatoneg-ainus-west1-autilizzando il comandogcloud compute network-endpoint-groups create:gcloud compute network-endpoint-groups create neg-a \ --network-endpoint-type=gce-vm-ip \ --zone=us-west1-a \ --network=lb-network \ --subnet=lb-subnetAggiungi endpoint a
neg-a:gcloud compute network-endpoint-groups update neg-a \ --zone=us-west1-a \ --add-endpoint='instance=vm-a1' \ --add-endpoint='instance=vm-a2'Crea un NEG di zona
GCE_VM_IPdenominatoneg-cinus-west1-cutilizzando il comandogcloud compute network-endpoint-groups create:gcloud compute network-endpoint-groups create neg-c \ --network-endpoint-type=gce-vm-ip \ --zone=us-west1-c \ --network=lb-network \ --subnet=lb-subnetAggiungi endpoint a
neg-c:gcloud compute network-endpoint-groups update neg-c \ --zone=us-west1-c \ --add-endpoint='instance=vm-c1' \ --add-endpoint='instance=vm-c2'
Configurazione delle regole del firewall
Crea regole firewall che consentano al traffico esterno (inclusi i probe di controllo di integrità) di raggiungere le istanze di backend.
Questo esempio crea una regola firewall che consente al traffico TCP da tutti gli intervalli di origine di raggiungere le istanze di backend sulla porta 80. Se vuoi creare regole firewall separate specificamente per i probe del controllo di integrità, utilizza gli intervalli di indirizzi IP di origine documentati in Panoramica dei controlli di integrità: intervalli IP dei probe e regole firewall.
Console
Nella console Google Cloud , vai alla pagina Firewall.
Per consentire il traffico IPv4, segui questi passaggi:
- Fai clic su Crea regola firewall.
- Inserisci un Nome:
allow-network-lb-ipv4. - In Rete, seleziona lb-network.
- In Destinazioni, seleziona Tag di destinazione specificati.
- Nel campo Tag di destinazione, inserisci
lb-tag. - In Filtro di origine, seleziona Intervalli IPv4.
- Imposta Intervalli IPv4 di origine su
0.0.0.0/0. Ciò consente il traffico IPv4 da qualsiasi origine. Ciò consente inoltre ai probe di controllo di integrità di Google di raggiungere le istanze di backend. - In Protocolli e porte specificati, seleziona TCP
e inserisci
80. - Fai clic su Crea.
Per consentire il traffico IPv6, segui questi passaggi:
- Fai di nuovo clic su Crea regola firewall.
- Inserisci un Nome:
allow-network-lb-ipv6. - In Rete, seleziona lb-network.
- In Destinazioni, seleziona Tag di destinazione specificati.
- Nel campo Tag di destinazione, inserisci
lb-tag. - In Filtro di origine, seleziona Intervalli IPv6.
- Imposta Intervalli IPv6 di origine su
::/0. Ciò consente il traffico IPv6 da qualsiasi origine. Ciò consente inoltre ai probe di controllo di integrità di Google di raggiungere le istanze di backend. - In Protocolli e porte specificati, seleziona TCP
e inserisci
80. - Fai clic su Crea.
gcloud
Per consentire il traffico IPv4, esegui questo comando:
gcloud compute firewall-rules create allow-network-lb-ipv4 \
--network=lb-network \
--target-tags=lb-tag \
--allow=tcp:80 \
--source-ranges=0.0.0.0/0
Per consentire il traffico IPv6, esegui questo comando:
gcloud compute firewall-rules create allow-network-lb-ipv6 \
--network=lb-network \
--target-tags=lb-tag \
--allow=tcp:80 \
--source-ranges=::/0
Configura il bilanciatore del carico
Successivamente, configura il bilanciatore del carico.
Quando configuri il bilanciatore del carico, le VM
ricevono i pacchetti destinati all'indirizzo IP esterno statico che
configuri. Se utilizzi un'immagine fornita da
Compute Engine, le tue
istanze vengono configurate automaticamente per gestire questo indirizzo IP. Se utilizzi
un'altra immagine, devi configurare questo indirizzo come alias su eth1 o
come loopback su ogni istanza.
Per configurare il bilanciatore 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.
- 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
il nome
network-lb-zonal-negper il nuovo bilanciatore del carico. - Nell'elenco Regione, seleziona
us-west1. - Fai clic su Configurazione backend. Viene visualizzato il nome del bilanciatore del carico che hai inserito in precedenza, ma non è modificabile.
- Nell'elenco Tipo di backend, seleziona Gruppo di endpoint di rete zonale.
- Nella pagina Configurazione backend, segui questi passaggi:
- Nell'elenco Controllo di integrità, fai clic su Crea un controllo di integrità, quindi inserisci le seguenti informazioni:
- Nome:
tcp-health-check - Protocollo: TCP
- Porta:
80
- Nome:
- Fai clic su Crea.
- Nell'elenco Gruppo di endpoint di rete, seleziona
neg-ae poi fai clic su Fine. - Fai clic su Aggiungi backend e ripeti il passaggio precedente per aggiungere
neg-c. - Fai clic su Salva.
- Nell'elenco Controllo di integrità, fai clic su Crea un controllo di integrità, quindi inserisci le seguenti informazioni:
- Verifica che sia presente un segno di spunta blu accanto a Configurazione backend prima di continuare.
Configurazione frontend
- Fai clic su Configurazione frontend.
- In Nome, inserisci
netlb-forwarding-rule. - Per gestire il traffico IPv4, segui questi passaggi:
- In Versione IP, seleziona IPv4.
- In Indirizzo IP, fai clic sul menu a discesa e seleziona Crea
indirizzo IP.
- Nella pagina Prenota un nuovo indirizzo IP statico, inserisci
netlb-ipv4-addressin Nome. - Fai clic su Prenota.
- Nella pagina Prenota un nuovo indirizzo IP statico, inserisci
- In Porte, scegli Singola. In Numero porta, inserisci
80. - Fai clic su Fine.
Per gestire il traffico IPv6:
- In Versione IP, seleziona IPv6.
- In Subnet, seleziona lb-subnet.
- Per Intervallo IPv6, fai clic sul menu a discesa e seleziona Crea
indirizzo IP.
- Nella pagina Prenota un nuovo indirizzo IP statico, inserisci
netlb-ipv6-addressin Nome. - Fai clic su Prenota.
- Nella pagina Prenota un nuovo indirizzo IP statico, inserisci
- In Porte, scegli Singola. In Numero porta, inserisci
80. - Fai clic su Fine.
Un cerchio blu con un segno di spunta a sinistra di Configurazione frontend indica che la configurazione è stata eseguita correttamente.
Esamina 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 dell'API REST che verrà utilizzata per creare il bilanciatore del carico.
Fai clic su Crea.
Nella pagina 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 è integro.
gcloud
Prenota un indirizzo IP esterno statico.
Per il traffico IPv4
Crea un indirizzo IPv4 esterno statico per il bilanciatore del carico.
gcloud compute addresses create netlb-ipv4-address \ --region=us-west1Per il traffico IPv6
Crea un intervallo di indirizzi IPv6 esterno statico per il bilanciatore del carico. La subnet utilizzata deve essere una subnet a doppio stack con un intervallo IPv6 esterno.
gcloud compute addresses create netlb-ipv6-address \ --region=us-west1 \ --subnet=lb-subnet \ --ip-version=IPV6 \ --endpoint-type=NETLBCrea un controllo di integrità TCP.
gcloud compute health-checks create tcp tcp-health-check \ --region=us-west1 \ --port=80Crea un servizio di backend.
gcloud compute backend-services create networklb-backend-service \ --protocol=TCP \ --health-checks=tcp-health-check \ --health-checks-region=us-west1 \ --region=us-west1Aggiungi i due NEG di zona,
neg-aeneg-c, al servizio di backend:gcloud compute backend-services add-backend networklb-backend-service \ --region=us-west1 \ --network-endpoint-group=neg-a \ --network-endpoint-group-zone=us-west1-agcloud compute backend-services add-backend networklb-backend-service \ --region=us-west1 \ --network-endpoint-group=neg-c \ --network-endpoint-group-zone=us-west1-cCrea le regole di forwarding a seconda che tu voglia gestire il traffico IPv4 o IPv6. Crea entrambe le regole di forwarding per gestire entrambi i tipi di traffico.
Per il traffico IPv4
Crea una regola di forwarding per instradare il traffico TCP in entrata al servizio di backend. Utilizza l'indirizzo IPv4 prenotato nel passaggio 1 come indirizzo IP esterno statico del bilanciatore del carico.
gcloud compute forwarding-rules create forwarding-rule-ipv4 \ --load-balancing-scheme=EXTERNAL \ --region=us-west1 \ --ports=80 \ --address=netlb-ipv4-address \ --backend-service=networklb-backend-servicePer il traffico IPv6
Crea una regola di forwarding per gestire il traffico IPv6. Utilizza l'intervallo di indirizzi IPv6 riservato nel passaggio 1 come indirizzo IP esterno statico del bilanciatore del carico. La subnet utilizzata deve essere una subnet a doppio stack con un intervallo di subnet IPv6 esterno.
gcloud compute forwarding-rules create forwarding-rule-ipv6 \ --load-balancing-scheme=EXTERNAL \ --region=us-west1 \ --network-tier=PREMIUM \ --ip-version=IPV6 \ --subnet=lb-subnet \ --address=netlb-ipv6-address \ --ports=80 \ --backend-service=networklb-backend-service
testa il bilanciatore del carico
Ora che il servizio di bilanciamento del carico è configurato, puoi iniziare a inviare traffico all'indirizzo IP esterno del bilanciatore del carico e osservare la distribuzione del traffico alle istanze di backend.
Cerca l'indirizzo IP esterno del bilanciatore del carico
Console
Nella pagina di bilanciamento del carico Avanzate, vai alla scheda Regole di inoltro.
Individua la regola di forwarding utilizzata dal bilanciatore del carico.
Nella colonna Indirizzo, prendi nota dell'indirizzo IP esterno elencato.
gcloud: IPv4
Inserisci il seguente comando per visualizzare l'indirizzo IPv4 esterno della regola di forwarding network-lb-forwarding-rule utilizzata dal bilanciatore del carico.
gcloud compute forwarding-rules describe forwarding-rule-ipv4 \
--region=us-west1
gcloud: IPv6
Inserisci il seguente comando per visualizzare l'indirizzo IPv6 esterno della regola di forwarding network-lb-forwarding-rule utilizzata dal bilanciatore del carico.
gcloud compute forwarding-rules describe forwarding-rule-ipv6 \
--region=us-west1
Invia traffico al bilanciatore del carico
Invia richieste web al bilanciatore del carico utilizzando curl per contattare il relativo indirizzo IP.
Dai client con connettività IPv4, esegui questo comando:
while true; do curl -m1 IPV4_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]:80, il comando è simile al seguente:while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:80; done
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_NAME
La risposta del comando curl si alterna in modo casuale tra le istanze di backend. Se inizialmente la risposta non è andata a buon fine, potresti dover attendere circa 30 secondi in modo che la configurazione sia caricata completamente e le istanze siano contrassegnate come integre prima di riprovare.
Opzioni di configurazione aggiuntive
Per personalizzare ulteriormente il bilanciatore del carico di rete passthrough esterno regionale, puoi configurare l'affinità sessione, il routing del traffico e impostare un criterio di failover o un criterio di monitoraggio delle connessioni. Queste attività sono facoltative e puoi eseguirle in qualsiasi ordine. Per istruzioni, vedi Opzioni di configurazione aggiuntive.
Crea una regola di forwarding IPv6 con BYOIP
Il bilanciatore del carico creato nei passaggi precedenti è configurato con
regole di forwarding con IP version come IPv4 o IPv6. Questa sezione fornisce
istruzioni per creare una regola di forwarding IPv6 con indirizzi
Bring Your Own IP (BYOIP).
Bring Your Own IP ti consente di eseguire il provisioning e utilizzare i tuoi indirizzi IPv6 pubblici per le risorse Google Cloud . Per saperne di più, consulta Bring Your Own IP.
Prima di iniziare a configurare una regola di forwarding IPv6 con indirizzi BYOIP, devi completare i seguenti passaggi:
- Crea un prefisso IPv6 annunciato pubblicamente
- Crea prefissi delegati pubblici
- Crea i sottoprefissi IPv6
- Annuncia il prefisso
Puoi configurare un bilanciatore del carico di rete passthrough esterno regionale in modo che utilizzi indirizzi IPv6 da un prefisso delegato pubblico (PDP). Puoi eseguire il deployment utilizzando uno dei tre workflow:
- Allocazione diretta da un PDP. Se preferisci che l'indirizzo IP sia collegato direttamente al ciclo di vita del bilanciatore del carico, puoi fare riferimento al PDP direttamente durante la creazione della regola di forwarding. L'IP temporaneo viene rilasciato di nuovo nel pool PDP se il bilanciatore del carico viene eliminato.
- Prenota un indirizzo IPv6 BYOIP. Puoi prenotare un indirizzo IPv6 BYOIP regionale specifico o allocato automaticamente da un PDP prima della creazione del bilanciatore del carico. Questo indirizzo persiste indipendentemente dal ciclo di vita del bilanciatore del carico. Questo è il percorso obbligatorio per gli utenti di Google Kubernetes Engine (GKE) perché l'API GKE non supporta la creazione di un bilanciatore del carico di rete pass-through direttamente da un PDP.
- Promuovere un IP temporaneo. Se un bilanciatore del carico è già in esecuzione con un indirizzo IPv6 temporaneo BYOIP, puoi promuoverlo a un indirizzo riservato in modo che venga mantenuto anche se il bilanciatore del carico viene eliminato.
Limitazioni
- Per configurare una regola di forwarding IPv6 con un indirizzo BYOIP, la lunghezza del prefisso dell'indirizzo IPv6 della regola di forwarding deve corrispondere alla
lunghezza del prefisso allocabile del prefisso secondario IPv6 (in modalità
EXTERNAL_IPV6_FORWARDING_RULE_CREATION) da cui viene allocato l'indirizzo IPv6 della regola di forwarding. La lunghezza del prefisso può essere uno tra/48,/56,/64,/72,/80,/88o/96. - L'indirizzo IPv6 deve trovarsi nella stessa regione del PDP.
A seconda dei requisiti, scegli uno dei seguenti deployment:
Allocazione diretta da un PDP
Crea la regola di forwarding facendo riferimento direttamente alla pagina dei dettagli del prodotto. L'indirizzo IP è legato al ciclo di vita del bilanciatore del carico.
Console
Nella console Google Cloud , vai alla pagina Bilanciamento del carico.
- Fai clic sul nome del bilanciatore del carico da modificare.
- Fai clic su Modifica.
- Fai clic su Configurazione frontend.
- Fai clic su Aggiungi IP e porta frontend.
- Nella sezione Nuovi IP e porta frontend, specifica quanto segue:
- Seleziona il protocollo che ti serve.
- Nel campo Versione IP, seleziona IPv6.
- Nel campo Origine dell'intervallo IPv6, seleziona BYOIP.
- Nel campo Tipo BYOIP, seleziona Raccolta IP BYOIP.
- Nell'elenco Raccolta IP, seleziona un sottoprefisso (PDP) creato nei passaggi precedenti con l'opzione della regola di forwarding abilitata.
- Nel campo Intervallo IPv6, inserisci l'intervallo di indirizzi IPv6. La lunghezza del prefisso dell'intervallo di indirizzi IPv6 deve corrispondere alla lunghezza del prefisso allocabile del sottoprefisso associato.
- Nel campo Porte, inserisci un numero di porta.
- Fai clic su Fine.
- Fai clic su Aggiorna.
gcloud
Utilizza il
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 forwardingPROTOCOL: il protocollo IP per la regola di forwarding. Il valore predefinito èTCP. Il protocollo IP può essereTCP,UDPoL3_DEFAULT.REGION_A: la regione per la regola di forwardingIPV6_CIDR_RANGE: l'intervallo di indirizzi IPv6 gestito dalla regola di forwarding. Il prefisso dell'intervallo di indirizzi IPv6 deve corrispondere alla lunghezza del prefisso allocabile specificata dal sottoprefisso associato.BACKEND_SERVICE: il nome del servizio di backendPDP_NAME: il nome del prefisso delegato pubblico. Il PDP deve essere un sottoprefisso in modalitàEXTERNAL_IPV6_FORWARDING_RULE_CREATION.
Prenota un indirizzo IPv6 BYOIP
Prenota l'indirizzo IPv6 BYOIP per il bilanciatore del carico, quindi crea la regola di forwarding facendo riferimento all'indirizzo IP o al nome della risorsa dell'indirizzo prenotato.
Console
Prenota l'indirizzo IPv6 BYOIP per il bilanciatore del carico
Nella console Google Cloud , vai alla pagina Indirizzi IP.
- Fai clic su Prenota indirizzo statico.
- Nel campo Nome, inserisci un nome per la risorsa dell'indirizzo IP.
- Nel campo Network Service Tier, seleziona Premium.
- Nel campo Versione IP, seleziona IPv6.
- Seleziona la regione. La regione deve corrispondere a quella della tua pagina dei dettagli del prodotto.
- Seleziona la casella di controllo Assegna dalla raccolta IP.
- Nell'elenco Raccolta IP, seleziona il sottoprefisso IPv6 (PDP) da cui vuoi prenotare l'indirizzo.
- (Facoltativo) Nel campo Indirizzo IP, inserisci un intervallo di indirizzi IPv6 specifico da prenotare (allocazione personalizzata). Se non specifichi un intervallo di indirizzi, Google Cloud alloca automaticamente un intervallo di indirizzi dalla raccolta IP selezionata (allocazione automatica).
- Fai clic su Prenota.
Assegna l'indirizzo prenotato al bilanciatore del carico
Nella console Google Cloud , vai alla pagina Bilanciamento del carico.
- Fai clic sul nome del bilanciatore del carico da modificare.
- Fai clic su Modifica e poi su Configurazione frontend.
- Fai clic su Aggiungi IP e porta frontend.
- Nella sezione Nuovi IP e porta frontend, specifica quanto segue:
- Seleziona il protocollo che ti serve.
- Nel campo Versione IP, seleziona IPv6.
- Nel campo Origine dell'intervallo IPv6, seleziona BYOIP.
- Nel campo Tipo BYOIP, seleziona Indirizzo IP prenotato BYOIP.
- Nell'elenco Indirizzo IP riservato, seleziona la risorsa di indirizzo BYOIPv6 riservato che hai creato nel passaggio 1.
- Nel campo Porte, inserisci un numero di porta.
- Fai clic su Fine.
- Completa la configurazione del bilanciatore del carico e fai clic su Aggiorna.
gcloud
Prenota l'indirizzo IPv6 BYOIP per il bilanciatore del carico
Per prenotare un indirizzo IPv6 BYOIP regionale da un PDP prima della creazione del bilanciatore del carico, esegui il
gcloud compute addresses create comando con --endpoint-type=NETLB. Scegli una delle seguenti opzioni:
-
Per prenotare un intervallo di indirizzi IPv6 specifico, esegui:
gcloud compute addresses create ADDRESS_NAME \ --ip-collection=PDP_NAME \ --addresses=IPV6_ADDRESS \ --region=REGION_A \ --endpoint-type=NETLB \ --prefix-length=PREFIX_LENGTH -
Per fare in modo che Google Cloud allochi automaticamente un intervallo dal PDP, esegui:
gcloud compute addresses create ADDRESS_NAME \ --ip-collection=PDP_NAME \ --region=REGION_A \ --endpoint-type=NETLB \ --prefix-length=PREFIX_LENGTH
Sostituisci quanto segue:
ADDRESS_NAME: il nome della risorsa dell'indirizzo IP riservato.PDP_NAME: il nome del prefisso delegato pubblico. Il PDP deve essere un sottoprefisso in modalitàEXTERNAL_IPV6_FORWARDING_RULE_CREATION.IPV6_ADDRESS: l'indirizzo IPv6 iniziale dell'intervallo (ad esempio,2001:db8::).REGION_A: la regione in cui creare l'indirizzo. Questa regione deve corrispondere a quella del PDP.PREFIX_LENGTH: la lunghezza del prefisso dell'intervallo di indirizzi, che deve essere uguale alla lunghezza del prefisso allocabile del PDP associato (ad esempio,56).
Crea la regola di forwarding utilizzando l'indirizzo riservato
Per creare la regola di forwarding utilizzando l'indirizzo riservato, esegui il
comando gcloud compute forwarding-rules create. Scegli una delle seguenti opzioni:
-
Per fare riferimento all'intervallo di indirizzi IP, esegui questo comando:
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 -
Per fare riferimento al nome dell'indirizzo riservato, esegui questo comando:
gcloud compute forwarding-rules create FWD_RULE_NAME \ --load-balancing-scheme=EXTERNAL \ --ip-protocol=PROTOCOL \ --ports=ALL \ --ip-version=IPV6 \ --region=REGION_A \ --address=ADDRESS_NAME \ --backend-service=BACKEND_SERVICE
Sostituisci quanto segue:
FWD_RULE_NAME: il nome della regola di forwardingPROTOCOL: il protocollo IP per la regola di forwarding. Il valore predefinito èTCP. Il protocollo IP può essereTCP,UDPoL3_DEFAULT.REGION_A: la regione per la regola di forwardingIPV6_CIDR_RANGE: l'intervallo di indirizzi IPv6 gestito dalla regola di forwarding. Il prefisso dell'intervallo di indirizzi IPv6 deve corrispondere alla lunghezza del prefisso allocabile specificata dal sottoprefisso associato.BACKEND_SERVICE: il nome del servizio di backendADDRESS_NAME: il nome della risorsa dell'indirizzo IP riservato.
Promuovere un IP temporaneo a un indirizzo IP riservato
Crea la regola di forwarding utilizzando l'allocazione diretta e promuovi l'indirizzo IP effimero in uso.
Console
- Segui i passaggi per creare la regola di forwarding utilizzando l'allocazione diretta da una pagina di destinazione.
Nella console Google Cloud , vai alla pagina Indirizzi IP.
- Fai clic sulla scheda Indirizzi IP esterni.
- Trova l'indirizzo IPv6 BYOIP effimero associato al bilanciatore del carico di rete passthrough esterno.
- Nella colonna Azioni, fai clic sul menu con tre puntini () e seleziona Promuovi a indirizzo IP statico.
- Inserisci un Nome per l'indirizzo riservato e fai clic su Prenota.
gcloud
- Segui i passaggi per aggiornare la regola di forwarding utilizzando l'allocazione diretta da un PDP.
- Per promuovere l'intervallo IP temporaneo in uso dal bilanciatore del carico a un indirizzo IP statico prenotato, esegui il comando
gcloud compute addresses create:gcloud compute addresses create ADDRESS_NAME \ --addresses=IPV6_ADDRESS \ --region=REGION_A \ --endpoint-type=NETLB \ --prefix-length=PREFIX_LENGTHSostituisci quanto segue:
ADDRESS_NAME: il nome della risorsa dell'indirizzo IP riservato.IPV6_ADDRESS: l'indirizzo IPv6 iniziale dell'intervallo (ad esempio,2001:db8::).REGION_A: la regione per la regola di forwardingPREFIX_LENGTH: la lunghezza del prefisso dell'intervallo di indirizzi, che deve essere uguale alla lunghezza del prefisso allocabile del PDP associato (ad esempio,56).
Passaggi successivi
- Per scoprire come eseguire la migrazione di un bilanciatore del carico di rete passthrough esterno regionale da un backend del pool di destinazione a un servizio di backend regionale, consulta Esegui la migrazione dei bilanciatori del carico di rete passthrough esterni regionali dai pool di destinazione ai servizi di backend.
- Per configurare un bilanciatore del carico di rete passthrough esterno regionale per più protocolli IP (che supportano il traffico IPv4 e IPv6), consulta Configura un bilanciatore del carico di rete passthrough esterno regionale per più protocolli IP.
- Per configurare la protezione DDoS di rete avanzata per un bilanciatore del carico di rete passthrough esterno regionale utilizzando Cloud Armor, consulta Configura la protezione DDoS di rete avanzata.
- Per eliminare le risorse, consulta Esegui la pulizia della configurazione del bilanciatore del carico.