Questa pagina illustra come eseguire il deployment di un bilanciatore del carico delle applicazioni interno regionale per bilanciare il traffico verso endpoint di rete on-premise o in altri cloud pubblici e raggiungibili utilizzando la connettività ibrida.
Se non l'hai ancora fatto, consulta la Panoramica dei NEG per la connettività ibrida per comprendere i requisiti di rete per configurare il bilanciamento del carico ibride.
Panoramica della configurazione
L'esempio in questa pagina configura il seguente deployment:
Devi configurare la connettività ibrida prima di configurare un deployment di bilanciamento del carico ibrida. Questa pagina non include la configurazione della connettività ibrida.
A seconda del prodotto di connettività ibrida scelto (Cloud VPN o Cloud Interconnect (Dedicated o Partner)), utilizza la documentazione del prodotto pertinente.
Autorizzazioni
Per configurare il bilanciamento del carico ibrido, devi disporre delle seguenti autorizzazioni:
Su Google Cloud
- Autorizzazioni per stabilire una connettività ibrida tra Google Cloud e il tuo ambiente on-premise o altri ambienti cloud. Per l'elenco delle autorizzazioni necessarie, consulta la documentazione del prodotto Network Connectivity pertinente.
- Autorizzazioni per creare un NEG di connettività ibrida e il bilanciatore del carico.
Il ruolo Amministratore bilanciatore del carico Compute (
roles/compute.loadBalancerAdmin
) contiene le autorizzazioni necessarie per eseguire le attività descritte in questa guida.
Nell'ambiente on-premise o in un altro ambiente cloud non Google Cloud
- Autorizzazioni per configurare endpoint di rete che consentono di raggiungere i servizi nel tuo ambiente on-premise o in altri ambienti cloud da Google Cloud utilizzando una combinazione
IP:Port
. Per ulteriori informazioni, contatta l'amministratore di rete del tuo ambiente. - Autorizzazioni per creare regole firewall nel tuo ambiente on-premise o in altri ambienti cloud per consentire ai probe del controllo di integrità di Google di raggiungere gli endpoint.
- Autorizzazioni per configurare endpoint di rete che consentono di raggiungere i servizi nel tuo ambiente on-premise o in altri ambienti cloud da Google Cloud utilizzando una combinazione
Inoltre, per completare le istruzioni riportate in questa pagina, devi creare un NEG di connettività ibrida, un bilanciatore del carico e NEG zonali (e i relativi endpoint) da utilizzare come backend basati su Google Cloud per il bilanciatore del carico.
Devi essere un proprietario o un editor del progetto oppure disporre dei seguenti ruoli IAM di Compute Engine.
Attività | Ruolo richiesto |
---|---|
Crea reti, subnet e componenti del bilanciatore del carico | Amministratore rete Compute
(roles/compute.networkAdmin ) |
Aggiungere e rimuovere regole firewall | Amministratore della sicurezza di Compute
(roles/compute.securityAdmin ) |
Creazione delle istanze | Amministratore di istanze Compute
(roles/compute.instanceAdmin ) |
Stabilire la connettività ibrida
L'ambiente Google Cloud e l'ambiente on-premise o altri ambienti cloud devono essere collegati tramite connettività ibrida utilizzando i collegamenti VLAN di Cloud Interconnect o i tunnel Cloud VPN con router Cloud. Ti consigliamo di utilizzare una connessione ad alta disponibilità.
Un router Cloud abilitato al routing dinamico globale viene a conoscenza dell'endpoint specifico tramite il protocollo BGP (Border Gateway Protocol) e lo programma nella rete VPC di Google Cloud. Il routing dinamico regionale non è supportato. Inoltre, le route statiche non sono supportate.
La rete VPC utilizzata per configurare Cloud Interconnect o Cloud VPN è la stessa utilizzata per configurare il deployment del bilanciamento del carico ibrido. Assicurati che gli intervalli CIDR delle subnet della rete VPC non siano in conflitto con gli intervalli CIDR remoti. Quando gli indirizzi IP si sovrappongono, le route di subnet hanno la priorità sulla connettività remota.
Per istruzioni, consulta la seguente documentazione:
Configurare l'ambiente esterno a Google Cloud
Per configurare l'ambiente on-premise o un altro ambiente cloud per il bilanciamento del carico ibrido, svolgi i seguenti passaggi:
- Configura gli endpoint di rete per esporre i servizi on-premise a Google Cloud (
IP:Port
). - Configura le regole del firewall nel tuo ambiente on-premise o in un altro ambiente cloud.
- Configura il router Cloud in modo che annunci determinate route richieste al tuo ambiente privato.
Configura gli endpoint di rete
Dopo aver configurato la connettività ibrida, configura uno o più endpoint di rete all'interno del tuo ambiente on-premise o di altri ambienti cloud che sono raggiungibili tramite Cloud Interconnect o Cloud VPN utilizzando una combinazioneIP:port
. Questa combinazione IP:port
viene configurata come uno o più endpoint per il NEG di connettività ibrida creato in Google Cloud in un secondo momento durante questa procedura.
Se esistono più percorsi per l'endpoint IP, il routing segue il comportamento descritto nella panoramica del router Cloud.
Configura le regole firewall
Le seguenti regole firewall devono essere create nel tuo ambiente on-premise o in un altro ambiente cloud:
- Crea una regola firewall di autorizzazione in entrata in ambienti on-premise o cloud diversi per consentire al traffico proveniente dalla subnet solo proxy della regione di raggiungere gli endpoint.
L'inserimento nella lista consentita degli intervalli di probe di controllo di integrità di Google non è necessario per i NEG ibridi. Tuttavia, se utilizzi una combinazione di NEG ibridi e zonali in un singolo servizio di backend, devi inserire nella lista consentita gli intervalli di sonde di controllo di integrità di Google per i NEG zonali.
Pubblicizzare i percorsi
Configura Cloud Router in modo da annunciare le seguenti gamme di IP personalizzate al tuo ambiente on-premise o a un altro ambiente cloud:
- L'intervallo della subnet solo proxy della regione.
Configurare l'ambiente Google Cloud
Per i passaggi che seguono, assicurati di utilizzare la stessa rete VPC (chiamata NETWORK in questa procedura) utilizzata per configurare la connettività ibrida tra gli ambienti.
Inoltre, assicurati che la regione utilizzata (chiamata REGION in questa procedura) sia la stessa utilizzata per creare il tunnel Cloud VPN o il collegamento VLAN Cloud Interconnect.
Configura la subnet solo proxy
Questa subnet solo proxy viene utilizzata per tutti i bilanciatori del carico basati su Envoy a livello di regione nella regione REGION.
Console
- Nella console Google Cloud, vai alla pagina Reti VPC.
Vai a Reti VPC - Vai alla rete utilizzata per configurare la connettività ibrida tra gli ambienti.
- Fai clic su Aggiungi subnet.
- Inserisci un Nome: PROXY_ONLY_SUBNET_NAME.
- Seleziona una Regione: REGION.
- Imposta Finalità su Proxy gestito a livello di regione.
- Inserisci un intervallo di indirizzi IP: PROXY_ONLY_SUBNET_RANGE.
- Fai clic su Aggiungi.
gcloud
Crea la subnet solo proxy con il comando gcloud compute networks subnets
create
.
gcloud compute networks subnets create PROXY_ONLY_SUBNET_NAME \ --purpose=REGIONAL_MANAGED_PROXY \ --role=ACTIVE \ --region=REGION \ --network=NETWORK \ --range=PROXY_ONLY_SUBNET_RANGE
Configura la sottorete del bilanciatore del carico
Questa subnet viene utilizzata per creare i backend NEG zonali del bilanciatore del carico, il frontend e l'indirizzo IP interno.
console Cloud
- Nella console Google Cloud, vai alla pagina Reti VPC.
Vai a Reti VPC - Vai alla rete utilizzata per configurare la connettività ibrida tra gli ambienti.
- Nella sezione Subnet:
- Imposta Modalità di creazione subnet su Personalizzata.
- Nella sezione Nuova subnet, inserisci le seguenti informazioni:
- Nome: LB_SUBNET_NAME
- Regione: REGION
- Intervallo di indirizzi IP: LB_SUBNET_RANGE
- Fai clic su Fine.
- Fai clic su Crea.
gcloud
Crea una subnet nella rete utilizzata per configurare la connettività ibrida tra gli ambienti.
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION
Prenota l'indirizzo IP del bilanciatore del carico
Per impostazione predefinita, viene utilizzato un indirizzo IP per ogni regola di forwarding. Puoi prenotare un indirizzo IP condiviso, che ti consente di utilizzare lo stesso indirizzo IP con più regole di inoltro. Tuttavia, se vuoi pubblicare il bilanciatore del carico utilizzando Private Service Connect, non utilizzare un indirizzo IP condiviso per la regola di forwarding.
Console
Puoi prenotare un indirizzo IP interno autonomo utilizzando la console Google Cloud.
- Vai alla pagina Reti VPC.
- Fai clic sulla rete utilizzata per configurare la connettività ibrida tra gli ambienti.
- Fai clic su Indirizzi IP interni statici e poi su Prenota indirizzo statico.
- Inserisci un Nome: LB_IP_ADDRESS.
- Per Subnet, seleziona LB_SUBNET_NAME.
- Se vuoi specificare l'indirizzo IP da prenotare, in Indirizzo IP statico seleziona Scelta manuale e poi inserisci un Indirizzo IP personalizzato. In caso contrario, il sistema assegna automaticamente un indirizzo IP nella subnet.
- Se vuoi utilizzare questo indirizzo IP con più regole di inoltro, in Finalità, scegli Condiviso.
- Fai clic su Prenota per completare la procedura.
gcloud
Utilizzando gcloud CLI, esegui il comando
compute addresses create
:gcloud compute addresses create LB_IP_ADDRESS \ --region=REGION \ --subnet=LB_SUBNET_NAME \
Utilizza il comando
compute addresses describe
per visualizzare l'indirizzo IP assegnato:gcloud compute addresses describe LB_IP_ADDRESS \ --region=REGION
Se vuoi utilizzare lo stesso indirizzo IP con più regole di inoltro, specifica
--purpose=SHARED_LOADBALANCER_VIP
.
Crea regole firewall per i NEG zonali
In questo esempio, crei le seguenti regole firewall per i backend NEG di zona su Google Cloud:
fw-allow-health-check
: una regola in entrata, applicabile alle istanze sottoposte a bilanciamento del carico, che consente il traffico proveniente dai sistemi di controllo di integrità di Google Cloud (130.211.0.0/22
e35.191.0.0/16
). Questo esempio utilizza il tag di destinazioneallow-health-check
per identificare le VM di backend a cui deve essere applicata. L'inserimento nella lista consentita degli intervalli di probe di controllo di integrità di Google non è necessario per i NEG ibridi. Tuttavia, se utilizzi una combinazione di NEG ibridi e zonali in un singolo servizio di backend, devi inserire nella lista consentita gli intervalli di sonde di controllo di integrità di Google per i NEG zonali.fw-allow-ssh
: una regola in entrata che consente la connettività SSH in entrata sulla porta TCP 22 da qualsiasi indirizzo. Puoi scegliere un intervallo IP di origine più restrittivo per questa regola. Ad esempio, puoi specificare solo gli intervalli IP dei sistemi da cui avvierai le sessioni SSH. Questo esempio utilizza il tag di destinazioneallow-ssh
per identificare le VM a cui deve essere applicato.fw-allow-proxy-only-subnet
: una regola di ingresso che consente alle connessioni dalla subnet solo proxy di raggiungere i backend.
Console
- Nella console Google Cloud, vai alla pagina Criteri firewall.
Vai a Criteri firewall - Fai clic su Crea regola firewall per creare la regola che consente il traffico proveniente dai probe di controllo di integrità:
- Inserisci un nome per
fw-allow-health-check
. - In Rete, seleziona NETWORK.
- In Target, seleziona Tag di destinazione specificati.
- Compila il campo Tag di destinazione con
allow-health-check
. - 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, seleziona Protocolli e porte specificati.
- Seleziona TCP e inserisci
80
per il numero di porta. - Fai clic su Crea.
- Inserisci un nome per
- Fai di nuovo clic su Crea regola firewall per creare la regola per consentire le connessioni SSH in entrata:
- Nome:
fw-allow-ssh
- Rete: NETWORK
- Priorità:
1000
- Direzione del traffico: in entrata
- Azione in caso di corrispondenza: consenti
- Target: Tag di destinazione specificati
- Tag di destinazione:
allow-ssh
- Filtro di origine: intervalli IPv4
- Intervalli IPv4 di origine:
0.0.0.0/0
- Protocolli e porte: scegli Protocolli e porte specificati.
- Seleziona TCP e inserisci
22
per il numero di porta. - Fai clic su Crea.
- Nome:
- Fai di nuovo clic su Crea regola firewall per creare la regola per consentire le connessioni in entrata dalla subnet solo proxy:
- Nome:
fw-allow-proxy-only-subnet
- Rete: NETWORK
- Priorità:
1000
- Direzione del traffico: in entrata
- Azione in caso di corrispondenza: consenti
- Target: Tag di destinazione specificati
- Tag di destinazione:
allow-proxy-only-subnet
- Filtro di origine: intervalli IPv4
- Intervalli IPv4 di origine: PROXY_ONLY_SUBNET_RANGE
- Protocolli e porte: scegli Protocolli e porte specificati
- Seleziona TCP e inserisci
80
per il numero di porta. - Fai clic su Crea.
- Nome:
gcloud
Crea la regola
fw-allow-health-check-and-proxy
per consentire ai controlli di integrità di Google Cloud di raggiungere le istanze di backend sulla porta TCP80
:gcloud compute firewall-rules create fw-allow-health-check \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --rules=tcp:80
Crea la regola firewall
fw-allow-ssh
per consentire la connettività SSH alle VM con il tag di reteallow-ssh
. Se omettisource-ranges
, Google Cloud interpreta la regola come qualsiasi origine.gcloud compute firewall-rules create fw-allow-ssh \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --rules=tcp:22
Crea una regola firewall di autorizzazione in entrata per la subnet solo proxy per consentire al bilanciatore del carico di comunicare con le istanze di backend sulla porta TCP
80
:gcloud compute firewall-rules create fw-allow-proxy-only-subnet \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-proxy-only-subnet \ --source-ranges=PROXY_ONLY_SUBNET_RANGE \ --rules=tcp:80
Configura il NEG a livello di zona
Per i backend basati su Google Cloud, ti consigliamo di configurare più NEG zonali nella stessa regione in cui hai configurato la connettività ibrida.
Per questo esempio, abbiamo configurato un NEG zonale (con endpoint di tipo GCE_VM_IP_PORT
)
nella regione REGION. Innanzitutto, crea le VM nella zona GCP_NEG_ZONE. Quindi,
crea un NEG di zona nella stessa GCP_NEG_ZONE e
aggiungi gli endpoint di rete delle VM al NEG.
Creare VM
Console
- Vai alla pagina Istanze VM nella console Google Cloud.
Vai a Istanze VM - Fai clic su Crea istanza.
- Imposta Nome su
vm-a1
. - Per Regione, scegli REGION e poi qualsiasi Zona. In questa procedura verrà indicato come GCP_NEG_ZONE.
- Nella sezione Disco di avvio, assicurati che sia selezionata l'opzione Debian GNU/Linux 12 (bookworm) per le opzioni del disco di avvio. Fai clic su Scegli per modificare l'immagine, se necessario.
Fai clic su Opzioni avanzate e apporta le seguenti modifiche:
- Fai clic su Networking e aggiungi i seguenti tag di rete:
allow-ssh
,allow-health-check
eallow-proxy-only-subnet
. - Fai clic su Modifica
- Rete: NETWORK
- Subnet: LB_SUBNET_NAME
- IP interno principale: Temporaneo (automatico)
- IP esterno: Temporaneo
in
Interfacce di rete e apporta le seguenti modifiche, quindi fai clic su
Fine:
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.
Ripeti i seguenti passaggi per creare una seconda VM utilizzando la seguente combinazione di nome e zona:
- Nome:
vm-a2
, zona: GCP_NEG_ZONE
- Nome:
gcloud
Crea le VM eseguendo il seguente comando due volte, utilizzando queste combinazioni per il nome della VM e la relativa zona. I contenuti dello script sono identici per entrambe le VM.
- VM_NAME di
vm-a1
e qualsiasi zona GCP_NEG_ZONE di tuo gradimento VM_NAME di
vm-a2
e nella stessa zona GCP_NEG_ZONEgcloud compute instances create VM_NAME \ --zone=GCP_NEG_ZONE \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=allow-ssh,allow-health-check,allow-proxy-only-subnet \ --subnet=LB_SUBNET_NAME \ --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 il NEG a livello di zona
Console
Per creare un gruppo di endpoint di rete zonale:
- 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 zonale. Denominato GCP_NEG_NAME in questa procedura.
- Seleziona il tipo di gruppo di endpoint di rete: Gruppo di endpoint di rete (a livello di zona).
- Seleziona la Rete: NETWORK
- Seleziona la subnet: LB_SUBNET_NAME
- Seleziona la Zona: GCP_NEG_ZONE
- Inserisci la porta predefinita:
80
. - Fai clic su Crea.
Aggiungi endpoint al NEG zonale:
- Vai alla pagina Gruppi di endpoint di rete nella console Google Cloud.
Vai a Gruppi di endpoint di rete - Fai clic sul nome del gruppo di endpoint di rete creato nel passaggio precedente (GCP_NEG_NAME). 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.
- Seleziona un'istanza VM per aggiungere i relativi indirizzi IP interni come endpoint di rete. Nella sezione Interfaccia di rete, vengono visualizzati il nome, la zona e la subnet della VM.
- Nel campo Indirizzo IPv4, inserisci l'indirizzo IPv4 del nuovo endpoint di rete.
- Seleziona il Tipo di porta.
- Se selezioni Predefinito, l'endpoint utilizza la porta predefinita
80
per tutti gli endpoint nel gruppo di endpoint di rete. Questo è sufficiente per il nostro esempio perché il server Apache gestisce le richieste sulla porta80
. - Se selezioni Personalizzata, inserisci il Numero di porta da utilizzare per l'endpoint.
- Se selezioni Predefinito, l'endpoint utilizza la porta predefinita
- Per aggiungere altri endpoint, fai clic su Aggiungi endpoint di rete e ripeti i passaggi precedenti.
- Dopo aver aggiunto tutti gli endpoint, fai clic su Crea.
gcloud
Crea un NEG zonale (con endpoint
GCE_VM_IP_PORT
) utilizzando il comandogcloud compute network-endpoint-groups create
:gcloud compute network-endpoint-groups create GCP_NEG_NAME \ --network-endpoint-type=GCE_VM_IP_PORT \ --zone=GCP_NEG_ZONE \ --network=NETWORK \ --subnet=LB_SUBNET_NAME
Puoi specificare un
--default-port
durante la creazione del NEG oppure specificare un numero di porta per ogni endpoint come mostrato nel passaggio successivo.Aggiungi endpoint a GCP_NEG_NAME.
gcloud compute network-endpoint-groups update GCP_NEG_NAME \ --zone=GCP_NEG_ZONE \ --add-endpoint='instance=vm-a1,port=80' \ --add-endpoint='instance=vm-a2,port=80'
Configura il NEG di connettività ibrida
Quando crei il NEG, utilizza un ZONE che minimizza la distanza geografica tra Google Cloud e il tuo ambiente on-premise o un altro ambiente cloud. Ad esempio, se ospiti un servizio in un ambiente on-premise a Francoforte, in Germania, puoi specificare la europe-west3-a
zona Google Cloud quando crei il NEG.
Inoltre, se utilizzi Cloud Interconnect, il ZONE utilizzato per creare il NEG deve trovarsi nella stessa regione in cui è stato configurato il collegamento Cloud Interconnect.
Per le regioni e le zone disponibili, consulta la documentazione di Compute Engine: Regioni e zone disponibili.
Console
Per creare un gruppo di endpoint di rete con connettività ibrida:
- Vai alla pagina Gruppi di endpoint di rete nella console Google Cloud.
Vai a Gruppi di endpoint di rete - Fai clic su Crea gruppo di endpoint di rete.
- Inserisci un nome per il gruppo di elenchi di negazioni ibrido. Denominato ON_PREM_NEG_NAME in questa procedura.
- Seleziona il tipo di gruppo di endpoint di rete: Gruppo di endpoint di rete con connettività ibrida (a livello di zona).
- Seleziona la Rete: NETWORK
- Seleziona la subnet: LB_SUBNET_NAME
- Seleziona la Zona: ON_PREM_NEG_ZONE
- Inserisci la Porta predefinita.
- Fai clic su Crea
Aggiungi endpoint al NEG di connettività ibrida:
- Vai alla pagina Gruppi di endpoint di rete nella console Google Cloud.
Vai alla pagina Gruppi di endpoint di rete - Fai clic sul nome del gruppo di endpoint di rete creato nel passaggio precedente (ON_PREM_NEG_NAME). 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.
- Inserisci l'indirizzo IP del nuovo endpoint di rete.
- Seleziona il Tipo di porta.
- Se selezioni Predefinito, l'endpoint utilizza la porta predefinita per tutti gli endpoint nel gruppo di endpoint di rete.
- Se selezioni Personalizzata, puoi inserire un Numero di porta diverso per l'endpoint da utilizzare.
- Per aggiungere altri endpoint, fai clic su Aggiungi endpoint di rete e ripeti i passaggi precedenti.
- Dopo aver aggiunto tutti gli endpoint non Google Cloud, fai clic su Crea.
gcloud
Crea un NEG di connettività ibrida utilizzando il comando
gcloud compute network-endpoint-groups create
.gcloud compute network-endpoint-groups create ON_PREM_NEG_NAME \ --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \ --zone=ON_PREM_NEG_ZONE \ --network=NETWORK
Aggiungi l'endpoint della VM di backend on-premise a ON_PREM_NEG_NAME:
gcloud compute network-endpoint-groups update ON_PREM_NEG_NAME \ --zone=ON_PREM_NEG_ZONE \ --add-endpoint="ip=ON_PREM_IP_ADDRESS_1,port=PORT_1" \ --add-endpoint="ip=ON_PREM_IP_ADDRESS_2,port=PORT_2"
Puoi utilizzare questo comando per aggiungere gli endpoint di rete configurati in precedenza on-premise o nel tuo ambiente cloud.
Ripeti --add-endpoint
tutte le volte necessarie.
Se necessario, puoi ripetere questi passaggi per creare più NEG ibride.
Configura il bilanciatore del carico
Console
gcloud
- Crea un controllo di integrità per i backend.
I probe del controllo di integrità per i backend NEG ibridi provengono dai proxy Envoy nella subnet solo proxy, mentre i probe per i backend NEG zonali provengono dagli [intervalli IP dei probe centrali di Google](/load-balancing/docs/health-check-concepts#ip-ranges).gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \ --region=REGION \ --use-serving-port
- Crea un servizio di backend per i backend basati su Google Cloud. Aggiungi
sia il NEG a livello di zona sia il NEG di connettività ibrida come backend a questo
servizio di backend.
gcloud compute backend-services create BACKEND_SERVICE \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --health-checks=HTTP_HEALTH_CHECK_NAME \ --health-checks-region=REGION \ --region=REGION
- Aggiungi il NEG zonale come backend al servizio di backend.
Per informazioni dettagliate sulla configurazione della modalità di bilanciamento, consulta la documentazione gcloud CLI relativa al parametrogcloud compute backend-services add-backend BACKEND_SERVICE \ --region=REGION \ --balancing-mode=RATE \ --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \ --network-endpoint-group=GCP_NEG_NAME \ --network-endpoint-group-zone=GCP_NEG_ZONE
--max-rate-per-endpoint
. - Aggiungi il NEG ibrido come backend al servizio di backend.
Per informazioni dettagliate sulla configurazione della modalità di bilanciamento, consulta la documentazione gcloud CLI relativa al parametrogcloud compute backend-services add-backend BACKEND_SERVICE \ --region=REGION \ --balancing-mode=RATE \ --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \ --network-endpoint-group=ON_PREM_NEG_NAME \ --network-endpoint-group-zone=ON_PREM_NEG_ZONE
--max-rate-per-endpoint
. - Crea una mappa URL per instradare le richieste in entrata al servizio di backend:
gcloud compute url-maps create URL_MAP_NAME \ --default-service BACKEND_SERVICE \ --region=REGION
- (Facoltativo) Esegui questo passaggio se utilizzi HTTPS tra il client e il bilanciatore del carico. Questo non è necessario per i bilanciatori del carico HTTP.
Puoi creare certificati Compute Engine o Certificate Manager. Utilizza uno dei seguenti metodi per creare certificati utilizzando Certificate Manager:
- Certificati autogestiti a livello di regione. Per informazioni su come creare e utilizzare i certificati autogestiti a livello di regione, consulta la sezione Eseguire il deployment di un certificato autogestito a livello di regione. Le mappe dei certificati non sono supportate.
Certificati gestiti da Google a livello di regione. Le mappe dei certificati non sono supportate.
Gestore certificati supporta i seguenti tipi di certificati gestiti da Google a livello di regione:
- Certificati gestiti a livello di regione da Google con autorizzazione DNS per progetto. Per ulteriori informazioni, consulta Eseguire il deployment di un certificato gestito da Google a livello di regione.
- Certificati (privati) gestiti da Google a livello di regione con Certificate Authority Service. Per ulteriori informazioni, consulta Eseguire il deployment di un certificato gestito da Google a livello di regione con il servizio CA.
- Crea un proxy HTTP(S) di destinazione per instradare le richieste alla mappa URL.
Per un bilanciatore del carico HTTP, crea un proxy di destinazione HTTP: Per un bilanciatore del carico HTTPS, crea un proxy di destinazione HTTPS. Il proxy è la parte del bilanciatore del carico che contiene il certificato SSL per il bilanciamento del carico HTTPS, quindi devi caricare anche il tuo certificato in questo passaggio.gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --url-map=URL_MAP_NAME \ --url-map-region=REGION \ --region=REGION
gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --ssl-certificates=SSL_CERTIFICATE_NAME \ --url-map=URL_MAP_NAME \ --url-map-region=REGION \ --region=REGION
- Crea una regola di forwarding per instradare le richieste in entrata al proxy. Non
utilizzare la subnet solo proxy per creare la regola di forwarding.
Per un bilanciatore del carico HTTP: Per un bilanciatore del carico HTTPS:gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=NETWORK \ --subnet=LB_SUBNET_NAME \ --address=LB_IP_ADDRESS \ --ports=80 \ --region=REGION \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --target-http-proxy-region=REGION
gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=NETWORK \ --subnet=LB_SUBNET_NAME \ --address=LB_IP_ADDRESS \ --ports=443 \ --region=REGION \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --target-https-proxy-region=REGION
Dopo aver creato i certificati, allegali direttamente al proxy di destinazione.
Per creare una risorsa del certificato SSL autogestita di Compute Engine:gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --certificate CRT_FILE_PATH \ --private-key KEY_FILE_PATH
Collegare il dominio al bilanciatore del carico
Dopo aver creato il bilanciatore del carico, prendi nota dell'indirizzo IP associato al 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, che rimandi all'indirizzo IP del bilanciatore del carico. Ad esempio, per creare record A
per www.example.com
e example.com
, utilizza 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 record.
Testa il bilanciatore del carico
Per testare il bilanciatore del carico, crea una VM client nella stessa regione del bilanciatore del carico. Quindi invia il traffico dal client al bilanciatore del carico.
Crea una VM client
Questo esempio crea una VM client (vm-client
) nella stessa regione dei NEG di backend. Il client viene utilizzato per convalidare la configurazione del bilanciatore del carico
e dimostrare il comportamento previsto come descritto nella sezione Test.
Console
- Vai alla pagina Istanze VM nella console Google Cloud.
Vai a Istanze VM - Fai clic su Crea istanza.
- Imposta Nome su
vm-client
. - Imposta Zona su CLIENT_VM_ZONE.
- Fai clic su Opzioni avanzate e apporta le seguenti modifiche:
- Fai clic su Networking e aggiungi
allow-ssh
a Tag di rete. - Fai clic sul pulsante di modifica in Interfacce di rete e apporta le seguenti modifiche, quindi fai clic su Fine:
- Rete: NETWORK
- Subnet: LB_SUBNET_NAME
- IP interno principale: Temporaneo (automatico)
- IP esterno: Temporaneo
- Fai clic su Networking e aggiungi
- Fai clic su Crea.
gcloud
La VM client può trovarsi in qualsiasi zona della stessa regione del bilanciatore del carico e può utilizzare qualsiasi sottorete della regione. In questo esempio, il client si trova nella zona CLIENT_VM_ZONE e utilizza la stessa sottorete delle VM di backend.
gcloud compute instances create vm-client \ --zone=CLIENT_VM_ZONE \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=allow-ssh \ --subnet=LB_SUBNET_NAME
Invia traffico al bilanciatore del carico
Ora che hai configurato il bilanciatore del carico, puoi iniziare a inviare traffico al suo indirizzo IP.
Utilizza SSH per connetterti all'istanza client.
gcloud compute ssh client-vm \ --zone=CLIENT_VM_ZONE
Ottieni l'indirizzo IP del bilanciatore del carico. Utilizza il comando
compute addresses describe
per visualizzare l'indirizzo IP assegnato:gcloud compute addresses describe l7-ilb-ip-address \ --region=us-west1
Verifica che il bilanciatore del carico gestisca i nomi host di backend come previsto. Sostituisci IP_ADDRESS con l'indirizzo IP del bilanciatore del carico.
Per i test HTTP, esegui:
curl IP_ADDRESS
Per i test HTTPS, esegui:
curl -k -s 'https://test.example.com:443' --connect-to test.example.com:443:IP_ADDRESS:443
Il flag -k
fa sì che curl salti la convalida del certificato.
Il test degli endpoint non Google Cloud dipende dal servizio che hai exposto tramite l'endpoint NEG ibrido.
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.
Aggiorna il timeout keepalive HTTP del client
Il bilanciatore del carico creato nei passaggi precedenti è stato configurato con un valore predefinito per il timeout del keepalive HTTP del client.Per aggiornare il timeout keepalive HTTP del client, segui le istruzioni riportate di seguito.
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.
- Espandi Funzionalità avanzate. In Timeout keepalive HTTP, inserisci un valore di timeout.
- Fai clic su Aggiorna.
- Per rivedere le modifiche, fai clic su Rivedi e finalizza e poi su Aggiorna.
gcloud
Per un bilanciatore del carico HTTP, aggiorna il proxy HTTP di destinazione utilizzando il comando gcloud compute target-http-proxies update
.
gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --region=REGION
Per un bilanciatore del carico HTTPS, aggiorna il proxy HTTPS di destinazione utilizzando il comando gcloud compute target-https-proxies update
.
gcloud compute target-https-proxies update TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --region REGION
Sostituisci quanto segue:
TARGET_HTTP_PROXY_NAME
: il nome del proxy HTTP di destinazione.TARGET_HTTPS_PROXY_NAME
: il nome del proxy HTTPS di destinazione.HTTP_KEEP_ALIVE_TIMEOUT_SEC
: il valore del timeout keepalive HTTP da 5 a 600 secondi.
Passaggi successivi
- Convertire il bilanciatore del carico delle applicazioni in IPv6
- Pulisci la configurazione del bilanciatore del carico