Prima di seguire questa guida, familiarizza con la documentazione relativa alla panoramica del NEG su internet, incluse le limitazioni.
Il seguente diagramma di architettura mostra un frontend del bilanciatore del carico di rete proxy esterno regionale con un backend esterno.
Autorizzazioni
Per seguire questa guida, devi creare un NEG internet e creare o modificare un bilanciatore del carico di rete proxy in un progetto. Devi essere un proprietario o editor del progetto (roles/owner
o roles/editor
) oppure devi disporre di entrambi i seguenti ruoli IAM di Compute Engine.
Attività | Ruolo richiesto |
---|---|
Creare e modificare i componenti del bilanciatore del carico | Amministratore rete Compute ( roles/compute.networkAdmin )
|
Creare e modificare i NEG | Amministratore di 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 degli endpoint NEG internet, consulta la panoramica dei NEG internet.
Consenti al backend esterno di ricevere traffico da Google Cloud
Questo passaggio può essere completato dopo aver creato la sottorete solo proxy e aver configurato il gateway Cloud NAT.
Per consentire alle richieste da Google Cloud di raggiungere il tuo backend esterno, devi eseguire i seguenti passaggi:
- Configura un gateway Cloud NAT con gli indirizzi IP utilizzati per il traffico in uscita da Google Cloud. Il gateway mappa l'intervallo della sottorete solo proxy agli indirizzi IP esterni. Per la procedura, consulta Configurare un gateway Cloud NAT.
- Assicurati che l'ambiente di backend esterno sia configurato per consentire al traffico da Google Cloud di raggiungere il backend esterno. Ad esempio, se hai utilizzato indirizzi IP prenotati in precedenza per il gateway NAT, inserirai questi indirizzi IP nella lista consentita nel 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 e la subnet VPC
Questa sottorete viene utilizzata per creare i componenti del bilanciatore del carico.
console Cloud
- Nella console Google Cloud, vai alla pagina Reti VPC.
Vai a 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 nella rete LB_NETWORK.
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. Il gateway Cloud NAT può essere configurato per utilizzare indirizzi IP esterni NAT automatici, in cui l'allocazione si basa sulla domanda, o per utilizzare un insieme di indirizzi IP esterni prenotati 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 l'allocazione automatica degli indirizzi IP NAT, puoi specificare i livelli di servizio di rete (livello Premium o livello 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.
In 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
: il nome della sottorete solo del proxy.
Configurare gli indirizzi IP assegnati manualmente
Utilizza gli indirizzi IP allocati manualmente solo se il tuo ambiente backend esterno richiede l'utilizzo di una lista consentita per indirizzi IP Google Cloud specifici. Se l'ambiente di backend esterno non ha bisogno di una lista consentita, utilizza l'allocazione dinamica come mostrato in precedenza.
Quando crei un gateway Cloud NAT, puoi scegliere di assegnare manualmente gli indirizzi IP NAT del livello Premium o del livello Standard o di entrambi, rispettando 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.
In 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 Manuale.
Per Livello di servizio di rete, scegli Premium o Standard.
Seleziona o crea un indirizzo IP esterno statico riservato da utilizzare per il NAT.
Se vuoi specificare altri indirizzi IP, fai clic su Aggiungi indirizzo IP, quindi seleziona o crea un altro indirizzo IP esterno statico 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, potrebbe esserti chiesto di selezionare una regione (solo modalità interattiva).
Per ulteriori informazioni, consulta Specificare intervalli di sottoreti per NAT nella documentazione di Cloud NAT.
Assicurati di utilizzare una lista consentita per gli intervalli di indirizzi IP NAT nel tuo ambiente backend esterno, in modo che il backend esterno possa ricevere traffico da Google Cloud.
Prenota l'indirizzo IP del bilanciatore del carico
Prenota un indirizzo IP statico per il bilanciatore del carico.
Console
Nella console Google Cloud, vai alla pagina Prenotare un indirizzo statico.
Scegli un nome per il nuovo indirizzo.
In Network Service Tier (Livello di servizio di rete), seleziona Standard.
Per Versione IP, seleziona IPv4. Gli indirizzi IPv6 possono essere solo globali e possono essere utilizzati solo con bilanciatori del carico globali.
In Tipo, seleziona Regionale.
Seleziona una Regione.
Lascia l'opzione Associato a impostata su Nessuna. Dopo aver creato il bilanciatore del carico, questo indirizzo IP verrà collegato alla regola di forwarding del bilanciatore del carico.
Fai clic su Prenota per prenotare l'indirizzo IP.
gcloud
Per prenotare un indirizzo IP esterno statico utilizzando
gcloud compute
, utilizza il comandocompute addresses create
.gcloud compute addresses create LB_IP_ADDRESS \ --region=REGION \ --network-tier=STANDARD
Sostituisci quanto segue:
LB_IP_ADDRESS
: il nome che vuoi assegnare a questo indirizzo.REGION
: la regione in cui vuoi prenotare questo indirizzo. Deve essere la stessa regione del bilanciatore del carico. Tutti gli indirizzi IP regionali sonoIPv4
.
Utilizza il comando
compute addresses describe
per visualizzare il risultato:gcloud compute addresses describe LB_IP_ADDRESS
Configura il NEG internet
Puoi creare un NEG internet utilizzando endpoint INTERNET_FQDN_PORT
o
INTERNET_IP_PORT
.
Console
Creare un gruppo di istanze elastiche con endpoint INTERNET_FQDN_PORT
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, consulta la convenzione di denominazione delle risorse.
Nell'elenco Tipo di gruppo di endpoint di rete, seleziona Gruppo di endpoint di rete (internet) e poi procedi nel seguente modo:
- Nell'elenco Ambito, seleziona Regionale.
- (Facoltativo) Nell'elenco Regione, modifica il valore 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 endpoint INTERNET_FQDN_PORT
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 FQDN standard.(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 NEG di 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) e poi procedi nel seguente modo:
- Nell'elenco Ambito, seleziona Regionale.
- (Facoltativo) Nell'elenco Regione, modifica il valore REGION per questo NEG.
- Nell'elenco Rete, seleziona LB_NETWORK.
- Nella casella Porta predefinita, inserisci DEFAULT_PORT_NUMBER.
- Nell'elenco Aggiungi endpoint tramite, seleziona IP e porta.
- Seleziona Crea.
Aggiungi endpoint INTERNET_IP_PORT
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 gruppo di endpoint di rete. 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
: il nome di dominio completamente qualificato per l'endpointPORT_NUMBER
: il numero di porta per l'endpoint
Puoi aggiungere fino a 256 endpoint per NEG.
Se il tuo dominio è risolvibile su internet, non è necessaria alcuna altra configurazione per impostare il DNS. Tuttavia, se utilizzi FQDN privati, dovrai 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 una zona Cloud DNS per ospitare i record DNS nel tuo progetto. Poi aggiungi i record DNS. Per i passaggi di configurazione specifici, consulta la documentazione di Cloud DNS.
Per creare un NEG con endpoint INTERNET_IP_PORT
:
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 gruppo di endpoint di rete. 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 l'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.
- In Tipo di bilanciatore del carico, seleziona Bilanciatore del carico di rete (TCP/UDP/SSL) e fai clic su Avanti.
- Per Proxy o passthrough, seleziona Bilanciatore del carico proxy e fai clic su Avanti.
- In Pubblico o interno, seleziona Pubblico (esterno) e fai clic su Avanti.
- In Deployment globale 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 Network Service Tier (Livello di servizio di rete), seleziona Standard.
- In Indirizzo IP, seleziona l'indirizzo IP prenotato in precedenza: LB_IP_ADDRESS.
- In Numero porta, specifica un singolo numero di porta compreso tra 1 e 65535. La regola di forwarding 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.
- In Backend, nella finestra Nuovo backend, seleziona il Gruppo di endpoint di rete internet regionale 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 a posto, fai clic su Crea.
gcloud
- (Facoltativo) Crea un controllo di integrità. I probe del controllo di integrità per i backend esterni utilizzano i controlli di integrità di Envoy distribuiti e vengono successivamente tradotti tramite 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=EXTERNAL_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
Crea 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
Crea una regola di forwarding per instradare le richieste in entrata al proxy. Per '--ports', specifica un singolo numero di porta tra 1 e 65535. La regola di forwarding inoltra solo i pacchetti con una porta di destinazione corrispondente.
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=STANDARD \ --network=LB_NETWORK \ --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 testare l'invio di traffico all'indirizzo IP del bilanciatore del carico.
Ottieni l'indirizzo IP del bilanciatore del carico.
Per ottenere l'indirizzo IPv4, esegui il seguente comando:
gcloud compute addresses describe LB_IP_ADDRESS
Invia traffico al bilanciatore del carico sull'indirizzo IP e sulla porta specificati 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.
Passaggi successivi
- Per configurare il logging e il monitoraggio del bilanciatore del carico, consulta Logging e monitoraggio del bilanciatore del carico di rete proxy.
- Per eliminare le risorse che hai creato in modo che non ti vengano addebitate in futuro, consulta Eseguire la pulizia della configurazione del bilanciatore del carico.