I bilanciatori del carico di rete con proxy esterno globale di Google Cloud ti consentono di utilizzare un unico indirizzo IP per tutti gli utenti di tutto il mondo. I bilanciatori del carico di rete proxy esterno globali indirizzano automaticamente il traffico alle istanze di backend più vicine all'utente.
Questa pagina contiene le istruzioni per configurare un bilanciatore del carico di rete proxy esterno globale con un proxy TCP di destinazione e backend di gruppi di istanze VM. Prima di iniziare, consulta la panoramica dei bilanciatori del carico di rete proxy esterni per informazioni dettagliate sul funzionamento di questi bilanciatori del carico.
Panoramica della configurazione
Questo esempio mostra come configurare un bilanciatore del carico di rete proxy esterno per un servizio esistente in due regioni: la regione A e la regione B.
Ai fini dell'esempio, il servizio è un insieme di server Apache configurati per rispondere sulla porta 110
. Molti browser non consentono la porta 110
, pertanto la sezione di test utilizza curl
.
In questo esempio, configuri quanto segue:
- Quattro istanze distribuite tra due regioni
- Gruppi di istanze, che contengono le istanze
- Un controllo di integrità per verificare l'integrità delle istanze
- Un servizio di backend che monitora le istanze ed evita che superino l'utilizzo configurato
- Il proxy TCP di destinazione
- Un indirizzo IPv4 statico esterno e una regola di forwarding che invia il traffico utente al proxy
- Un indirizzo IPv6 esterno statico e una regola di forwarding che invia il traffico utente al proxy
- Una regola firewall che consenta al traffico proveniente dal bilanciatore del carico e dal controllo di integrità di raggiungere le istanze
Dopo aver configurato il bilanciatore del carico, testa la configurazione.
Autorizzazioni
Per seguire questa guida, devi essere in grado di 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 reti, subnet e 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:
Configura la rete e le subnet
Per creare la rete e la sottorete di esempio, segui questi passaggi.
Console
Per supportare sia il traffico IPv4 che IPv6, svolgi i seguenti passaggi:
Nella console Google Cloud, vai alla pagina Reti VPC.
Fai clic su Crea rete VPC.
Inserisci un nome per la rete.
(Facoltativo) Se vuoi configurare intervalli di indirizzi IPv6 interni sulle subnet di questa rete, completa i seguenti passaggi:
- Per Intervallo IPv6 interno ULA rete VPC, seleziona Abilitato.
Per Alloca intervallo IPv6 interno, seleziona Automaticamente o Manualmente.
Se selezioni Manualmente, inserisci un intervallo
/48
all'interno dell'intervallofd20::/20
. Se l'intervallo è in uso, ti viene chiesto di fornire un altro intervallo.
Per la Modalità di creazione subnet, scegli Personalizzata.
Nella sezione Nuova subnet, configura i seguenti campi:
- Nel campo Nome, fornisci un nome per la sottorete.
- Nel campo Regione, seleziona una regione.
- Per Tipo di stack IP, seleziona IPv4 e IPv6 (stack doppio).
Nel campo Intervallo di indirizzi IP, inserisci un intervallo di indirizzi IP. Si tratta dell'intervallo IPv4 primario per la subnet.
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
).In Tipo di accesso IPv6, seleziona Esterno.
Fai clic su Fine.
Per aggiungere una subnet in un'altra regione, fai clic su Aggiungi subnet e ripeti i passaggi precedenti.
Fai clic su Crea.
Per supportare solo il traffico IPv4, svolgi i seguenti passaggi:
Nella console Google Cloud, vai alla pagina Reti VPC.
Fai clic su Crea rete VPC.
Nel campo Nome, inserisci un nome per la rete.
Per la Modalità di creazione subnet, scegli Personalizzata.
Nella sezione Nuova subnet, configura quanto segue:
- Nel campo Nome, fornisci un nome per la sottorete.
- Nel campo Regione, seleziona una regione.
- Per Tipo di stack IP, seleziona IPv4 (stack singolo).
- Nel campo Intervallo di indirizzi IP, inserisci l'intervallo IPv4 primario per la subnet.
Fai clic su Fine.
Per aggiungere una subnet in un'altra regione, fai clic su Aggiungi subnet e ripeti i passaggi precedenti.
Fai clic su Crea.
gcloud
Crea la rete VPC in modalità personalizzata:
gcloud compute networks create NETWORK \ [ --enable-ula-internal-ipv6 [ --internal-ipv6-range=ULA_IPV6_RANGE ]] \ --switch-to-custom-subnet-mode
All'interno della rete, crea una subnet per i backend.
Per il traffico IPv4 e IPv6, utilizza il seguente comando per aggiornare una subnet:
gcloud compute networks subnets create SUBNET \ --stack-type=IPV4_IPv6 \ --ipv6-access-type=EXTERNAL \ --network=NETWORK \ --region=REGION_A
gcloud compute networks subnets create SUBNET_B \ --stack-type=IPV4_IPv6 \ --ipv6-access-type=EXTERNAL \ --network=NETWORK \ --region=REGION_B
Per solo traffico IPv4, utilizza il seguente comando:
gcloud compute networks subnets create SUBNET \ --network=NETWORK \ --stack-type=IPV4_ONLY \ --range=10.1.2.0/24 \ --region=REGION_A
gcloud compute networks subnets create SUBNET_B \ --stack-type=IPV4_ONLY \ --ipv6-access-type=EXTERNAL \ --network=NETWORK \ --region=REGION_B
Sostituisci quanto segue:
NETWORK
: un nome per la rete VPCULA_IPV6_RANGE
: un prefisso/48
all'interno dell'intervallofd20::/20
utilizzato da Google per gli intervalli di subnet IPv6 interni. Se non utilizzi il flag--internal-ipv6-range
, Google seleziona un prefisso/48
per la reteSUBNET
: un nome per la subnet
REGION_A
oREGION_B
: il nome della regione
Configura i backend dei gruppi di istanze
Questa sezione mostra come creare gruppi di istanze di base, aggiungervi istanze e poi aggiungerle a un servizio di backend con un controllo di integrità. In genere, un sistema di produzione utilizza gruppi di istanze gestite basati su modelli di istanza, ma questa configurazione è più rapida per i test iniziali.
Configura le istanze
A scopo di test, installa Apache su quattro istanze, due in ciascuno di due gruppi di istanze. In genere, i bilanciatori del carico di rete proxy esterni non vengono utilizzati per il traffico HTTP, ma il software Apache è comunemente utilizzato per i test.
In questo esempio, le istanze vengono create con il tag tcp-lb
. Questo tag viene utilizzato in seguito dalla regola firewall.
Console
Creare istanze
Nella console Google Cloud, vai alla pagina Istanze VM.
Fai clic su Crea istanza.
Imposta Nome su
vm-a1
.Imposta Regione su
REGION_A
.Imposta Zona su
ZONE_A
.Fai clic su Opzioni avanzate.
Fai clic su Networking e configura il seguente campo:
- In Tag di rete, inserisci
tcp-lb
,allow-health-check-ipv6
.
Per supportare sia il traffico IPv4 che IPv6, svolgi i seguenti passaggi:
- Nella sezione Interfacce di rete, fai clic su
- Rete:
NETWORK
- Subnet:
SUBNET
- Tipo di stack IP: IPv4 e IPv6 (stack doppio)
Modifica e apporta le seguenti modifiche:
- Rete:
- Fai clic su Fine.
- In Tag di rete, inserisci
Fai clic su Gestione. Inserisci lo script che segue nel campo Script di avvio.
sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a1</h1></body></html>' | sudo tee /var/www/html/index.html
Fai clic su Crea.
Crea
vm-a2
con le stesse impostazioni, tranne che con lo script seguente nel campo Script di avvio:sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a2</h1></body></html>' | sudo tee /var/www/html/index.html
Crea
vm-b1
con le stesse impostazioni, ad eccezione di Regione impostata suREGION_B
e Zona impostata suZONE_B
. Inserisci lo script che segue nel campo Script di avvio:sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b1</h1></body></html>' | sudo tee /var/www/html/index.html
Crea
vm-b2
con le stesse impostazioni, ad eccezione di Regione impostata suREGION_B
e Zona impostata suZONE_B
. Inserisci lo script che segue nel campo Script di avvio:sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b2</h1></body></html>' | sudo tee /var/www/html/index.html
gcloud
Crea
vm-a1
nella zonaZONE_A
gcloud compute instances create vm-a1 \ --image-family debian-12 \ --image-project debian-cloud \ --tags tcp-lb \ --zone ZONE_A \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a1</h1></body></html>' | tee /var/www/html/index.html EOF"
Crea
vm-a2
nella zonaZONE_A
gcloud compute instances create vm-a2 \ --image-family debian-12 \ --image-project debian-cloud \ --tags tcp-lb \ --zone ZONE_A \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a2</h1></body></html>' | tee /var/www/html/index.html EOF"
Crea
vm-b1
nella zonaZONE_B
gcloud compute instances create vm-b1 \ --image-family debian-12 \ --image-project debian-cloud \ --tags tcp-lb \ --zone ZONE_B \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b1</h1></body></html>' | tee /var/www/html/index.html EOF"
Crea
vm-b2
nella zonaZONE_B
gcloud compute instances create vm-b2 \ --image-family debian-12 \ --image-project debian-cloud \ --tags tcp-lb \ --zone ZONE_B \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b2</h1></body></html>' | tee /var/www/html/index.html EOF"
Crea gruppi di istanze
In questa sezione crei un gruppo di istanze in ogni zona e aggiungi le istanze.
Console
Nella console Google Cloud, vai alla pagina Gruppi di istanze.
Fai clic su Crea gruppo di istanze.
Fai clic su Nuovo gruppo di istanze non gestite.
Imposta Nome su
instance-group-a
.Imposta Zona su
ZONE_A
.In Mappatura delle porte, fai clic su Aggiungi porta. Un bilanciatore del carico invia il traffico a un gruppo di istanze tramite una porta denominata. Crea una porta denominata per mappare il traffico in entrata a un numero di porta specifico.
- Imposta Nome porta su
tcp110
. - Imposta Numeri di porta su
110
.
- Imposta Nome porta su
In Istanze VM, seleziona
vm-a1
evm-a2
.Lascia invariate le altre impostazioni.
Fai clic su Crea.
Ripeti i passaggi, ma imposta i seguenti valori:
- Nome:
instance-group-b
- Regione:
REGION_B
- Zona:
ZONE_B
- Nome porta:
tcp110
- Numeri di porta:
110
- Istanze: vm-b1 e vm-b2.
- Nome:
gcloud
Crea il gruppo di istanze
instance-group-a
.gcloud compute instance-groups unmanaged create instance-group-a \ --zone ZONE_A
Crea una porta denominata per il gruppo di istanze.
gcloud compute instance-groups set-named-ports instance-group-a \ --named-ports tcp110:110 \ --zone ZONE_A
Aggiungi
vm-a1
evm-a2
ainstance-group-a
.gcloud compute instance-groups unmanaged add-instances instance-group-a \ --instances vm-a1,vm-a2 \ --zone ZONE_A
Crea il gruppo di istanze
us-ig2
.gcloud compute instance-groups unmanaged create instance-group-b \ --zone ZONE_B
Crea una porta denominata per il gruppo di istanze.
gcloud compute instance-groups set-named-ports instance-group-b \ --named-ports tcp110:110 \ --zone ZONE_B
Aggiungi
vm-b1
evm-b2
a instance-group-bgcloud compute instance-groups unmanaged add-instances instance-group-b \ --instances vm-b1,vm-b2 \ --zone ZONE_B
Ora hai un gruppo di istanze per regione. Ogni gruppo di istanze ha due istanze VM.
Crea una regola firewall per il bilanciatore del carico di rete proxy esterno
Configura il firewall in modo da consentire il traffico dal bilanciatore del carico e dal controllo di integrità alle istanze. In questo caso, apriremo la porta TCP 110. Il controllo di stato utilizzerà la stessa porta. Poiché il traffico tra il bilanciatore del carico e le tue istanze utilizza IPv4, devono essere aperti solo gli intervalli IPv4.
Console
Nella console Google Cloud, vai alla pagina Criteri firewall.
Fai clic su Crea regola firewall.
Nel campo Nome, inserisci
allow-tcp-lb-and-health
.Seleziona una rete.
In Target, seleziona Tag di destinazione specificati.
Imposta Tag target su
tcp-lb
.Imposta Filtro di origine su Intervalli IPv4.
Imposta Intervalli IPv4 di origine su
130.211.0.0/22
,35.191.0.0/16
.In Protocolli e porte, imposta Protocolli e porte specificati su
tcp:110
.Fai clic su Crea.
gcloud
gcloud compute firewall-rules create allow-tcp-lb-and-health \ --source-ranges 130.211.0.0/22,35.191.0.0/16 \ --target-tags tcp-lb \ --allow tcp:110
Creare una regola firewall per il controllo di integrità IPv6
Assicurati di avere una regola di ingresso applicabile alle istanze bilanciate in base al carico e che consenta il traffico dai sistemi di controllo dell'integrità di Google Cloud (2600:2d00:1:b029::/64
). Questo esempio utilizza il tag target allow-health-check-ipv6
per identificare le istanze VM a cui si applica.
Senza questa regola firewall, la regola default-deny per il traffico in entrata blocca il traffico IPv6 in entrata verso le istanze di backend.
Console
Nella console Google Cloud, vai alla pagina Criteri firewall.
Per consentire il traffico nella subnet IPv6, fai di nuovo clic su Crea regola firewall e inserisci le seguenti informazioni:
- Nome:
fw-allow-lb-access-ipv6
- Seleziona la rete.
- Priorità:
1000
- Direzione del traffico: in entrata
- Target: tag di destinazione specificati
- Tag di destinazione:
allow-health-check-ipv6
- Filtro di origine: intervalli IPv6
- Intervalli IPv6 di origine:
2600:2d00:1:b029::/64
,2600:2d00:1:1::/64
- Protocolli e porte: Consenti tutto
- Nome:
Fai clic su Crea.
gcloud
Crea la regola firewall fw-allow-lb-access-ipv6
per consentire la comunicazione con la subnet:
gcloud compute firewall-rules create fw-allow-lb-access-ipv6 \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \ --rules=all
Configura il bilanciatore del carico
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 proxy e fai clic su Avanti.
- In Pubblico o interno, seleziona Pubblico (esterno) e fai clic su Avanti.
- In Deployment globale o in una regione singola, seleziona Ideale per carichi di lavoro globali e fai clic su Avanti.
- In Generazione del bilanciatore del carico, seleziona Bilanciatore del carico di rete proxy esterno globale e fai clic su Avanti.
- Fai clic su Configura.
Configurazione di base
Imposta Nome su my-tcp-lb
.
Configurazione backend
- Fai clic su Configurazione backend.
- In Tipo di backend, seleziona Gruppi di istanze.
- In Protocollo, seleziona TCP.
- Nell'elenco Criterio di selezione degli indirizzi IP, seleziona Preferenza per IPv6.
- Configura il primo backend:
- In Nuovo backend, seleziona il gruppo di istanze
instance-group-a
. - Mantieni gli altri valori predefiniti.
- In Nuovo backend, seleziona il gruppo di istanze
- Configura il secondo backend:
- In Tipo di stack IP, seleziona
IPv4 and IPv6 (dual-stack)
. - Fai clic su Aggiungi backend.
- Seleziona il gruppo di istanze
instance-group-b
. - In Numeri di porta, elimina
80
e aggiungi110
.
Per supportare sia il traffico IPv4 sia quello IPv6:
- In Tipo di stack IP, seleziona
- Configura il controllo di integrità:
- In Controllo di integrità, seleziona Crea controllo di integrità.
- Imposta il nome del controllo di integrità su
my-tcp-health-check
. - In Protocollo, seleziona TCP.
- Imposta Porta su
110
. - Mantieni gli altri valori predefiniti.
- Fai clic su Salva e continua.
- Nella console Google Cloud, verifica che sia presente un segno di spunta accanto a Configurazione backend. In caso contrario, assicurati di aver completato tutti i passaggi.
Configurazione frontend
- Fai clic su Configurazione frontend.
- Aggiungi la prima regola di forwarding:
- Inserisci un nome per
my-tcp-lb-forwarding-rule
. - In Protocollo, seleziona TCP.
- In Indirizzo IP, seleziona Crea indirizzo IP:
- Inserisci un nome per
tcp-lb-static-ip
. - Fai clic su Prenota.
- Inserisci un nome per
- Imposta Porta su
110
. - In questo esempio, non attivare il Proxy Protocol perché non funziona con il software Apache HTTP Server. Per ulteriori informazioni, consulta Protocollo proxy.
- Fai clic su Fine.
- Inserisci un nome per
Nella console Google Cloud, verifica che sia presente un segno di spunta accanto a Configurazione frontend. In caso contrario, assicurati di aver completato tutti i passaggi precedenti.
Esamina e finalizza
- 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.
gcloud
- Creare un controllo di integrità.
gcloud compute health-checks create tcp my-tcp-health-check --port 110
- Crea un servizio di backend.
gcloud beta compute backend-services create my-tcp-lb \ --load-balancing-scheme EXTERNAL_MANAGED \ --global-health-checks \ --global \ --protocol TCP \ --ip-address-selection-policy=PREFER_IPV6 \ --health-checks my-tcp-health-check \ --timeout 5m \ --port-name tcp110
In alternativa, puoi configurare la comunicazione criptata dal bilanciatore del carico alle istanze con
--protocol SSL
. Aggiungi gruppi di istanze al servizio di backend.
gcloud beta compute backend-services add-backend my-tcp-lb \ --global \ --instance-group instance-group-a \ --instance-group-zone ZONE_A \ --balancing-mode UTILIZATION \ --max-utilization 0.8
gcloud beta compute backend-services add-backend my-tcp-lb \ --global \ --instance-group instance-group-b \ --instance-group-zone ZONE_B \ --balancing-mode UTILIZATION \ --max-utilization 0.8
- Configura un proxy TCP di destinazione. Se vuoi attivare l'intestazione proxy, impostala su
PROXY_V1
anzichéNONE
.gcloud beta compute target-tcp-proxies create my-tcp-lb-target-proxy \ --backend-service my-tcp-lb \ --proxy-header NONE
- Prenota indirizzi IPv4 e IPv6 statici globali.
I clienti possono utilizzare questi indirizzi IP per raggiungere il tuo servizio bilanciato in base al carico.
gcloud compute addresses create tcp-lb-static-ipv4 \ --ip-version=IPV4 \ --global
gcloud compute addresses create tcp-lb-static-ipv6 \ --ip-version=IPV6 \ --global
- Configura le regole di forwarding globali per i due indirizzi.
gcloud beta compute forwarding-rules create my-tcp-lb-ipv4-forwarding-rule \ --load-balancing-scheme EXTERNAL_MANAGED \ --global \ --target-tcp-proxy my-tcp-lb-target-proxy \ --address tcp-lb-static-ipv4 \ --ports 110
Testa il bilanciatore del carico
Ottieni l'indirizzo IP del bilanciatore del carico.
Per ottenere l'indirizzo IPv4, esegui il seguente comando:
gcloud compute addresses describe tcp-lb-static-ipv4
Per ottenere l'indirizzo IPv6, esegui il seguente comando:
gcloud compute addresses describe tcp-lb-static-ipv6
Invia traffico al bilanciatore del carico eseguendo il seguente comando. Sostituisci
LB_IP_ADDRESS
con l'indirizzo IPv4 o IPv6 del bilanciatore del carico.curl -m1 LB_IP_ADDRESS:110
Ad esempio, se l'indirizzo IPv6 assegnato è
[2001:db8:1:1:1:1:1:1/96]:110
, il comando dovrebbe avere il seguente aspetto:curl -m1 http://[2001:db8:1:1:1:1:1:1]:110
Se non riesci a raggiungere il bilanciatore del carico, prova i passaggi descritti nella sezione Risoluzione dei problemi di configurazione.
Opzioni di configurazione aggiuntive
Questa sezione espande l'esempio di configurazione per fornire opzioni di configurazione alternative e aggiuntive. Tutte le attività sono facoltative. Puoi eseguire queste operazioni in qualsiasi ordine.
Protocollo PROXY per conservare le informazioni sulla connessione del client
Il bilanciatore del carico di rete proxy termina le connessioni TCP dal client e crea nuove connessioni alle istanze. Per impostazione predefinita, le informazioni sull'indirizzo IP e sulla porta del client originale non vengono conservate.
Per conservare e inviare le informazioni di connessione originali alle tue istanze, attiva la versione 1 del protocollo PROXY. Questo protocollo invia un'intestazione aggiuntiva che contiene l'indirizzo IP di origine, l'indirizzo IP di destinazione e i numeri di porta all'istanza nell'ambito della richiesta.
Assicurati che le istanze di backend del bilanciatore del carico di rete proxy eseguano server che supportano le intestazioni del protocollo PROXY. Se i server non sono configurati per supportare le intestazioni del protocollo PROXY, le istanze di backend restituiscono risposte vuote.
Se imposti il protocollo PROXY per il traffico utente, puoi impostarlo anche per i controlli di integrità. Se stai controllando l'integrità e pubblicando contenuti sulla stessa porta, imposta --proxy-header
del controllo di integrità in modo che corrisponda all'impostazione del bilanciatore del carico.
L'intestazione del protocollo PROXY è in genere una singola riga di testo leggibile dall'utente nel seguente formato:
PROXY TCP4 <client IP> <load balancing IP> <source port> <dest port>\r\n
L'esempio seguente mostra un protocollo PROXY:
PROXY TCP4 192.0.2.1 198.51.100.1 15221 110\r\n
Nell'esempio precedente, l'IP client è 192.0.2.1
, l'IP del bilanciamento del carico è
198.51.100.1
, la porta client è 15221
e la porta di destinazione è 110
.
Quando l'IP client non è noto, il bilanciatore del carico genera un'intestazione del protocollo PROXY nel seguente formato:
PROXY UNKNOWN\r\n
Aggiorna l'intestazione del protocollo PROXY per il proxy di destinazione
L'esempio di configurazione del bilanciatore del carico in questa pagina mostra come attivare l'intestazione del protocollo PROXY durante la creazione del bilanciatore del carico di rete proxy. Segui questi passaggi per modificare l'intestazione del protocollo PROXY per un proxy di destinazione esistente.
Console
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
- Fai clic su Modifica per il bilanciatore del carico.
- Fai clic su Configurazione frontend.
- Modifica il valore del campo Protocollo proxy in On.
- Fai clic su Update (Aggiorna) per salvare le modifiche.
gcloud
Nel seguente comando, modifica il campo --proxy-header
e impostalo su NONE
o PROXY_V1
in base alle tue esigenze.
gcloud compute target-tcp-proxies update TARGET_PROXY_NAME \ --proxy-header=[NONE | PROXY_V1]
Configurare l'affinità sessione
La configurazione di esempio crea un servizio di backend senza affinità sessione.
Queste procedure mostrano come aggiornare un servizio di backend per il bilanciatore del carico di esempio in modo che utilizzi l'affinità IP client o l'affinità cookie generato.
Quando l'affinità IP client è attivata, il bilanciatore del carico indirizza le richieste di un determinato client alla stessa VM di backend in base a un hash creato dall'indirizzo IP del client e dall'indirizzo IP del bilanciatore del carico (l'indirizzo IP esterno di una regola di forwarding esterno).
Console
Per attivare l'affinità sessione dell'IP client:
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
Fai clic su Backend.
Fai clic su my-tcp-lb (il nome del servizio di backend che hai creato per questo esempio) e poi su Modifica.
Nella pagina Dettagli del servizio di backend, fai clic su Configurazione avanzata.
In Affinità sessione, seleziona IP client dal menu.
Fai clic su Aggiorna.
gcloud
Utilizza il seguente comando Google Cloud CLI per aggiornare il servizio di backend my-tcp-lb
, specificando l'affinità sessione IP del client:
gcloud compute backend-services update my-tcp-lb \ --global \ --session-affinity=CLIENT_IP
API
Per impostare l'affinità sessione dell'IP client, invia una richiesta PATCH
al metodo
backendServices/patch
.
PATCH https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/us-west1/backendServices/my-tcp-lb
{
"sessionAffinity": "CLIENT_IP"
}
Attivare lo svuotamento della connessione
Puoi attivare svuotamento della connessione sui servizi di backend per garantire un'interruzione minima per gli utenti quando un'istanza che gestisce il traffico viene terminata, rimossa manualmente o da un'autoscalabilità. Per scoprire di più sullo svuotamento della connessione, consulta la documentazione su come attivare lo svuotamento della connessione.
Passaggi successivi
- Convertire il bilanciatore del carico di rete proxy in IPv6
- Panoramica del bilanciatore del carico di rete proxy esterno
- Logging e monitoraggio del bilanciatore del carico di rete proxy
- Eseguire la conversione ai backend dual-stack
- Pulisci una configurazione di bilanciamento del carico