Questa pagina mostra come eseguire il deployment di un bilanciatore del carico di rete proxy interno tra regioni per bilanciare il carico il traffico verso gli endpoint di rete che sono on-premise o in altri cloud pubblici raggiungibili tramite la connettività ibrida.
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 configura un bilanciatore del carico di rete proxy interno tra regioni per ambienti misti di zona e ibridi Backend NEG di connettività, come mostrato nella figura seguente:
Devi configurare la connettività ibrida prima di configurarne uno con il deployment del bilanciamento del carico. A seconda della connettività ibrida che preferisci utilizza Cloud VPN o Cloud Interconnect (Dedicated Interconnect o partner).
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 in ambienti on-premise o in un altro cloud per consentire il traffico proveniente dall'ambiente una subnet solo proxy a raggiungere gli endpoint.
Non è necessario aggiungere gli intervalli di probe del controllo di integrità di Google a una lista consentita per gli ambienti ibridi NEG. Tuttavia, se utilizzi una combinazione di NEG ibridi e a livello di zona un unico servizio di backend, devi aggiungere la classe Google intervalli di probe del controllo di integrità a una lista consentita per i NEG a livello di zona.
Pubblicizza route
Configura il router Cloud per pubblicizzare il seguente indirizzo IP personalizzato intervallo di date ambiente on-premise o un altro ambiente cloud:
- L'intervallo della subnet solo proxy della regione.
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.
Inoltre, assicurati che le regioni utilizzate
(chiamati REGION_A
e
REGION_B
in questa procedura)
sono gli stessi utilizzati per creare il tunnel Cloud VPN
Collegamenti VLAN di Cloud Interconnect.
Configura le subnet di backend
Utilizza questa subnet per creare i backend NEG a livello di zona del bilanciatore del carico:
Console
Nella console Google Cloud, vai alla pagina Reti VPC.
Vai alla rete utilizzata per configurare la connettività ibrida tra per gestire gli ambienti.
Nella sezione Subnet:
- Imposta Modalità di creazione subnet su Personalizzata.
- Nella sezione Nuova subnet, inserisci le informazioni seguenti:
- .
- Specifica un nome per la subnet.
- Seleziona una regione: REGION_A
- Inserisci un intervallo di indirizzi IP.
- Fai clic su Fine.
Fai clic su Crea.
Per aggiungere altre subnet in regioni diverse, fai clic su Aggiungi subnet e ripeti l'operazione i passaggi precedenti per REGION_B
gcloud
Crea subnet nella rete utilizzata per configurare il cloud e la connettività tra gli ambienti.
gcloud compute networks subnets create SUBNET_A \ --network=NETWORK \ --range=LB_SUBNET_RANGE1 \ --region=REGION_A
gcloud compute networks subnets create SUBNET_B \ --network=NETWORK \ --range=LB_SUBNET_RANGE2 \ --region=REGION_B
API
Invia una richiesta POST
a
Metodo subnetworks.insert
.
Sostituisci PROJECT_ID
con il tuo ID progetto.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/subnetworks { "name": "SUBNET_A", "network": "projects/PROJECT_ID/global/networks/NETWORK", "ipCidrRange": "LB_SUBNET_RANGE1", "region": "projects/PROJECT_ID/regions/REGION_A", }
Invia una richiesta POST
a
Metodo subnetworks.insert
.
Sostituisci PROJECT_ID
con il tuo ID progetto.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_B/subnetworks { "name": "SUBNET_B", "network": "projects/PROJECT_ID/global/networks/NETWORK", "ipCidrRange": "LB_SUBNET_RANGE2", "region": "projects/PROJECT_ID/regions/REGION_B", }
Sostituisci quanto segue:
SUBNET_A
eSUBNET_B
: il nome delle subnetLB_SUBNET_RANGE1
eLB_SUBNET_RANGE2
: l'intervallo di indirizzi IP per le subnetREGION_A
eREGION_B
: Le regioni in cui hai configurato il bilanciatore del carico
Configura la subnet solo proxy
Una subnet solo proxy fornisce una insieme di indirizzi IP che Google utilizza per eseguire proxy Envoy per tuo conto. La i proxy terminano le connessioni dal client e creano nuove connessioni di backend.
Questa subnet solo proxy viene utilizzata da tutto il carico regionale basato su Envoy bilanciatori del carico nella stessa regione della rete VPC. Possono esserci solo una subnet solo proxy attiva per uno scopo specifico, per regione e per rete.
Console
Se utilizzi la console Google Cloud, puoi attendere e creare l'account più avanti nella pagina Bilanciamento del carico.
Se vuoi creare ora la subnet solo proxy, segui questi passaggi:
Nella console Google Cloud, vai alla pagina Reti VPC.
- Fai clic sul nome della rete VPC.
- Nella scheda Subnet, fai clic su Aggiungi subnet.
- Specifica un nome per la subnet solo proxy.
- Nell'elenco Regione, seleziona REGION_A.
- Nell'elenco Finalità, seleziona Proxy gestito tra regioni.
- Nel campo Intervallo di indirizzi IP, inserisci
10.129.0.0/23
. - Fai clic su Aggiungi.
Crea la subnet solo proxy in REGION_B
- Fai clic su Aggiungi subnet.
- Specifica un nome per la subnet solo proxy.
- Nell'elenco Regione, seleziona REGION_B.
- Nell'elenco Finalità, seleziona Proxy gestito tra regioni.
- Nel campo Intervallo di indirizzi IP, inserisci
10.130.0.0/23
. - Fai clic su Aggiungi.
gcloud
Crea le subnet solo proxy con
gcloud compute networks subnets create
.
gcloud compute networks subnets create PROXY_SN_A \ --purpose=GLOBAL_MANAGED_PROXY \ --role=ACTIVE \ --region=REGION_A \ --network=NETWORK \ --range=PROXY_ONLY_SUBNET_RANGE1
gcloud compute networks subnets create PROXY_SN_B \ --purpose=GLOBAL_MANAGED_PROXY \ --role=ACTIVE \ --region=REGION_B \ --network=NETWORK \ --range=PROXY_ONLY_SUBNET_RANGE2
Sostituisci quanto segue:
PROXY_SN_A
ePROXY_SN_B
: il nome del server proxy subnetPROXY_ONLY_SUBNET_RANGE1
ePROXY_ONLY_SUBNET_RANGE2
: l'intervallo di indirizzi IP per le subnet solo proxyREGION_A
eREGION_B
: Le regioni in cui hai configurato il bilanciatore del carico
API
Crea le subnet solo proxy con
subnetworks.insert
, in sostituzione
PROJECT_ID
con il tuo ID progetto.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/subnetworks { "name": "PROXY_SN_A", "ipCidrRange": "PROXY_ONLY_SUBNET_RANGE1", "network": "projects/PROJECT_ID/global/networks/NETWORK", "region": "projects/PROJECT_ID/regions/REGION_A", "purpose": "GLOBAL_MANAGED_PROXY", "role": "ACTIVE" }
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_B/subnetworks { "name": " PROXY_SN_B", "ipCidrRange": "PROXY_ONLY_SUBNET_RANGE2", "network": "projects/PROJECT_ID/global/networks/NETWORK", "region": "projects/PROJECT_ID/regions/REGION_B", "purpose": "GLOBAL_MANAGED_PROXY", "role": "ACTIVE" }
Crea regole firewall
In questo esempio, crei le seguenti regole firewall per il NEG a livello di zona su Google Cloud:
fw-allow-health-check
: una regola in entrata, applicabile al con bilanciamento del carico, il che consente il traffico 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 i NEG di zona a cui deve essere applicata.fw-allow-ssh
: una regola in entrata che consente la connettività SSH in entrata su TCP alla porta 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 applicata.fw-allow-proxy-only-subnet
: una regola in entrata che consente connessioni dal una subnet solo proxy per raggiungere i backend NEG a livello di zona.
Console
Nella console Google Cloud, vai alla pagina Criteri firewall.
Fai clic su Crea regola firewall per creare la regola che consenta il traffico da probe del controllo di integrità:
- Inserisci
fw-allow-health-check
come nome. - 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
. - Per Protocolli e porte, seleziona Protocolli e porte specificati porte.
- Seleziona TCP e inserisci
80
per il numero di porta. - Fai clic su Crea.
- Inserisci
Fai di nuovo clic su Crea regola firewall per creare la regola e consentire l'accesso Connessioni SSH:
- 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 e consentire l'accesso connessioni 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_RANGE1 e PROXY_ONLY_SUBNET_RANGE2
- 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 i controlli di integrità di Google Cloud per raggiungere 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 a VM con il tag di reteallow-ssh
. Se omettisource-ranges
, Google Cloud interpreta la regola nel significato che Fonte.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 per 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_RANGE1,PROXY_ONLY_SUBNET_RANGE2 \ --rules=tcp:80
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à.
Per questo esempio, abbiamo configurato un NEG a livello di zona (con endpoint di tipo GCE_VM_IP_PORT
)
nel REGION1
. Per prima cosa, crea le VM
la zona NEG_ZONE1
. Poi
crea un NEG a livello di zona in NEG_ZONE2
e
aggiungi le VM di rete al NEG.
Per supportare l'alta disponibilità, abbiamo configurato un NEG di zona simile in REGION2
regione. Se i backend in una regione sono inattivi, il failover del traffico viene eseguito verso
nell'altra regione.
Crea VM
Console
Nella console Google Cloud, vai alla pagina Istanze VM.
Ripeti i passaggi da 3 a 8 per ogni VM, utilizzando il seguente nome e zone.
- Nome: di
vm-a1
- Zona: NEG_ZONE1 in la regione REGION_A
- Subnet: SUBNET_A
- Nome: di
vm-b1
- Zona: NEG_ZONE2 in la regione REGION_B
- Subnet: SUBNET_B
- Nome: di
Fai clic su Crea istanza.
Imposta il nome come indicato nel passaggio precedente.
Per l'opzione Regione, scegli come indicato nel passaggio precedente.
Per Zona, scegli come indicato nel passaggio precedente.
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.
Nella sezione Opzioni avanzate, espandi Networking ed esegui le seguenti:
- Aggiungi i seguenti tag di rete:
allow-ssh
,allow-health-check
eallow-proxy-only-subnet
. - Nella sezione Interfacce di rete, fai clic su Aggiungi un'interfaccia di rete.
apporta le seguenti modifiche, poi fai clic su Fine:
- .
- Rete: NETWORK
- Subnet: come indicato nel passaggio precedente.
- IP interno principale: Temporaneo (automatico)
- IP esterno: Temporaneo
Espandi Gestione. Nel campo Automazione, copia e incolla i seguenti contenuti dello script. I contenuti dello script sono identici tutte 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
- Aggiungi i seguenti tag di rete:
Fai clic su Crea.
gcloud
Crea le VM eseguendo questo comando, 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
divm-a1
- .
- La zona
GCP_NEG_ZONE
come NEG_ZONE1 nella regioneREGION_A
- La subnet
LB_SUBNET_NAME
come SUBNET_A
- La zona
VM_NAME
divm-b1
- Zona
GCP_NEG_ZONE
come NEG_ZONE2 nella regioneREGION_B
- Subnet
LB_SUBNET_NAME
come SUBNET_B
gcloud compute instances create VM_NAME \ --zone=GCP_NEG_ZONE \ --image-family=debian-12 \ --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'
- Zona
Crea il NEG a livello di zona
Console
Per creare un gruppo di endpoint di rete a livello di zona:
Nella console Google Cloud, vai alla pagina Gruppi di endpoint di rete.
Ripeti i passaggi da 3 a 8 per ogni NEG a livello di zona utilizzando il seguente nome e combinazioni di zona:
- Nome:
neg-1
- Zona: NEG_ZONE1 in
regione
REGION_A
- Subnet: SUBNET_A
- Zona: NEG_ZONE1 in
regione
- Nome:
neg-2
- Zona: NEG_ZONE2 in
regione
REGION_B
- Subnet: SUBNET_B
- Zona: NEG_ZONE2 in
regione
- Nome:
Fai clic su Crea gruppo di endpoint di rete.
Imposta il nome come indicato nel passaggio precedente.
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 come indicato nel passaggio precedente.
Seleziona la Zona come indicato nel passaggio precedente.
Inserisci il valore in Porta predefinita:
80
.Fai clic su Crea.
Aggiungi endpoint al NEG di zona:
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 passaggio. 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.
Inserisci l'indirizzo IP del nuovo endpoint di rete.
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 NEG a livello di zona (con
GCE_VM_IP_PORT
endpoint) utilizzando le combinazioni di nome, zona e subnet. Usa il comandogcloud compute network-endpoint-groups create
.- Nome:
neg-1
- Zona
GCP_NEG_ZONE
: NEG_ZONE1 in regioneREGION_A
- Subnet
LB_SUBNET_NAME
: SUBNET_A
- Zona
- Nome:
neg-2
- Zona
GCP_NEG_ZONE
: NEG_ZONE2 in regioneREGION_B
- Subnet
LB_SUBNET_NAME
: SUBNET_B
- Zona
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 una porta utilizzando l'opzione
--default-port
mentre creando il NEG oppure specifica un numero di porta per endpoint come mostrato nel passaggio successivo.- Nome:
Aggiungi endpoint a
neg1
eneg2
.gcloud compute network-endpoint-groups update neg1 \ --zone=NEG_ZONE1 \ --add-endpoint='instance=vm-a1,port=80'
gcloud compute network-endpoint-groups update neg2 \ --zone=NEG_ZONE2 \ --add-endpoint='instance=vm-b1,port=80'
Configura il NEG di connettività ibrida
Quando crei il NEG, utilizza una zona che minimizzi il traffico distanza tra Google Cloud e la tua rete on-premise o un altro completamente gestito di Google Cloud.
E, se utilizzi Cloud Interconnect, la zona utilizzata per creare il NEG si trova nella stessa regione in cui Il collegamento Cloud Interconnect è stato configurato.
I NEG ibridi supportano solo l'integrità di Envoy distribuita controlli.
Console
Per creare un gruppo di endpoint di rete con connettività ibrida:
Nella console Google Cloud, vai alla pagina Gruppi di endpoint di rete.
Fai clic su Crea gruppo di endpoint di rete.
Ripeti i passaggi da 4 a 9 per ciascun NEG ibrido, utilizzando le seguenti combinazioni di nome e zona.
- Nome ON_PREM_NEG_NAME:
hybrid-1
- .
- Zona: ON_PREM_NEG_ZONE1
- Subnet: SUBNET_A
- Nome ON_PREM_NEG_NAME:
hybrid-2
- .
- Zona: ON_PREM_NEG_ZONE2
- Subnet: SUBNET_B
- Nome ON_PREM_NEG_NAME:
Imposta il nome come indicato nel passaggio precedente.
Seleziona il Tipo di gruppo di endpoint di rete: Rete con connettività ibrida gruppo di endpoint (a livello di zona).
Seleziona la rete: NETWORK
Per Subnet, scegli come indicato nel passaggio precedente.
Per Zona, scegli come indicato nel passaggio precedente.
Inserisci la Porta predefinita.
Fai clic su Crea
Aggiungi endpoint al NEG di connettività ibrida:
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 passaggio. 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 che utilizza le seguenti combinazioni di nomi. Usa il comando
gcloud compute network-endpoint-groups create
.- Nome
ON_PREM_NEG_NAME
:hybrid-1
- .
- Zona
ON_PREM_NEG_ZONE
: ON_PREM_NEG_ZONE1
- Zona
- Nome
ON_PREM_NEG_NAME
:hybrid-2
- .
- Zona
GCP_NEG_ZONE
: ON_PREM_NEG_ZONE2
- Zona
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
- Nome
Aggiungi l'endpoint 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 che hai usato in precedenza
configurati on-premise o nel tuo ambiente cloud.
Ripeti --add-endpoint
tutte le volte necessarie.
Configura il bilanciatore del carico
Console
gcloud
Definisci il controllo di integrità TCP con il comando
gcloud compute health-checks create tcp
.gcloud compute health-checks create tcp gil4-basic-check \ --use-serving-port \ --global
Crea il servizio di backend e abilita il logging con il comando
gcloud compute backend-services create
.gcloud compute backend-services create BACKEND_SERVICE \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=TCP \ --enable-logging \ --logging-sample-rate=1.0 \ --health-checks=gil4-basic-check \ --global-health-checks \ --global
Aggiungi backend al servizio di backend con il comando
gcloud compute backend-services add-backend
.gcloud compute backend-services add-backend BACKEND_SERVICE \ --global \ --balancing-mode=CONNECTION \ --max-connections-per-endpoint=MAX_CONNECTIONS \ --network-endpoint-group=neg1 \ --network-endpoint-group-zone=NEG_ZONE1 \ --network-endpoint-group=neg2 \ --network-endpoint-group-zone=NEG_ZONE2
Per maggiori dettagli su configurazione della modalità di bilanciamento, consulta la documentazione della gcloud CLI per il flag
--max-connections-per-endpoint
. Per MAX_CONNECTIONS, inserisci il numero massimo di istanze simultanee gestite dal backend.Aggiungi i NEG ibridi come backend del servizio di backend.
gcloud compute backend-services add-backend BACKEND_SERVICE \ --global \ --balancing-mode=CONNECTION \ --max-connections-per-endpoint=MAX_CONNECTIONS \ --network-endpoint-group=hybrid1 \ --network-endpoint-group-zone=ON_PREM_NEG_ZONE1 \ --network-endpoint-group=hybrid2 \ --network-endpoint-group-zone=ON_PREM_NEG_ZONE2 \
Per maggiori dettagli sulla configurazione della modalità di bilanciamento, consulta gcloud CLI documentazione per gli amministratori Parametro
--max-connections-per-endpoint
. PerMAX_CONNECTIONS
, inserisci il numero massimo di istanze simultanee gestite dal backend.Crea il proxy di destinazione.
Crea il proxy di destinazione con il comando
gcloud compute target-tcp-proxies create
.gcloud compute target-tcp-proxies create gil4-tcp-proxy \ --url-map=gil4-map \ --global
Creare due regole di forwarding, una con un VIP IP_ADDRESS1 pollici REGION_A e un'altra con un VIP IP_ADDRESS2 tra
REGION_B
. Per l'indirizzo IP della regola di forwarding, utilizza il metodo LB_SUBNET_RANGE1 o LB_SUBNET_RANGE2 IP di indirizzi IP esterni. Se provi a utilizzare subnet solo proxy, la creazione della regola di forwarding non riesce.Per le reti personalizzate, devi fare riferimento alla subnet nella personalizzata. Tieni presente che questa è la subnet della VM, non la subnet proxy.
Usa il comando
gcloud compute forwarding-rules create
con i flag corretti.gcloud compute forwarding-rules create gil4-forwarding-rule-a \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=NETWORK \ --subnet=SUBNET_A \ --subnet-region=REGION_A \ --address=IP_ADDRESS1 \ --ports=80 \ --target-tcp-proxy=gil4-tcp-proxy \ --global
gcloud compute forwarding-rules create gil4-forwarding-rule-b \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=NETWORK \ --subnet=SUBNET_B \ --subnet-region=REGION_B \ --address=IP_ADDRESS2 \ --ports=80 \ --target-tcp-proxy=gil4-tcp-proxy \ --global
Testa il bilanciatore del carico
Crea un'istanza VM per testare la connettività
Crea le VM client in
REGION_A
eREGION_B
e regioni:gcloud compute instances create l4-ilb-client-a \ --image-family=debian-12 \ --image-project=debian-cloud \ --network=NETWORK \ --subnet=SUBNET_A \ --zone=NEG_ZONE1 \ --tags=allow-ssh
gcloud compute instances create l4-ilb-client-b \ --image-family=debian-12 \ --image-project=debian-cloud \ --network=NETWORK \ --subnet=SUBNET_B \ --zone=NEG_ZONE2 \ --tags=allow-ssh
Utilizza SSH per connetterti a ciascuna istanza client.
gcloud compute ssh l4-ilb-client-a \ --zone=NEG_ZONE1
gcloud compute ssh l4-ilb-client-b \ --zone=NEG_ZONE2
Verifica che l'indirizzo IP utilizzi il suo nome host.
Verifica che la VM client possa raggiungere entrambi gli indirizzi IP. Il comando dovrebbe riuscire e restituire il nome della VM di backend che ha gestito la richiesta:
curl IP_ADDRESS1
curl IP_ADDRESS2
Esegui 100 richieste
Esegui 100 richieste curl e conferma dalle risposte che sono caricate equilibrato.
Verifica che la VM client possa raggiungere entrambi gli indirizzi IP. Il comando dovrebbe riuscire e restituire il nome della VM di backend che ha pubblicato la richiesta:
{ RESULTS= for i in {1..100} do RESULTS="$RESULTS:$(curl --silent IP_ADDRESS1)" done echo "***" echo "*** Results of load-balancing to IP_ADDRESS1: " echo "***" echo "$RESULTS" | tr ':' '\n' | grep -Ev "^$" | sort | uniq -c echo }
{ RESULTS= for i in {1..100} do RESULTS="$RESULTS:$(curl --silent IP_ADDRESS2)" done echo "***" echo "*** Results of load-balancing to IP_ADDRESS2: " echo "***" echo "$RESULTS" | tr ':' '\n' | grep -Ev "^$" | sort | uniq -c echo }
Testa failover
Verifica il failover ai backend in
REGION_A
a livello di regione quando i backend inREGION_B
non sono integri o irraggiungibili. Simuliamo questo comportamento rimuovendo tutti backend diREGION_B
:gcloud compute backend-services remove-backend BACKEND_SERVICE \ --balancing-mode=CONNECTION \ --network-endpoint-group=neg2 \ --network-endpoint-group-zone=NEG_ZONE2
Utilizza SSH per connetterti alla VM client in
REGION_B
.gcloud compute ssh l4-ilb-client-b \ --zone=NEG_ZONE2
Invia richieste all'indirizzo IP con bilanciamento del carico nella regione
REGION_B
. L'output comando dovrebbe visualizzare le risposte delle VM di backend inREGION_A
:{ RESULTS= for i in {1..100} do RESULTS="$RESULTS:$(curl -k -s 'https://test.example.com:443' --connect-to test.example.com:443:IP_ADDRESS2:443)" done echo "***" echo "*** Results of load-balancing to IP_ADDRESS2: " echo "***" echo "$RESULTS" | tr ':' '\n' | grep -Ev "^$" | sort | uniq -c echo }
Passaggi successivi
- Converti il bilanciatore del carico di rete proxy in IPv6
- Panoramica del bilanciatore del carico di rete proxy interno
- Subnet solo proxy per bilanciatori del carico basati su Envoy
- Eseguire la pulizia di una configurazione di bilanciamento del carico