Questo documento fornisce istruzioni per configurare un bilanciatore del carico di rete proxy esterno globale con un proxy SSL di destinazione e backend di gruppi di istanze VM. Prima di iniziare, leggi Per informazioni, consulta Panoramica del bilanciatore del carico di rete proxy esterno 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. Potrai configurare quanto segue:
- Quattro istanze distribuite su due regioni
- Gruppi di istanze per contenere le istanze
- Componenti di backend, che includono quanto segue:
- Controllo di integrità: utilizzato per monitorare l'integrità dell'istanza
- Servizio di backend: monitora i gruppi di istanze ed evita che superino i limiti di utilizzo configurati
- Backend: contengono i gruppi di istanze
- Componenti di frontend, tra cui:
- Una risorsa del certificato SSL. Puoi utilizzare un certificato autogestito, in cui fornisci il tuo certificato SSL, o un certificato gestito da Google, in cui Google emette un certificato valido per tutti i tuoi domini. Per ulteriori informazioni, consulta Tipi di certificati SSL.
- Il proxy SSL stesso con il relativo certificato SSL
- Un indirizzo IPv4 statico esterno e una regola di inoltro che invia il traffico degli utenti al proxy
- Un indirizzo IPv6 esterno statico e una regola di inoltro che invia il traffico degli utenti al proxy
- Una regola firewall che consenta il traffico dal bilanciatore del carico e dal controllo di integrità alle istanze.
- Facoltativamente, un criterio SSL per controlla le funzionalità del protocollo SSL negoziate dal bilanciatore del carico del proxy SSL con i clienti.
Dopodiché testerai la configurazione.
Autorizzazioni
Per seguire questa guida, devi essere in grado di creare istanze e modificare un in un progetto. Devi essere un progetto proprietario o editor oppure includono tutte le seguenti caratteristiche Ruoli IAM di Compute Engine:
Attività | Ruolo richiesto |
---|---|
Creazione di reti, subnet e componenti del bilanciatore del carico | Amministratore 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 gli intervalli di indirizzi IPv6 interni su subnet in questa rete, completa questi passaggi:
- Per Intervallo IPv6 interno ULA della 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.
In Modalità di creazione subnet, scegli Personalizzata.
Nella sezione Nuova subnet, configura i seguenti campi:
- Nel campo Nome, specifica un nome per la subnet.
- 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 sia possibile configurare un intervallo di indirizzi IPv4 nella subnet, non puoi scegliere l'intervallo degli 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, segui questi 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.
In Modalità di creazione subnet, scegli Personalizzata.
Nella sezione Nuova subnet, configura quanto segue:
- Nel campo Nome, specifica un nome per la subnet.
- 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 update 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 update SUBNET \ --stack-type=IPV4_IPv6 \ --ipv6-access-type=EXTERNAL \ --network=NETWORK \ --region=REGION_A
gcloud compute networks subnets update 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 update SUBNET \ --network=NETWORK \ --stack-type=IPV4_ONLY \ --range=10.1.2.0/24 \ --region=REGION_A
gcloud compute networks subnets update 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 di Intervallofd20::/20
utilizzato da Google per gli intervalli di subnet IPv6 interni. Se non usare il flag--internal-ipv6-range
, Google seleziona un prefisso/48
per la reteSUBNET
: un nome per la subnet
REGION_A
oREGION_B
: il nome del regione
Configura istanze e gruppi di istanze
Questa sezione mostra come creare istanze e gruppi di istanze, quindi aggiungere le istanze ai gruppi di istanze. Un sistema di produzione normalmente userebbe sui gruppi di istanze gestite sui modelli di istanze, ma questa configurazione è più veloce per i test iniziali.
Creazione delle istanze
Crea queste istanze con il tag ssl-lb
, che verrà utilizzato dalla regola firewall
in un secondo momento.
Console
Crea istanze
Nella console Google Cloud, vai alla pagina Istanze VM.
Fai clic su Crea istanza.
Imposta Nome su
vm-a1
.Imposta la Zona su ZONE_A.
Fai clic su Opzioni avanzate.
Fai clic su Networking e configura il seguente campo:
- Nel campo Tag di rete, inserisci
ssl-lb
eallow-health-check-ipv6
.
- Nel campo Tag di rete, inserisci
Nella sezione Interfacce di rete, fai clic su Modifica e apporta le seguenti modifiche:
- Seleziona la rete.
Seleziona una subnet.
Nel campo Tipo di stack IP, seleziona IPv4 e IPv6 (stack doppio).
Fai clic su Fine.
Fai clic su Gestione. Inserisci lo script seguente nel Script di avvio.
sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a1</h1></body></html>' | sudo tee /var/www/html/index.html
Lascia i valori predefiniti per gli altri campi.
Fai clic su Crea.
Crea
vm-a2
con le stesse impostazioni, tranne per il fatto che Script di avvio è impostato su quanto segue:sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl 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 Zona impostata suZONE_B
e Lo Script di avvio deve essere impostato come segue:sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl 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, tranne per il fatto che Zona è impostato suZONE_B
e Script di avvio è impostato su quanto segue:sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl 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 ssl-lb \ --zone ZONE_A \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a1</h1></body></html>' | sudo 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=ssl-lb \ --zone=ZONE_A \ --metadata=startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a2</h1></body></html>' | sudo 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=ssl-lb \ --zone=ZONE_B \ --metadata=startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b1</h1></body></html>' | sudo 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=ssl-lb \ --zone=ZONE_B \ --metadata=startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b2</h1></body></html>' | sudo tee /var/www/html/index.html EOF"
Crea un gruppo di istanze per ogni zona e aggiungi le istanze
Console
Nella console Google Cloud, vai alla pagina Gruppi di istanze.
Fai clic su Crea gruppo di istanze.
Imposta il Nome su
instance-group-a
.Imposta la 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.
- Inserisci
ssl-lb
nel campo Nome porta e nel campo Numeri di porta443
.
- Inserisci
In Definizione di istanza, fai clic su Seleziona istanze esistenti.
In Istanze VM, seleziona
vm-a1
evm-a2
.Lascia invariate le altre impostazioni.
Fai clic su Crea.
Ripeti i passaggi, ma imposta quanto segue:
- Nome:
instance-group-b
- Zona:
ZONE_B
- Nome porta di
ssl-lb
e Numeri di porta di443
- Istanze: vm-b1 e vm-b2.
- Nome:
Verifica di avere due gruppi di istanze, ciascuno con due istanze.
gcloud
Crea il gruppo di istanze instance-group-a.
gcloud compute instance-groups unmanaged create instance-group-a --zone ZONE_A
Imposta una porta denominata per il gruppo di istanze.
gcloud compute instance-groups set-named-ports instance-group-a \ --named-ports=ssl-lb:443 \ --zone=ZONE_A
Aggiungi
vm-a1
evm-a2
a instance-group-agcloud compute instance-groups unmanaged add-instances instance-group-a \ --instances=vm-a1,vm-a2 \ --zone=ZONE_A
Crea il gruppo di istanze
instance-group-b
.gcloud compute instance-groups unmanaged create instance-group-b --zone ZONE_B
Imposta una porta denominata per il gruppo di istanze.
gcloud compute instance-groups set-named-ports instance-group-b \ --named-ports=ssl-lb:443 \ --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 in ciascuna delle due regioni, ciascuna con due di Compute Engine.
Crea una regola firewall per il bilanciatore del carico SSL
Configura il firewall in modo da consentire il traffico dal bilanciatore del carico e dal controllo di integrità alle istanze.
Console
Nella console Google Cloud, vai alla pagina Criteri firewall.
Fai clic su Crea regola firewall.
Nel campo Nome, inserisci
allow-ssl-lb-and-health
.Seleziona la rete.
In Target, seleziona Tag di destinazione specificati.
Imposta Tag di destinazione su
ssl-lb
.Imposta Filtro di origine su Intervalli IPv4.
Imposta Intervalli IPv4 di origine su
130.211.0.0/22
e35.191.0.0/16
.In Protocolli e porte, imposta Protocolli e porte specificati su
tcp:443
.Fai clic su Crea.
gcloud
gcloud compute firewall-rules create allow-ssl-lb-and-health \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --target-tags=ssl-lb \ --allow=tcp:443
Se utilizzi un certificato gestito da Google, verifica che lo stato della risorsa del certificato sia ACTIVE. Per ulteriori informazioni, vedi Risorsa del certificato SSL gestito da Google .
gcloud compute ssl-certificates list
Crea una regola firewall per il controllo di integrità IPv6
Assicurati di avere una regola in entrata applicabile alle istanze
il bilanciamento del carico consenta il traffico proveniente da Google Cloud,
sistemi di controllo dell'integrità (2600:2d00:1:b029::/64
). Questo esempio utilizza la classe
il tag di destinazione allow-health-check-ipv6
per identificare le istanze VM a cui
si applica.
Senza questa regola firewall, il campo di blocco predefinito La regola in entrata blocca l'IPv6 in entrata alle istanze di backend.
Console
Nella console Google Cloud, vai alla pagina Criteri firewall.
Per consentire il traffico della subnet IPv6, fai di nuovo clic su Crea regola firewall e inserisci le seguenti informazioni:
- Nome:
fw-allow-lb-access-ipv6
- Rete:
NETWORK
- Priorità:
1000
- Direzione del traffico: ingress
- Target: tag di destinazione specificati
- Nel campo Tag di destinazione, inserisci
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.
- Per Pubblico o interno, seleziona Rivolto al 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.
- Per Generazione del bilanciatore del carico, seleziona Esterno globale bilanciatore del carico di rete proxy e fai clic su Avanti.
- Fai clic su Configura.
Configurazione di base
Imposta il Nome su my-ssl-lb
.
Configurazione backend
- Fai clic su Configurazione backend.
- In Tipo di backend, seleziona Gruppi di istanze.
- Imposta Protocollo su SSL.
- Nell'elenco Criterio di selezione degli indirizzi IP, seleziona Preferenza per IPv6.
- In Porta denominata, inserisci
ssl-lb
. - Accetta il valore predefinito per Timeout.
- Lascia il Tipo di backend impostato su Gruppi di istanze.
- Configura il primo backend:
- In Nuovo backend, seleziona il gruppo di istanze
instance-group-a
. - Imposta Numeri di porta su
443
. - Mantieni gli altri valori predefiniti.
- In Nuovo backend, seleziona il gruppo di istanze
- Configura il secondo backend:
- Fai clic su Aggiungi backend.
- Seleziona il gruppo di istanze
instance-group-b
. - Imposta Numeri di porta su
443
. - Fai clic su Fine.
- Configura il controllo di integrità:
- In Controllo di integrità, seleziona Crea controllo di integrità.
- Imposta il Nome del controllo di integrità su
my-ssl-health-check
. - In Protocollo, seleziona SSL.
- Conserva i valori predefiniti rimanenti.
- 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.
- Inserisci
my-ssl-lb-forwarding-rule
come nome. - In Protocollo, seleziona SSL.
- In Indirizzo IP, seleziona Crea indirizzo IP:
- Inserisci
ssl-lb-static-ipv4
come nome. - Fai clic su Prenota.
- Inserisci
- In Certificato, seleziona Crea un nuovo certificato.
- Inserisci un nome per
my-ssl-cert
. - Se scegli Carica il mio certificato, completa i seguenti passaggi:
- Incolla il certificato o fai clic su Carica per accedere al file del certificato.
- Incolla la chiave privata o fai clic su Carica per accedere al file della chiave privata.
- Se scegli Crea un certificato gestito da Google, inserisci un
dominio.
- Per inserire altri domini, fai clic su Aggiungi dominio.
- Fai clic su Crea.
- Per aggiungere risorse di certificato oltre al protocollo SSL principale risorsa del certificato, fai clic su Certificati aggiuntivi. Quindi, seleziona un altro certificato dal menu Certificati oppure fai clic su Crea un nuovo certificato e segui le istruzioni riportate sopra.
- (Facoltativo) Per creare un criterio SSL:
- In Criterio SSL, seleziona Crea un criterio.
- Inserisci un nome per
my-ssl-policy
. - Per Versione TLS minima, seleziona TLS 1.0.
- In Profilo, seleziona Moderno. Le funzionalità abilitate e Vengono visualizzate le funzionalità disattivate.
- Fai clic su Salva.
- (Facoltativo) Attiva Protocollo proxy.
- Fai clic su Fine.
- Verifica che sia presente un segno di spunta verde accanto a Configurazione frontend. nella console Google Cloud. In caso contrario, assicurati di aver completato tutti i passaggi precedenti.
- Fai clic su Fine.
- Aggiungi la prima regola di inoltro:
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 API REST. che verrà utilizzato per creare il bilanciatore del carico.
- Fai clic su Crea.
gcloud
- Creare un controllo di integrità.
gcloud compute health-checks create ssl my-ssl-health-check --port=443
- Crea un servizio di backend.
gcloud beta compute backend-services create my-ssl-lb \ --load-balancing-scheme EXTERNAL_MANAGED \ --global-health-checks \ --protocol=SSL \ --port-name=ssl-lb \ --ip-address-selection-policy=PREFER_IPV6 \ --health-checks=my-ssl-health-check \ --timeout=5m \ --global
In alternativa, puoi configurare le comunicazioni non criptate il bilanciatore del carico più rapido alle istanze utilizzando
--protocol=TCP
. Aggiungi gruppi di istanze al servizio di backend.
gcloud compute backend-services add-backend my-ssl-lb \ --instance-group=instance-group-a \ --instance-group-zone=ZONE_A \ --balancing-mode=UTILIZATION \ --max-utilization=0.8 \ --global
gcloud compute backend-services add-backend my-ssl-lb \ --instance-group=instance-group-b \ --instance-group-zone=ZONE_B \ --balancing-mode=UTILIZATION \ --max-utilization=0.8 \ --global
- Configura la risorsa del certificato SSL.
Se utilizzi certificati con gestione indipendente, devi già avere almeno un certificato SSL da caricare. In caso contrario, vedi Panoramica dei certificati SSL. Quando utilizzi più certificati SSL, devi crearli uno alla volta.
Se utilizzi certificati SSL autogestiti e non disponi di un chiave privata e un certificato firmato, puoi creare e utilizzare certificato autofirmato a scopo di test.
Per creare una risorsa del certificato SSL autogestita:
gcloud compute ssl-certificates create my-ssl-cert \ --certificate=CRT_FILE_PATH \ --private-key=KEY_FILE_PATH
Per creare una risorsa del certificato SSL gestito da Google:
gcloud compute ssl-certificates create www-ssl-cert \ --domains=DOMAIN_1,DOMAIN_2
- Configura un proxy SSL di destinazione.
I bilanciatori del carico di rete dei proxy esterni supportano la creazione di un proxy SSL di destinazione con da uno a quindici certificati SSL. Prima di eseguire questo comando, devi creare una risorsa del certificato SSL per ogni certificato.
Se vuoi attivare l'intestazione proxy, impostala su
PROXY_V1
anzichénone
. Facoltativamente, puoi collegare un criterio SSL al proxy di destinazione. Per prima cosa, crea il criterio.gcloud compute ssl-policies create my-ssl-policy \ --profile=MODERN \ --min-tls-version=1.0
Poi ho collegato il criterio al proxy di destinazione.
gcloud beta compute target-ssl-proxies create my-ssl-lb-target-proxy \ --backend-service=my-ssl-lb \ --ssl-certificates=[SSL_CERT_1][,[SSL_CERT_2],...] \ --ssl-policy=my-ssl-policy \ --proxy-header=NONE
- Prenota indirizzi IP statici globali.
I clienti utilizzano questi indirizzi IP per accedere al servizio bilanciato in base al carico.
gcloud compute addresses create ssl-lb-static-ipv4 \ --ip-version=IPV4 \ --global
gcloud compute addresses create ssl-lb-static-ipv6 \ --ip-version=IPV6 \ --global
- Configura le regole di forwarding globali.
Crea regole di forwarding globali associate al proxy di destinazione. Sostituisci LB_STATIC_IP e LB_STATIC_IPV6 con gli indirizzi IP che hai generato in Prenotare indirizzi IP statici globali.
gcloud beta compute forwarding-rules create my-ssl-lb-forwarding-rule \ --load-balancing-scheme EXTERNAL_MANAGED \ --global \ --target-ssl-proxy=my-ssl-lb-target-proxy \ --address=LB_STATIC_IP \ --ports=443
Collegare il dominio al bilanciatore del carico
Dopo aver creato il bilanciatore del carico, prendi nota dell'indirizzo IP associato
dal bilanciatore del carico, ad esempio 30.90.80.100
. Per indirizzare il tuo dominio al bilanciatore del carico, crea un record A
utilizzando il servizio di registrazione del dominio. Se
hai aggiunto più domini al tuo certificato SSL, devi aggiungere un record A
per ciascuno, puntando tutti all'indirizzo IP del bilanciatore del carico. Ad esempio, per
crea record A
per www.example.com
e example.com
, usa quanto segue:
NAME TYPE DATA www A 30.90.80.100 @ A 30.90.80.100
Se utilizzi Cloud DNS come provider DNS, consulta Aggiungere, modificare ed eliminare i record.
Testa il bilanciatore del carico
Nel browser web, connettiti al tuo indirizzo IP statico tramite HTTPS. In questa configurazione di test, le istanze utilizzano certificati autofirmati. Pertanto, la prima volta che accedi a una pagina vedrai un avviso nel browser. Fai clic sull'avviso per visualizzare la pagina effettiva. Sostituisci IP_ADDRESS con l'indirizzo IPv4 o IPv6 creato in precedenza.
https://IP_ADDRESS
Dovresti vedere uno degli host della regione più vicina a te. Ricarica il finché non vedi l'altra istanza in quella regione. Per visualizzare le istanze da nell'altra regione, arresta le istanze nella regione più vicina.
In alternativa, puoi utilizzare curl
dalla riga di comando della tua macchina locale.
Se utilizzi un certificato autofirmato sul proxy SSL, devi inoltre
specificare -k
. L'opzione curl -k
consente a curl di funzionare anche se disponi di un
certificato autofirmato o nessun certificato. Se hai una normale
puoi rimuovere questo parametro. Dovresti utilizzare il parametro -k
solo per testare il tuo sito. In circostanze normali, un certificato valido è un'importante misura di sicurezza e gli avvisi relativi ai certificati non devono essere ignorati.
Sostituisci IP_ADDRESS con l'indirizzo IPv4 o IPv6 creato in precedenza.
curl -k https://IP_ADDRESS
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 eseguirle in qualsiasi ordine.
Protocollo PROXY per conservare le informazioni di connessione del client
Il bilanciatore del carico di rete proxy termina le connessioni TCP da il client e crea nuove connessioni alle istanze. Per impostazione predefinita, le informazioni sull'IP e sulla porta del client originale non vengono conservate.
Per conservare e inviare le informazioni di connessione originali alle tue istanze, Attiva il protocollo PROXY versione 1. 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 configurate per supportare le intestazioni del protocollo PROXY, le istanze di backend diverse.
Se imposti il protocollo PROXY per il traffico degli utenti, puoi impostarlo anche per il tuo
controlli di integrità. Se stai controllando lo stato di integrità e la pubblicazione
sulla stessa porta, imposta il valore --proxy-header
del controllo di integrità in modo che corrisponda
dell'impostazione del bilanciatore del carico.
L'intestazione del protocollo PROXY è in genere una singola riga di testo leggibile testo 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 di bilanciamento del carico è
198.51.100.1
, la porta del client è 15221
e la porta di destinazione è 110
.
Se l'IP del 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: Abilita l'intestazione del protocollo PROXY durante la creazione del bilanciatore del carico di rete proxy. Utilizza questi 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 comando seguente, modifica il campo --proxy-header
e impostalo su
NONE
o PROXY_V1
, a seconda delle tue esigenze.
gcloud compute target-ssl-proxies update TARGET_PROXY_NAME \ --proxy-header=[NONE | PROXY_V1]
Configura l'affinità sessione
Queste procedure mostrano come aggiornare un servizio di backend per l'esempio Bilanciatore del carico del proxy SSL in modo che il servizio di backend utilizzi l'affinità IP client.
Quando l'affinità IP del 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 inoltro esterno).
Console
Per attivare l'affinità di sessione dell'IP client:
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
Fai clic su Backend.
Fai clic su my-ssl-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 per aggiornare il servizio di backend my-ssl-lb
, specificando l'affinità della sessione IP del client:
gcloud compute backend-services update my-ssl-lb \ --global \ --session-affinity=CLIENT_IP
API
Per impostare l'affinità sessione IP client, effettua una richiesta PATCH
alla
backendServices/patch
.
PATCH https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/us-west1/backendServices/my-ssl-lb
{
"sessionAffinity": "CLIENT_IP"
}
Attivare lo svuotamento della connessione
Puoi abilitare lo svuotamento della connessione sui servizi di backend per garantire il minimo agli utenti quando un'istanza che gestisce il traffico viene terminato, rimosso manualmente o rimosso da un gestore della scalabilità automatica. Per scoprire di più sul ritiro delle connessioni, consulta la documentazione su come attivare il ritiro delle connessioni.
Passaggi successivi
- Convertire il bilanciatore del carico di rete proxy in IPv6
- Logging e monitoraggio del bilanciatore del carico di rete proxy esterno
- Criteri SSL per i protocolli SSL e TLS
- Utilizzare i criteri SSL per i protocolli SSL e TLS
- Eseguire la migrazione a backend a doppio stack
- Pulisci una configurazione di bilanciamento del carico