Questa pagina illustra come eseguire il deployment di un bilanciatore del carico delle applicazioni esterno globale per bilanciare il carico il traffico verso gli endpoint di rete che sono on-premise o in altri cloud pubblici sono raggiungibili tramite la connettività ibrida.
Dopo aver completato queste attività, puoi scegliere di abilitare ulteriori (come Cloud CDN e Google Cloud Armor) e gestione avanzata del traffico le funzionalità di machine learning.
Se non lo hai già fatto, esamina la sezione NEG di connettività ibrida panoramica per comprendere requisiti di rete per configurare il bilanciamento del carico ibrido.
Panoramica della configurazione
L'esempio in questa pagina configura il seguente deployment di esempio:
Devi configurare la connettività ibrida prima di tentare di configurarne uno con il deployment del bilanciamento del carico. Questo documento non include la connettività ibrida setup.
A seconda del prodotto per la connettività ibrida che scegli ( Cloud VPN o Cloud Interconnect (dedicato o partner), utilizza la documentazione del prodotto pertinente per configurarla.
Autorizzazioni
Per configurare il bilanciamento del carico ibrido, devi disporre delle seguenti autorizzazioni:
Su Google Cloud
- Autorizzazioni per stabilire la connettività ibrida tra Google Cloud e dell'ambiente on-premise o di altri ambienti cloud. Per l'elenco delle autorizzazioni necessarie, consulta il prodotto documentazione.
- Autorizzazioni per creare un NEG di connettività ibrida e il bilanciatore del carico.
L'amministratore del bilanciatore del carico Compute
ruolo
(
roles/compute.loadBalancerAdmin
) contiene le autorizzazioni necessarie per eseguire le attività descritte in questa guida.
Nel tuo ambiente on-premise o in un altro ambiente cloud non Google Cloud
- Autorizzazioni per configurare endpoint di rete che
consentono di rendere raggiungibili 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 sul tuo ambiente on-premise o su un altro cloud per consentire ai probe del controllo di integrità di Google di raggiungere gli endpoint.
- Autorizzazioni per configurare endpoint di rete che
consentono di rendere raggiungibili 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 a livello di zona (e relativi endpoint) in modo che fungano da backend basati su Google Cloud per il bilanciatore del carico.
Devi essere un proprietario del progetto o Editor, oppure dovresti avere secondo IAM di Compute Engine ruoli.
Attività | Ruolo richiesto |
---|---|
Creazione di reti, subnet e componenti del bilanciatore del carico | Amministratore rete Compute
(roles/compute.networkAdmin ) |
Aggiungi e rimuovi regole firewall | Amministratore sicurezza Compute
(roles/compute.securityAdmin ) |
Creazione delle istanze | Amministratore istanze Compute
(roles/compute.instanceAdmin ) |
Stabilisci la connettività ibrida
Il tuo ambiente Google Cloud e on-premise o gli altri ambienti cloud devono essere tramite la connettività ibrida utilizzando Collegamenti VLAN Cloud Interconnect o tunnel Cloud VPN con router Cloud. Ti consigliamo di utilizzare una connessione ad alta disponibilità.
Un router Cloud con funzionalità dinamiche globali calcolo itinerario apprende l'endpoint specifico tramite il Border Gateway Protocol (BGP) la programmi nella tua rete VPC di Google Cloud. A livello di regione il routing dinamico non è supportato. Anche le route statiche non sono supportate.
La rete VPC che utilizzi per configurare Cloud Interconnect o Cloud VPN è la stessa rete che utilizzerai per configurare il deployment del bilanciamento del carico ibrido. Assicurati che gli intervalli CIDR della subnet della tua rete VPC non siano in conflitto con gli intervalli CIDR remoti. Quando gli indirizzi IP si sovrappongono, le route di subnet con priorità rispetto alla connettività remota.
Per istruzioni, consulta la seguente documentazione:
Configura l'ambiente esterno a Google Cloud
Esegui i seguenti passaggi per configurare il tuo ambiente on-premise o un altro ambiente per il bilanciamento del carico ibrido:
- Configurare gli endpoint di rete per esporre i servizi on-premise
Google Cloud (
IP:Port
). - Configura le regole del firewall sul tuo ambiente on-premise o in un altro ambiente cloud.
- Configura il router Cloud per pubblicizzare determinate route richieste al tuo in un ambiente privato.
Configura gli endpoint di rete
Dopo aver configurato la connettività ibrida, devi configurare uno
più endpoint di rete all'interno dell'ambiente on-premise o di altri ambienti cloud che
sono raggiungibili tramite Cloud Interconnect o Cloud VPN utilizzando un
Combinazione IP:port
. Questa combinazione IP:port
è configurata come uno o
più endpoint per il NEG di connettività ibrida creato
Google Cloud più avanti in questo processo.
Se sono presenti più percorsi all'endpoint IP, segue il comportamento descritto in Router Cloud Panoramica.
Configura le regole firewall
Devi creare le seguenti regole firewall nel tuo ambiente on-premise o altro ambiente cloud:
Crea una regola firewall di autorizzazione in entrata per consentire il traffico proveniente dall'account di Google il controllo di integrità esegue il probe nei tuoi endpoint. Gli intervalli di indirizzi IP di origine da consentiti sono
35.191.0.0/16
e130.211.0.0/22
. Per ulteriori informazioni, consulta Intervalli IP e regole firewall.
Pubblicizza route
Configura il router Cloud per pubblicizzare il seguente indirizzo IP personalizzato intervallo di date ambiente on-premise o un altro ambiente cloud:
- Gli intervalli utilizzati dai probe del controllo di integrità di Google:
35.191.0.0/16
e130.211.0.0/22
.
configura l'ambiente Google Cloud
Per i passaggi seguenti, assicurati di utilizzare la stessa rete VPC (denominato NETWORK in questa procedura) è stato utilizzato per configurare la connettività ibrida tra gli ambienti.
Crea la subnet per i backend
Questa subnet viene utilizzata per creare i backend NEG a livello di zona del bilanciatore del carico, il frontend e l'indirizzo IP interno.
Crea questa subnet nella sezione NETWORK utilizzata per configurare la connettività ibrida tra ambienti cloud-native.
Console
Per supportare il traffico IPv4 e IPv6, segui questi passaggi:
Nella console Google Cloud, vai alla pagina Reti VPC.
Vai alla rete utilizzata per configurare l'ibrido e la connettività tra gli ambienti.
- Fai clic su Modifica.
- In Modalità di creazione subnet, scegli Personalizzata.
- Fai clic su Salva.
(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 oppure Manualmente.
Se selezioni Manualmente, inserisci un intervallo
/48
dall'interno Intervallo difd20::/20
. Se l'intervallo è in uso, ti viene chiesto di fornire per un intervallo diverso.
Nella scheda Subnet, fai clic su Aggiungi subnet.
Nel riquadro Aggiungi una subnet, configura i seguenti campi:
- Nel campo Nome, specifica un nome per la subnet.
- Nel campo Regione, seleziona una regione.
- Nel campo Intervallo di indirizzi IP, inserisci un intervallo di indirizzi IP.
- Per Tipo di stack IP, seleziona IPv4 e IPv6 (stack doppio).
- Nel campo Tipo di accesso IPv6, seleziona Esterno.
- Fai clic su Aggiungi.
Per supportare il traffico IPv4, segui questi passaggi:
Nella console Google Cloud, vai alla pagina Reti VPC.
Vai alla rete utilizzata per configurare l'ibrido e la connettività tra gli ambienti.
- Fai clic su Modifica.
- In Modalità di creazione subnet, scegli Personalizzata.
- Fai clic su Salva.
Nella scheda Subnet, fai clic su Aggiungi subnet.
Nel riquadro Aggiungi una subnet, inserisci le seguenti informazioni:
- Nel campo Nome, specifica un nome per la subnet.
- Nel campo Regione, seleziona una regione.
- Nel campo Intervallo di indirizzi IP, inserisci un intervallo di indirizzi IP.
- Per il campo Tipo di stack IP, seleziona IPv4 (stack singolo).
- Fai clic su Aggiungi.
gcloud
Crea una subnet in NETWORK utilizzata per configurare la connettività ibrida tra ambienti cloud-native.
Per il traffico IPv4 e IPv6, utilizza il seguente comando:
gcloud compute networks update NETWORK \ [ --enable-ula-internal-ipv6 [ --internal-ipv6-range=ULA_IPV6_RANGE ]] \ --subnet-mode=custom
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=EXTERNAL
Per il traffico IPv4, utilizza il seguente comando:
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION
Sostituisci quanto segue:
NETWORK
: un nome per la rete VPC.LB_SUBNET_NAME
: un nome per la subnet.REGION
: il nome della regione.ULA_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 rete.
Crea regola firewall
In questo esempio, crei la seguente regola firewall:
fw-allow-health-check
: una regola in entrata, applicabile a Google Cloud con bilanciamento del carico, in questo modo il traffico proveniente dal bilanciatore del carico 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 a identificare le VM di backend a cui deve essere applicata.
Console
Nella console Google Cloud, vai alla pagina Criteri firewall.
Fai clic su Crea regola firewall:
- Inserisci
fw-allow-health-check
come nome. - Nella sezione 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 la casella di controllo accanto a TCP e digita
80
per la porta numeri.
- Inserisci
Fai clic su Crea.
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
fw-allow-health-check-and-proxy
per consentire il bilanciatore del carico e i controlli di integrità di Google Cloud per comunicare di backend sulla porta TCP80
.Sostituisci NETWORK con il nome di alla rete VPC utilizzata per configurare la connettività ibrida.
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
fw-allow-health-check-ipv6
per consentire a Google Cloud Controlli di integrità IPv6.gcloud compute firewall-rules create fw-allow-health-check-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=tcp,udp,icmp
Configura il NEG a livello di zona
Per i backend basati su Google Cloud, consigliamo di configurare più istanze NEG nella stessa regione in cui hai configurato ibrido per la connettività.
I NEG di zona con uno o più endpoint di tipoGCE_VM_IP_PORT
supportano il doppio stack.
Per questo esempio, abbiamo configurato un NEG a livello di zona (con endpoint di tipo GCE_VM_IP_PORT
)
nella regione REGION. Per prima cosa, crea le VM
la zona GCP_NEG_ZONE. Poi
crea un NEG a livello di zona nello stesso GCP_NEG_ZONE
aggiungi le VM di rete al NEG.
Crea VM
Console
Vai alla pagina Istanze VM nella console Google Cloud.
Vai a Istanze VMFai clic su Crea istanza.
Imposta il Nome su
vm-a1
.In corrispondenza di Regione, scegli REGION.
In Zona, scegli GCP_NEG_ZONE.
Nella sezione Disco di avvio, assicurati che Per il disco di avvio è selezionata l'opzione Debian GNU/Linux 12 (bookworm) le opzioni di CPU e memoria disponibili. 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-health-check
. - Fai clic su Modifica
- Rete: NETWORK
- Subnet: LB_SUBNET_NAME
- Tipo di stack IP: IPv4 e IPv6 (stack doppio)
in
Interfacce di rete e apporta le seguenti modifiche, poi 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 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 passaggi seguenti per creare una seconda VM, utilizzando quanto segue: combinazione di nome e zona:
- Nome:
vm-a2
, zona: GCP_NEG_ZONE
- Nome:
gcloud
Crea le VM eseguendo questo comando due volte, utilizzando queste combinazioni per il nome della VM e della sua zona. La i contenuti dello script sono identici per entrambe le VM.
- VM_NAME di
vm-a1
e qualsiasi zona GCP_NEG_ZONE di la tua scelta VM_NAME di
vm-a2
e la stessa zona GCP_NEG_ZONEPer supportare il traffico IPv4 e IPv6, esegui questo comando:
gcloud compute instances create VM_NAME \ --zone=GCP_NEG_ZONE \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=allow-health-check,allow-health-check-ipv6 \ --ipv6-network-tier=PREMIUM \ --stack-type=IPv4_IPv6 \ --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 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. Definito come GCP_NEG_NAME in questo .
- 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 il valore in Porta predefinita:
80
. - Fai clic su Crea.
Aggiungi endpoint al NEG di zona:
- Vai alla pagina Gruppi di endpoint di rete nella console Google Cloud.
Vai ai gruppi di endpoint di rete - Fai clic sul nome del gruppo di endpoint di rete creato nella precedente (GCP_NEG_NAME). Tu consulta la pagina Dettagli gruppo di endpoint di rete.
- Nella sezione Endpoint di rete in questo gruppo, fai clic su Aggiungi rete endpoint. Viene visualizzata la pagina Aggiungi endpoint di rete.
- Seleziona un'istanza VM per aggiungere i relativi indirizzi IP interni come rete endpoint. Nella sezione Interfaccia di rete, il nome, la zona e la subnet della VM.
- Nel campo Indirizzo IPv4, inserisci l'indirizzo IPv4 della nuova rete endpoint.
- Nel campo Indirizzo IPv6, inserisci l'indirizzo IPv6 della nuova rete endpoint.
- Seleziona il Tipo di porta.
- Se selezioni Predefinita, l'endpoint utilizza la porta predefinita
80
per tutti gli endpoint nel gruppo di endpoint di rete. È sufficiente del nostro esempio, perché il server Apache gestisce le richieste porta80
. - Se selezioni Personalizzato, inserisci il Numero di porta per l'endpoint per l'utilizzo.
- Se selezioni Predefinita, l'endpoint utilizza la porta predefinita
- Per aggiungere altri endpoint, fai clic su Aggiungi endpoint di rete e ripeti il comando passaggi precedenti.
- Dopo aver aggiunto tutti gli endpoint, fai clic su Crea.
gcloud
Crea un NEG a livello di zona (con
GCE_VM_IP_PORT
endpoint) utilizzandogcloud 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 specifica un numero di porta per ogni endpoint come mostrato nel passaggio successivo.Aggiungi endpoint a doppio stack a GCP_NEG_NAME.
gcloud compute network-endpoint-groups update GCP_NEG_NAME \ --zone=GCP_NEG_ZONE \ --add-endpoint='instance=vm-a1,ip=IPv4_ADDRESS, \ ipv6=IPv6_ADDRESS,port=80' \ --add-endpoint='instance=vm-a2,ip=IPv4_ADDRESS, \ ipv6=IPv6_ADDRESS,port=80'
Configura il NEG di connettività ibrida
Quando crei il NEG, utilizza un ZONE che riduca al minimo il traffico geografico
distanza tra Google Cloud e la tua rete on-premise o un altro
completamente gestito di Google Cloud. Ad esempio, se ospiti un servizio in un ambiente on-premise
a Francoforte, in Germania, puoi specificare l'ambiente europe-west3-a
zona Google Cloud quando crei il NEG.
Inoltre, se utilizzi Cloud Interconnect, il valore ZONE utilizzato per creare il NEG deve trovarsi nella stessa regione in cui la connettività ibrida Il collegamento VLAN di Cloud Interconnect è stato configurato.
Per conoscere le regioni e le zone disponibili, consulta Compute Engine documentazione: Regioni e regioni disponibili zone.
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 NEG ibrido. Definito come ON_PREM_NEG_NAME in questo .
- Seleziona il Tipo di gruppo di endpoint di rete: Rete con connettività ibrida gruppo di endpoint (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 nella precedente (ON_PREM_NEG_NAME). Tu consulta la pagina Dettagli gruppo di endpoint di rete.
- Nella sezione Endpoint di rete in questo gruppo, fai clic su Aggiungi rete endpoint. Viene visualizzata la pagina Aggiungi endpoint di rete.
- Inserisci l'indirizzo IP del nuovo endpoint di rete.
- Seleziona il Tipo di porta.
- Se selezioni Predefinita, l'endpoint utilizza la porta predefinita per tutti gli endpoint nel gruppo di endpoint di rete.
- Se selezioni Personalizzato, puoi inserire un numero di porta diverso per l'endpoint.
- Per aggiungere altri endpoint, fai clic su Aggiungi endpoint di rete e ripeti il comando passaggi precedenti.
- Dopo aver aggiunto tutti gli endpoint non Google Cloud, fai clic su Crea.
gcloud
Crea un NEG di connettività ibrida utilizzando
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 a
on-prem-neg
: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 che hai usato in precedenza
configurate on-premise o nel cloud.
Ripeti --add-endpoint
tutte le volte necessarie.
Se necessario, puoi ripetere questi passaggi per creare più NEG ibridi.
Configura il bilanciatore del carico
Console
gcloud
- Crea un indirizzo IP esterno statico globale a cui
per inviare traffico.
gcloud compute addresses create LB_IP_ADDRESS_NAME \ --network-tier=PREMIUM \ --global
- Crea un controllo di integrità
per i backend.
gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \ --use-serving-port
- Crea un servizio di backend. Aggiungi sia il NEG a livello di zona sia il NEG ibrido di connettività come backend di questo servizio di backend.
- Aggiungi il NEG a livello di zona come backend al servizio di backend:
gcloud beta compute backend-services add-backend BACKEND_SERVICE \ --global \ --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
Per maggiori dettagli su configurazione della modalità di bilanciamento, consulta la documentazione della gcloud CLI per--max-rate-per-endpoint
. - Aggiungi il NEG ibrido come backend al servizio di backend:
gcloud compute backend-services add-backend BACKEND_SERVICE \ --global \ --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
- Crea una mappa URL per instradare le richieste in entrata al servizio di backend.
gcloud beta compute url-maps create URL_MAP_NAME \ --default-service BACKEND_SERVICE
- Esegui questo passaggio solo se vuoi creare un carico HTTPS
con il bilanciatore del carico di rete
passthrough esterno regionale. Non è richiesto per i bilanciatori del carico HTTP.
Per creare un bilanciatore del carico HTTPS, devi avere un Certificato SSL risorsa da utilizzare nel proxy di destinazione HTTPS. Puoi creare un protocollo SSL di certificazione utilizzando un certificato SSL gestito da Google un certificato SSL autogestito. Utilizzo dei certificati gestiti da Google è consigliata perché Google Cloud ottiene, gestisce e rinnova automaticamente questi certificati.
Per creare un certificato gestito da Google, devi avere un dominio. Se non hai un dominio, puoi utilizzare un certificato SSL autofirmato per i test.
Per creare una risorsa del certificato SSL gestito da Google:gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --domains DOMAIN
Per creare una risorsa del certificato SSL autogestito:gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --certificate CRT_FILE_PATH \ --private-key KEY_FILE_PATH
- Crea un proxy HTTP(S) di destinazione per instradare le richieste alla mappa di URL.
Per un bilanciatore del carico HTTP, crea un proxy di destinazione HTTP:gcloud beta compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --url-map=URL_MAP_NAME
Per un bilanciatore del carico HTTPS, crea un proxy di destinazione HTTPS. Il proxy è la parte del carico un bilanciatore del carico che contiene il certificato SSL per il bilanciamento del carico HTTPS, carica il tuo certificato in questo passaggio.gcloud beta compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --ssl-certificates=SSL_CERTIFICATE_NAME \ --url-map=URL_MAP_NAME
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
: un'opzione facoltativa utilizzato per specificare il timeout keepalive HTTP del client. Il valore di timeout deve essere compreso tra 5 e 1200 secondi. Il valore predefinito è 610 secondi.SSL_CERTIFICATE_NAME
: il nome del certificato SSL.URL_MAP_NAME
: il nome della mappa URL.
- Creare una regola di forwarding per instradare le richieste in entrata al proxy.
Per un bilanciatore del carico HTTP:gcloud beta compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=LB_IP_ADDRESS_NAME \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --global \ --ports=80
Per un bilanciatore del carico HTTPS:gcloud beta compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=LB_IP_ADDRESS_NAME \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --global \ --ports=443
gcloud beta compute backend-services create BACKEND_SERVICE \ --health-checks=HTTP_HEALTH_CHECK_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --ip-address-selection-policy=PREFER_IPV6 \ --global
Connetti il tuo 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 puntare il dominio verso
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.
Test del bilanciatore del carico
Ora che hai configurato il bilanciatore del carico, puoi iniziare a inviare all'indirizzo IP del bilanciatore del carico.
Vai alla pagina Bilanciamento del carico nella console Google Cloud.
Vai alla pagina Bilanciamento del caricoFai clic sul bilanciatore del carico appena creato.
Prendi nota dell'indirizzo IP del bilanciatore del carico.
Invia traffico al bilanciatore del carico.
Se hai creato un bilanciatore del carico HTTP, puoi testarlo da un browser web dalla pagina
http://IP_ADDRESS
. SostituisciIP_ADDRESS
con l'IP del bilanciatore del carico . Dovresti essere indirizzato al servizio esposto tramite endpoint.Se hai creato un bilanciatore del carico HTTPS, puoi testarlo utilizzando
curl
come segue. SostituisciIP_ADDRESS
con l'indirizzo IP del bilanciatore del carico. Tu deve essere indirizzato al servizio esposto tramite l'endpoint.curl -k https://IP_ADDRESS
Se non funziona e utilizzi un certificato gestito da Google, verifica che lo stato della risorsa del certificato sia ATTIVO. Per ulteriori informazioni informazioni, consulta Risorsa del certificato SSL gestito da Google . Quindi testa il dominio che punta all'indirizzo IP del bilanciatore del carico. Per esempio:
curl -s https://test.example.com
Il test degli endpoint non Google Cloud dipende al servizio che hai esposto tramite l'endpoint NEG ibrido.
Configurazione aggiuntiva
Questa sezione espande l'esempio di configurazione per fornire alternative e e altre opzioni di configurazione. Tutte le attività sono facoltative. Puoi eseguire in qualsiasi ordine.
Aggiorna timeout keepalive HTTP del client
Il bilanciatore del carico creato nei passaggi precedenti è stato configurato con un valore predefinito per keepalive HTTP del client timeout. 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 che vuoi modificare.
- Fai clic su Modifica.
- Fai clic su Configurazione frontend.
- Espandi Funzionalità avanzate. Per il timeout keepalive HTTP, inserire un valore di timeout compreso tra 5 e 1.200 secondi.
- Fai clic su Aggiorna.
- Per esaminare le modifiche, fai clic su Esamina e finalizza e poi fai clic su Aggiorna.
gcloud
Per un bilanciatore del carico HTTP, aggiorna il proxy HTTP di destinazione utilizzando il metodo
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 \ --global
Per un bilanciatore del carico HTTPS, aggiorna il proxy HTTPS di destinazione utilizzando il metodo
Comando gcloud compute target-https-proxies update
:
gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --global
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
: valore di timeout keepalive HTTP da 5 a 1200 secondi.
Passaggi successivi
- Converti il bilanciatore del carico delle applicazioni in IPv6.
- Esegui la pulizia della configurazione del bilanciatore del carico.