Prima di seguire questa guida, acquisisci familiarità con il NEG internet di panoramica, che include limitazioni.
Il seguente diagramma di architettura mostra un frontend del bilanciatore del carico di rete proxy interno regionale con un backend esterno.
Autorizzazioni
Per seguire questa guida, devi creare un NEG internet e creare o modificare un
un proxy del carico di rete proxy
in un progetto. Devi essere un proprietario o un proprietario
Editor (roles/owner
o roles/editor
) oppure
devi disporre di entrambi i seguenti bucket IAM di Compute Engine
ruoli.
Attività | Ruolo richiesto |
---|---|
Creare e modificare i componenti del bilanciatore del carico | Amministratore rete Compute ( roles/compute.networkAdmin )
|
Creare e modificare i NEG | Amministratore istanze Compute ( roles/compute.instanceAdmin )
|
Configurare l'ambiente di backend esterno al di fuori di Google Cloud
Per configurare l'ambiente di backend esterno, consulta le sezioni seguenti.
Configura gli endpoint di rete
Configura un endpoint di rete per esporre il backend esterno a Google Cloud. Assicurati che l'endpoint, ovvero una combinazione di IP:porta o un nome di dominio completo (FQDN) e una porta, sia raggiungibile su internet. A questo endpoint viene fatto riferimento in un secondo momento dal NEG internet.
Per i requisiti di configurazione dettagliati per gli endpoint NEG internet, consulta Panoramica dei NEG internet.
Consenti al backend esterno di ricevere traffico da Google Cloud
Questo passaggio può essere completato dopo aver creato la subnet solo proxy e aver impostato il gateway Cloud NAT.
Per consentire alle richieste da Google Cloud di raggiungere il tuo backend esterno, dovrai segui questi passaggi:
- Configura un gateway Cloud NAT con gli indirizzi IP utilizzati per il traffico in uscita da Google Cloud. Il gateway mappa solo il proxy di subnet agli indirizzi IP esterni. Per la procedura, consulta Configurare un gateway Cloud NAT.
- Assicurati che l'ambiente di backend esterno sia configurato in modo da consentire da Google Cloud per raggiungere il backend esterno. Ad esempio: se hai usato indirizzi IP preprenotati per il gateway NAT, inserirai nella lista consentita questi indirizzi IP sul tuo ambiente esterno. Per eseguire questa configurazione, probabilmente dovrai collaborare con l'amministratore della rete o della sicurezza del tuo ambiente esterno.
Configurare l'ambiente Google Cloud
Avrai bisogno di una rete VPC con due subnet: una per i componenti del bilanciatore del carico e l'altra per la subnet solo proxy della regione. Poi creerai il bilanciatore del carico con un backend NEG internet.
crea la rete VPC e la subnet
Questa subnet viene utilizzata per creare i componenti del bilanciatore del carico.
console Cloud
- Nella console Google Cloud, vai alla pagina Reti VPC.
Vai alle reti VPC - Fai clic su Crea rete VPC.
- Inserisci un Nome: LB_NETWORK.
- 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 la rete VPC personalizzata utilizzando il comando
gcloud compute networks create
:gcloud compute networks create LB_NETWORK \ --subnet-mode=custom
Crea una subnet in LB_NETWORK in ogni rete.
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=LB_NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION
Configura la subnet solo proxy
Questa subnet solo proxy viene utilizzata da 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 - Seleziona una Rete dall'elenco.
- 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=LB_NETWORK \ --range=PROXY_ONLY_SUBNET_RANGE
Configura un gateway Cloud NAT
Prima di configurare il gateway Cloud NAT, assicurati di aver esaminato le limitazioni e le considerazioni sui prezzi associati. Per maggiori dettagli, consulta NEG regionali: utilizzare un gateway Cloud NAT.I comandi riportati di seguito descrivono come configurare un gateway Cloud NAT. La Il gateway Cloud NAT può essere configurato per utilizzare NAT automatico indirizzi IP esterni, in cui l'allocazione si basa sulla domanda, o per utilizzare un di indirizzi IP esterni preprenotati manualmente. Il gateway mappa l'intervallo di subnet solo proxy agli indirizzi IP esterni.
Configurare gli indirizzi IP allocati automaticamente tramite NAT
Quando crei un gateway Cloud NAT con indirizzo IP NAT automatico l'allocazione, puoi specificare Network Service Tiers (livello Premium o Standard) da cui il gateway Cloud NAT alloca gli indirizzi IP.
Console
Nella console Google Cloud, vai alla pagina Cloud NAT.
Fai clic su Inizia o Crea gateway Cloud NAT.
Inserisci un nome per il gateway LB_NAT_CONFIG.
In Tipo NAT, seleziona Pubblico.
Nell'elenco Rete, seleziona LB_NETWORK.
Nell'elenco Regione, seleziona REGION.
Crea un router Cloud nella regione.
Per Tipo di endpoint di origine, seleziona Bilanciatori del carico proxy gestiti.
Nell'elenco Origine, seleziona Personalizzato.
- In Subnet, seleziona PROXY_ONLY_SUBNET_NAME.
Nell'elenco Indirizzi IP Cloud NAT, seleziona Automatico (consigliato).
Per Livello di servizio di rete, scegli Premium o Standard.
Fai clic su Crea.
gcloud
Utilizza indirizzi IP allocati dinamicamente se il tuo ambiente di backend esterno non richiede di inserire nella lista consentita indirizzi IP Google Cloud specifici che possono inviare traffico al backend esterno.
Crea un router Cloud:
gcloud beta compute routers create ROUTER_NAME \ --network=LB_NETWORK \ --region=REGION
Configura il gateway Cloud NAT.
gcloud beta compute routers nats create LB_NAT_CONFIG \ --router=ROUTER_NAME \ --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \ --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \ --auto-allocate-nat-external-ips \ --region=REGION
Sostituisci quanto segue:
LB_NAT_CONFIG
: il nome della configurazione NAT.ROUTER_NAME
: il nome del tuo router Cloud.REGION
: la regione della NAT da creare. Se non specificato, potrebbe esserti chiesto di selezionare una regione (solo modalità interattiva).PROXY_ONLY_SUBNET_NAME
: solo il nome del tuo proxy una subnet.
Configura gli indirizzi IP allocati manualmente
Utilizza gli indirizzi IP allocati manualmente solo se il backend esterno richiede l'uso di una lista consentita per indirizzi IP Google Cloud specifici indirizzi IP esterni. Se l'ambiente di backend esterno non ha bisogno di una lista consentita, utilizzare l'allocazione dinamica, come mostrato in precedenza.
Quando crei un gateway Cloud NAT, puoi scegliere di assegnare manualmente NAT indirizzi IP del livello Premium o Standard o di entrambi, in base a determinate condizioni.
Console
Nella console Google Cloud, vai alla pagina Cloud NAT.
Fai clic su Inizia o Crea gateway Cloud NAT.
Inserisci un nome per il gateway LB_NAT_CONFIG.
Nell'elenco Rete, seleziona LB_NETWORK.
Nell'elenco Regione, seleziona REGION.
Seleziona o crea un router Cloud nella regione.
Per Tipo di endpoint di origine, seleziona Bilanciatori del carico proxy gestiti.
Nell'elenco Origine, seleziona Personalizzata.
- In Subnet, seleziona PROXY_ONLY_SUBNET_NAME.
Nell'elenco Indirizzi IP Cloud NAT, seleziona Manuale.
In Livello di servizio di rete, scegli Premium o Standard.
Seleziona o crea un indirizzo IP esterno statico riservato da utilizzare per NAT.
Se vuoi specificare indirizzi IP aggiuntivi, fai clic su Aggiungi indirizzo IP. e poi selezionare o creare un altro indirizzo IP esterno statico e riservato.
Fai clic su Crea.
gcloud
Crea gli indirizzi IP. Poiché il gateway esegue la traduzione NAT uno a uno, devi assicurarti che il pool di indirizzi IP riservati sia sufficientemente grande da gestire la quantità di traffico prevista. Indirizzi IP NAT allocati in modo insufficiente potrebbero comportare la perdita di traffico.
gcloud compute addresses create IP_ADDRESS_NAME_1 IP_ADDRESS_NAME_2 [IP_ADDRESS_NAME_3 ...] \ --region=REGION
Crea un router Cloud:
gcloud compute routers create ROUTER_NAME \ --network=LB_NETWORK \ --region=REGION
Configura il gateway Cloud NAT.
gcloud beta compute routers nats create LB_NAT_CONFIG \ --router=ROUTER_NAME \ --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \ --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \ --nat-external-ip-pool=IP_ADDRESS_NAME_1,IP_ADDRESS_NAME_2,[IP_ADDRESS_NAME_3 ...] \ --region=REGION
Sostituisci quanto segue:
LB_NAT_CONFIG
: il nome della configurazione NAT.ROUTER_NAME
: il nome del tuo router Cloud.PROXY_ONLY_SUBNET_NAME
: il nome della sottorete solo del proxy.REGION
: la regione della NAT da creare. Se non specificato, ti potrebbe essere chiesto di selezionare una regione (solo modalità interattiva).
Per ulteriori informazioni, vedi Specifica intervalli di subnet per NAT nella documentazione di Cloud NAT.
Assicurati di utilizzare una lista consentita per gli intervalli di indirizzi IP NAT sul tuo ambiente di backend esterno, in modo che il backend esterno possa ricevere traffico di Google Cloud.
Prenota l'indirizzo IP del bilanciatore del carico
Prenota un indirizzo IP interno per il bilanciatore del carico.
Console
Puoi prenotare un indirizzo IP interno autonomo utilizzando la console Google Cloud.
- Vai alla pagina Reti VPC.
- Fai clic sulla rete utilizzata per la configurazione e 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 forwarding, in Scopo: scegli Condiviso.
- Fai clic su Prenota per completare la procedura.
gcloud
Utilizzando gcloud CLI, esegui 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
Configura il NEG internet
Puoi creare un NEG internet utilizzando endpoint INTERNET_FQDN_PORT
o
INTERNET_IP_PORT
.
Console
Crea un NEG con INTERNET_FQDN_PORT
endpoint
Nella console Google Cloud, vai alla pagina Gruppo di endpoint di rete.
Fai clic su Crea gruppo di endpoint di rete.
Specifica un INTERNET_NEG_NAME per il NEG internet. Per ulteriori informazioni, vedi Convenzione di denominazione delle risorse.
Nell'elenco Tipo di gruppo di endpoint di rete, seleziona Gruppo di endpoint di rete (Internet), quindi esegui la seguenti:
- Nell'elenco Ambito, seleziona A livello di regione.
- (Facoltativo) Nell'elenco Regione, modifica il REGION per questo NEG.
- Nell'elenco Rete, seleziona LB_NETWORK.
- Nella casella Porta predefinita, inserisci DEFAULT_PORT_NUMBER.
- Nell'elenco Aggiungi endpoint tramite, seleziona Nome di dominio e porta completi.
- Seleziona Crea.
Aggiungi INTERNET_FQDN_PORT
endpoint al NEG
Nella console Google Cloud, vai alla pagina Gruppo di endpoint di rete.
- Fai clic su INTERNET_NEG_NAME.
Inserisci il nome di dominio completo, ad esempio
myorg.example.com
. Devi specificare gli oggetti FQDN in sintassi standard del nome di dominio completo.(Facoltativo) In Tipo di porta, seleziona Personalizzata. Se il tipo di porta è
Default
, viene utilizzata la porta predefinita del NEG.- Nella casella Numero porta, inserisci PORT_NUMBER_1.
- Seleziona Crea.
Creare un gruppo di istanze elastiche con endpoint INTERNET_IP_PORT
Nella console Google Cloud, vai alla pagina Gruppo di endpoint di rete.
Fai clic su Crea gruppo di endpoint di rete.
Specifica un nome INTERNET_NEG_NAME per il tuo NEG internet. Per ulteriori informazioni, consulta la convenzione di denominazione delle risorse.
Nell'elenco Tipo di gruppo di endpoint di rete, seleziona Gruppo di endpoint di rete (Internet), quindi esegui la seguenti:
- Nell'elenco Ambito, seleziona A livello di regione.
- (Facoltativo) Nell'elenco Regione, modifica il REGION per questo NEG.
- Nell'elenco Rete, seleziona LB_NETWORK.
- Nella casella Porta predefinita, inserisci DEFAULT_PORT_NUMBER.
- Nell'elenco Add Endpoints through (Aggiungi endpoint tramite), seleziona IP e porta.
- Seleziona Crea.
Aggiungi INTERNET_IP_PORT
endpoint al NEG
Nella console Google Cloud, vai alla pagina Gruppo di endpoint di rete.
- Fai clic su INTERNET_NEG_NAME.
- Nel campo Indirizzo IP, inserisci IP_ADDRESS_1.
(Facoltativo) Nell'elenco Tipo di porta, seleziona Personalizzata. Se il tipo di porta è
Default
, viene utilizzata la porta predefinita del NEG.- Nel campo Numero porta, inserisci PORT_NUMBER_1.
- Seleziona Crea.
gcloud
Per creare un NEG con endpoint INTERNET_FQDN_PORT
:
Crea la risorsa NEG.
gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \ --network-endpoint-type=INTERNET_FQDN_PORT \ --default-port=DEFAULT_PORT_NUMBER \ --network=LB_NETWORK \ --region=REGION
Aggiungi endpoint al NEG. Se non viene specificata una porta, viene utilizzata la porta predefinita del NEG.
gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \ --add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_1,port=PORT_NUMBER_1" \ [--add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_2,port=PORT_NUMBER_2" \] --region=REGION
Sostituisci quanto segue:
FULLY_QUALIFIED_DOMAIN_NAME
: la versione completa un nome di dominio qualificato per l'endpointPORT_NUMBER
: il numero di porta per endpoint
Puoi aggiungere fino a 256 endpoint per NEG.
Se il tuo dominio è risolvibile tramite internet, non viene scelta nessun'altra configurazione necessari per configurare il DNS. Tuttavia, se utilizzi FQDN privati, devi configurare Cloud DNS per semplificare la risoluzione DNS. Il nome deve essere ospitato su Cloud DNS o essere risolvibile tramite il reindirizzamento DNS da Cloud DNS a un DNS on-premise.
Per iniziare, crea un account Cloud DNS per ospitare i record DNS nella tua progetto. quindi aggiungi i record DNS. Consulta la documentazione di Cloud DNS documentazione per gli specifici passaggi di configurazione.
Per creare un NEG con INTERNET_IP_PORT
endpoint:
Crea la risorsa NEG.
gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \ --network-endpoint-type=INTERNET_IP_PORT \ --default-port=DEFAULT_PORT_NUMBER \ --network=LB_NETWORK \ --region=REGION
Aggiungi endpoint al NEG. Se non viene specificata una porta, viene utilizzata la porta predefinita del NEG.
gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \ --add-endpoint="ip=IP_ADDRESS_1,port=PORT_NUMBER_1" \ [--add-endpoint="ip=IP_ADDRESS_2,port=PORT_NUMBER_2" \] --region=REGION
Sostituisci quanto segue:
IP_ADDRESS
: l'indirizzo IP dell'endpointPORT_NUMBER
: il numero di porta per endpoint
Puoi ripetere questo passaggio per aggiungere fino a 256 endpoint per NEG.
Crea il bilanciatore del carico
Console
Avvia la configurazione
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
- Fai clic su Crea bilanciatore del carico.
- Per Tipo di bilanciatore del carico, seleziona Bilanciatore del carico di rete (TCP/UDP/SSL) e fai clic su Avanti.
- Per Proxy o passthrough, seleziona Bilanciatore del carico proxy e fai clic su Avanti.
- Per Pubblico o interno, seleziona Interno e fai clic Avanti.
- In Deployment tra regioni o in una regione singola, seleziona Ideale per carichi di lavoro regionali e fai clic su Avanti.
- Fai clic su Configura.
Configurazione di base
- Inserisci un nome del bilanciatore del carico.
- In Regione, seleziona REGION.
- In Rete, seleziona LB_NETWORK.
Riserva una subnet solo proxy
Per prenotare una subnet solo proxy:
- Fai clic su Riserva subnet.
- In Nome, inserisci PROXY_ONLY_SUBNET_NAME.
- In Intervallo di indirizzi IP, inserisci PROXY_ONLY_SUBNET_RANGE.
- Fai clic su Aggiungi.
Configurazione frontend
- Fai clic su Configurazione frontend.
- Inserisci un Nome.
- In Subnet, seleziona LB_SUBNET_NAME.
- In Indirizzo IP, seleziona l'indirizzo IP prenotato in precedenza: LB_IP_ADDRESS.
- Per Numero di porta, specifica un singolo numero di porta compreso tra 1 e 65535 La regola di inoltro inoltra solo i pacchetti con una porta di destinazione corrispondente.
- Fai clic su Fine.
Configurazione backend
- Fai clic su Configurazione backend.
- Fai clic su Servizi e bucket di backend.
- Fai clic su Crea un servizio di backend.
- Inserisci un nome.
- In Tipo di backend, seleziona Gruppo di endpoint di rete internet.
- In Protocollo, seleziona TCP.
- Per Backend, nella finestra Nuovo backend, seleziona la casella di controllo Regionale gruppo di endpoint di rete internet creato nel passaggio precedente.
- Fai clic su Fine.
- Configura il controllo di integrità:
- In Controllo di integrità, seleziona Crea un controllo di integrità.
- Imposta il nome del controllo di integrità su TCP_HEALTH_CHECK_NAME.
- In Protocollo, seleziona TCP.
- Imposta Porta su
80
. - Mantieni i valori predefiniti rimanenti e fai clic su Salva.
- Fai clic su Crea.
Esamina e finalizza
- Fai clic su Esamina e finalizza.
- Se è tutto corretto, fai clic su Crea.
gcloud
- (Facoltativo) Crea un controllo di integrità. Probe di controllo di integrità per dispositivi esterni
i backend utilizzano lo strumento distribuito
Controlli di integrità di Envoy e poi tradotti da NAT.
gcloud compute health-checks create tcp TCP_HEALTH_CHECK_NAME \ --region=REGION \ --use-serving-port
- Crea un servizio di backend:
gcloud compute backend-services create BACKEND_SERVICE \ --load-balancing-scheme=INTERNAL_MANAGED \ --health-checks=TCP_HEALTH_CHECK_NAME \ --health-checks-region=REGION \ --region=REGION
- Aggiungi il NEG internet al servizio di backend:
gcloud compute backend-services add-backend BACKEND_SERVICE \ --network-endpoint-group=INTERNET_NEG_NAME \ --network-endpoint-group-region=REGION \ --region=REGION
gcloud compute backend-services add-backend BACKEND_SERVICE \ --network-endpoint-group=INTERNET_NEG_NAME \ --network-endpoint-group-region=REGION \ --region=REGION
Creare un proxy TCP di destinazione per instradare le richieste al servizio di backend.
gcloud compute target-tcp-proxies create TARGET_TCP_PROXY_NAME \ --backend-service=BACKEND_SERVICE \ --region=REGION
Creare una regola di forwarding per instradare le richieste in entrata al proxy. Per '--ports', specifica un singolo numero di porta tra 1 e 65535. Solo la regola di forwarding inoltra i pacchetti con una porta di destinazione corrispondente.
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --network-tier=PREMIUM \ --network=LB_NETWORK \ --subnet=LB_SUBNET_NAME \ --address=LB_IP_ADDRESS \ --target-tcp-proxy=TARGET_TCP_PROXY_NAME \ --target-tcp-proxy-region=REGION \ --region=REGION \ --ports=PORT_NUMBER
Testa il bilanciatore del carico
Ora che hai configurato il bilanciatore del carico, puoi iniziare a inviare all'indirizzo IP del bilanciatore del carico.
Crea una VM client
Questo esempio crea una VM client (vm-client
) nella stessa regione del bilanciatore del carico. Il client viene utilizzato per convalidare la configurazione del bilanciatore del carico e dimostrare il comportamento previsto.
gcloud
La VM client può trovarsi in qualsiasi zona della stessa REGION del bilanciatore del carico e può utilizzare qualsiasi sottorete della stessa rete VPC.
gcloud compute instances create vm-client \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=allow-ssh \ --network=LB_NETWORK \ --subnet=LB_SUBNET_NAME \ --zone=ZONE
Invia traffico al bilanciatore del carico
Potrebbero essere necessari alcuni minuti prima che la configurazione del bilanciatore del carico venga propagata dopo il primo deployment.
Connettiti all'istanza client tramite SSH.
gcloud compute ssh vm-client \ --zone=ZONE
Verifica che il bilanciatore del carico fornisca i nomi host di backend come previsto.
Utilizza il comando
compute addresses describe
per visualizzare l'indirizzo IP del bilanciatore del carico:gcloud compute addresses describe LB_IP_ADDRESS \ --region=REGION
Prendi nota dell'indirizzo IP.
Puoi utilizzare
curl
per inviare traffico al bilanciatore del carico sull'indirizzo IP e la porta specificata durante la creazione della regola di forwarding del bilanciatore del carico. Il test per verificare se i backend NEG internet rispondono alle richieste dipende dal servizio in esecuzione sugli endpoint esterni.
Opzioni di configurazione aggiuntive
Per attivare ancora più funzionalità per il bilanciatore del carico di rete proxy interno regionale, ad esempio l'accesso globale (se i client si trovano in una regione diversa), consulta Configurare un bilanciatore del carico delle applicazioni interno con backend di gruppi di istanze VM: configurazione aggiuntiva.
Passaggi successivi
- Per configurare il monitoraggio per il bilanciatore del carico di rete proxy interno regionale, consulta Utilizzo e il monitoraggio.
- Esegui la pulizia della configurazione del bilanciatore del carico.