Configurare un bilanciatore del carico di rete proxy interno regionale con connettività ibrida

Il bilanciatore del carico di rete proxy interno regionale è un bilanciatore del carico di livello 4 regionale basato su proxy che consente di eseguire e scalare il traffico dei servizi TCP dietro un indirizzo IP interno accessibile solo ai client della stessa rete Virtual Private Cloud (VPC) o ai client connessi alla rete VPC. Se vuoi rendere il servizio disponibile ai client in altre reti VPC, puoi utilizzare Private Service Connect per pubblicarlo.

Questa pagina descrive come configurare un bilanciatore del carico di rete proxy interno regionale per bilanciare il carico del traffico verso i backend on-premise o in altri ambienti cloud collegati utilizzando la connettività ibrida. La configurazione della connettività ibrida per collegare le tue reti a Google Cloud non rientra nell'ambito di questa pagina.

Panoramica

In questo esempio, utilizzeremo il bilanciatore del carico per distribuire il traffico TCP tra le VM di backend situate on-premise o in altri ambienti cloud.

In questo esempio, viene configurato il seguente deployment:

Configurazione di esempio di bilanciatore del carico di rete proxy interno regionale con backend NEG ibridi.
Configurazione di esempio di bilanciatore del carico di rete proxy interno regionale con backend NEG ibridi (fai clic per ingrandire).

Il bilanciatore del carico di rete proxy interno regionale è un bilanciatore del carico regionale. Tutti i componenti del bilanciatore del carico (gruppi di istanza di backend, servizio di backend, proxy di destinazione e regola di forwarding) devono trovarsi nella stessa regione.

Autorizzazioni

Per configurare il bilanciamento del carico ibrido, devi disporre delle seguenti autorizzazioni:

  • Su Google Cloud

    • Autorizzazioni per stabilire una connettività ibrida tra Google Cloud e il tuo ambiente on-premise o altri ambienti cloud. Per l'elenco delle autorizzazioni necessarie, consulta la documentazione del prodotto Network Connectivity pertinente.
    • Autorizzazioni per creare un NEG di connettività ibrida e il bilanciatore del carico. Il ruolo Amministratore bilanciatore del carico Compute (roles/compute.loadBalancerAdmin) contiene le autorizzazioni necessarie per eseguire le attività descritte in questa guida.
  • Nell'ambiente on-premise o in un altro ambiente cloud non Google Cloud

    • Autorizzazioni per configurare endpoint di rete che consentono di raggiungere i servizi nel tuo ambiente on-premise o in altri ambienti cloud da Google Cloud utilizzando una combinazione IP:Port. Per ulteriori informazioni, contatta l'amministratore di rete del tuo ambiente.
    • Autorizzazioni per creare regole firewall nel tuo ambiente on-premise o in altri ambienti cloud per consentire ai probe del controllo di integrità di Google di raggiungere gli endpoint.

Inoltre, per completare le istruzioni riportate in questa pagina, devi creare un NEG di connettività ibrida, un bilanciatore del carico e NEG zonali (e i relativi endpoint) da utilizzare come backend basati su Google Cloud per il bilanciatore del carico.

Devi essere un proprietario o un editor del progetto oppure disporre dei seguenti ruoli IAM di Compute Engine.

Attività Ruolo richiesto
Crea reti, subnet e componenti del bilanciatore del carico Amministratore rete Compute (roles/compute.networkAdmin)
Aggiungere e rimuovere regole firewall Amministratore della sicurezza di Compute (roles/compute.securityAdmin)
Creazione delle istanze Amministratore di istanze Compute (roles/compute.instanceAdmin)

Stabilire la connettività ibrida

L'ambiente Google Cloud e l'ambiente on-premise o altri ambienti cloud devono essere collegati tramite connettività ibrida utilizzando i collegamenti VLAN di Cloud Interconnect o i tunnel Cloud VPN con router Cloud. Ti consigliamo di utilizzare una connessione ad alta disponibilità.

Un router Cloud abilitato al routing dinamico globale viene a conoscenza dell'endpoint specifico tramite il protocollo BGP (Border Gateway Protocol) e lo programma nella rete VPC di Google Cloud. Il routing dinamico regionale non è supportato. Inoltre, le route statiche non sono supportate.

La rete VPC utilizzata per configurare Cloud Interconnect o Cloud VPN è la stessa utilizzata per configurare il deployment del bilanciamento del carico ibrido. Assicurati che gli intervalli CIDR delle subnet della rete VPC non siano in conflitto con gli intervalli CIDR remoti. Quando gli indirizzi IP si sovrappongono, le route di subnet hanno la priorità sulla connettività remota.

Per istruzioni, consulta la seguente documentazione:

Configurare l'ambiente esterno a Google Cloud

Per configurare l'ambiente on-premise o un altro ambiente cloud per il bilanciamento del carico ibrido, svolgi i seguenti passaggi:

  • Configura gli endpoint di rete per esporre i servizi on-premise a Google Cloud (IP:Port).
  • Configura le regole del firewall nel tuo ambiente on-premise o in un altro ambiente cloud.
  • Configura il router Cloud in modo che annunci determinate route richieste al tuo ambiente privato.

Configura gli endpoint di rete

Dopo aver configurato la connettività ibrida, configura uno o più endpoint di rete all'interno del tuo ambiente on-premise o di altri ambienti cloud che sono raggiungibili tramite Cloud Interconnect o Cloud VPN utilizzando una combinazioneIP:port. Questa combinazione IP:port viene configurata come uno o più endpoint per il NEG di connettività ibrida creato in Google Cloud in un secondo momento durante questa procedura.

Se esistono più percorsi per l'endpoint IP, il routing segue il comportamento descritto nella panoramica del router Cloud.

Configura le regole firewall

Le seguenti regole firewall devono essere create nel tuo ambiente on-premise o in un altro ambiente cloud:

  • Crea una regola firewall di autorizzazione in entrata in ambienti on-premise o cloud diversi per consentire al traffico proveniente dalla subnet solo proxy della regione di raggiungere gli endpoint.
  • L'inserimento nella lista consentita degli intervalli di probe di controllo di integrità di Google non è necessario per i NEG ibridi. Tuttavia, se utilizzi una combinazione di NEG ibridi e zonali in un singolo servizio di backend, devi inserire nella lista consentita gli intervalli di sonde di controllo di integrità di Google per i NEG zonali.

Configura Cloud Router in modo da annunciare le seguenti gamme di IP personalizzate al tuo ambiente on-premise o a un altro ambiente cloud:

  • L'intervallo della subnet solo proxy della regione.

Configurare l'ambiente Google Cloud

Per i passaggi che seguono, assicurati di utilizzare la stessa rete VPC (chiamata NETWORK in questa procedura) utilizzata per configurare la connettività ibrida tra gli ambienti. Puoi selezionare qualsiasi sottorete di questa rete per prenotare l'indirizzo IP del bilanciatore del carico e creare il bilanciatore del carico. In questa procedura, questa sottorete è indicata come LB_SUBNET.

Inoltre, assicurati che la regione utilizzata (chiamata REGION in questa procedura) sia la stessa utilizzata per creare il tunnel Cloud VPN o il collegamento VLAN Cloud Interconnect.

Configura la subnet solo proxy

Una subnet solo proxy fornisce un insieme di indirizzi IP che Google utilizza per eseguire proxy Envoy per tuo conto. I proxy terminano le connessioni dal client e creano nuove connessioni ai backend.

La subnet solo proxy viene utilizzata da tutti i bilanciatori del carico regionali basati su Envoy nella regione REGION della rete VPC NETWORK.

Può essere presente una sola subnet solo proxy attiva per regione e per rete VPC. Puoi saltare questo passaggio se in questa regione è già presente una subnet solo proxy.

Console

Se utilizzi la console Google Cloud, puoi attendere e creare la sottorete solo proxy in un secondo momento nella pagina Equilibrazione del carico.

Se vuoi creare subito la subnet solo proxy:

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Vai alla rete utilizzata per configurare la connettività ibrida tra gli ambienti.

  3. Fai clic su Aggiungi subnet.

  4. Inserisci un Nome: PROXY_ONLY_SUBNET_NAME.

  5. Seleziona una Regione: REGION.

  6. Imposta Finalità su Proxy gestito a livello di regione.

  7. Inserisci un intervallo di indirizzi IP: PROXY_ONLY_SUBNET_RANGE.

  8. Fai clic su Aggiungi.

gcloud

Crea la subnet solo proxy con il comando gcloud compute networks subnets create.

gcloud compute networks subnets create PROXY_ONLY_SUBNET_NAME \
    --purpose=REGIONAL_MANAGED_PROXY \
    --role=ACTIVE \
    --region=REGION \
    --network=NETWORK \
    --range=PROXY_ONLY_SUBNET_RANGE

Prenota l'indirizzo IP del bilanciatore del carico

Per impostazione predefinita, viene utilizzato un indirizzo IP per ogni regola di forwarding. Puoi prenotare un indirizzo IPv4 condiviso, che ti consente di utilizzare lo stesso indirizzo IPv4 con più regole di inoltro. Tuttavia, se vuoi utilizzare Private Service Connect per pubblicare il bilanciatore del carico, non utilizzare un indirizzo IPv4 condiviso per la regola di forwarding.

Per prenotare un indirizzo IPv4 interno statico per il bilanciatore del carico, consulta Prenotare un nuovo indirizzo IPv4 o IPv6 interno statico.

Configura il NEG di connettività ibrida

Quando crei il NEG, utilizza un ZONE che minimizza la distanza geografica tra Google Cloud e il tuo ambiente on-premise o un altro ambiente cloud. Ad esempio, se ospiti un servizio in un ambiente on-premise a Francoforte, in Germania, puoi specificare la europe-west3-a zona Google Cloud quando crei il NEG.

Inoltre, il ZONE utilizzato per creare il NEG deve trovarsi nella stessa regione in cui sono stati configurati il tunnel Cloud VPN o il collegamento VLAN Cloud Interconnect per la connettività ibrida.

Per le regioni e le zone disponibili, consulta la documentazione di Compute Engine: Regioni e zone disponibili.

Console

Per creare un NEG di connettività ibrida:

  1. Nella console Google Cloud, vai alla pagina Gruppi di endpoint di rete.

    Vai a Gruppi di endpoint di rete

  2. Fai clic su Crea gruppo di endpoint di rete.

  3. Inserisci un nome per il gruppo di elenchi di negazioni ibrido. Denominato HYBRID_NEG_NAME in questa procedura.

  4. Seleziona il tipo di gruppo di endpoint di rete: Gruppo di endpoint di rete con connettività ibrida (a livello di zona).

  5. Seleziona la Rete: NETWORK

  6. Seleziona la subnet: LB_SUBNET

  7. Seleziona la Zona: HYBRID_NEG_ZONE

  8. Inserisci la Porta predefinita.

  9. Fai clic su Crea

Aggiungi endpoint al NEG di connettività ibrida:

  1. Nella console Google Cloud, vai alla pagina Gruppi di endpoint di rete.

    Vai a Gruppi di endpoint di rete

  2. Fai clic sul nome del gruppo di endpoint di rete creato nel passaggio precedente (HYBRID_NEG_NAME). Viene visualizzata la pagina Dettagli gruppo di endpoint di rete.

  3. Nella sezione Endpoint di rete in questo gruppo, fai clic su Aggiungi endpoint di rete. Viene visualizzata la pagina Aggiungi endpoint di rete.

  4. Inserisci l'indirizzo IP del nuovo endpoint di rete.

  5. Seleziona il Tipo di porta.

    1. Se selezioni Predefinito, l'endpoint utilizza la porta predefinita per tutti gli endpoint nel gruppo di endpoint di rete.
    2. Se selezioni Personalizzata, puoi inserire un Numero di porta diverso per l'endpoint da utilizzare.
  6. Per aggiungere altri endpoint, fai clic su Aggiungi endpoint di rete e ripeti i passaggi precedenti.

  7. Dopo aver aggiunto tutti gli endpoint non Google Cloud, fai clic su Crea.

gcloud

  1. Crea un NEG di connettività ibrida utilizzando il comando gcloud compute network-endpoint-groups create.

    gcloud compute network-endpoint-groups create HYBRID_NEG_NAME \
       --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
       --zone=HYBRID_NEG_ZONE \
       --network=NETWORK
    
  2. Aggiungi l'endpoint IP:Port on-premise al NEG ibrido:

    gcloud compute network-endpoint-groups update HYBRID_NEG_NAME \
        --zone=HYBRID_NEG_ZONE \
        --add-endpoint="ip=ENDPOINT_IP_ADDRESS,port=ENDPOINT_PORT"
    

Puoi utilizzare questo comando per aggiungere gli endpoint di rete configurati in precedenza on-premise o nel tuo ambiente cloud. Ripeti --add-endpoint tutte le volte necessarie.

Se necessario, puoi ripetere questi passaggi per creare più NEG ibride.

Configura il bilanciatore del carico

Console

Avvia la configurazione

  1. Nella console Google Cloud, vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico

  2. Fai clic su Crea bilanciatore del carico.
  3. In Tipo di bilanciatore del carico, seleziona Bilanciatore del carico di rete (TCP/UDP/SSL) e fai clic su Avanti.
  4. Per Proxy o passthrough, seleziona Bilanciatore del carico proxy e fai clic su Avanti.
  5. In Pubblico o interno, seleziona Interno e fai clic su Avanti.
  6. In Deployment tra regioni o in una regione singola, seleziona Ideale per workload regionali e fai clic su Avanti.
  7. Fai clic su Configura.

Configurazione di base

  1. Inserisci un nome per il bilanciatore del carico.
  2. Seleziona la Regione: REGION.
  3. Seleziona la Rete: NETWORK.

Riserva una subnet solo proxy

Per prenotare una subnet solo proxy:

  1. Fai clic su Riserva subnet.
  2. Inserisci il nome: PROXY_ONLY_SUBNET_NAME.
  3. Inserisci un intervallo di indirizzi IP: PROXY_ONLY_SUBNET_RANGE.
  4. Fai clic su Aggiungi.

Configurazione backend

  1. Fai clic su Configurazione backend.
  2. In Tipo di backend, seleziona Gruppo di endpoint di rete con connettività ibrida (a livello di zona).
  3. In Protocollo, seleziona TCP.
  4. In Nuovo backend, seleziona il NEG ibrido creato in precedenza: HYBRID_NEG_NAME. In alternativa, puoi fare clic su Crea un gruppo di endpoint di rete per creare subito il NEG ibrido. Per indicazioni sulla configurazione del gruppo di esclusioni geografiche, consulta Configurare il gruppo di esclusioni geografiche ibrido.
  5. Mantieni i valori predefiniti rimanenti e fai clic su Fine.
  6. Configura il controllo di integrità:
    1. In Controllo di integrità, seleziona Crea un controllo di integrità.
    2. Inserisci un nome per il controllo di integrità.
    3. In Protocollo, seleziona TCP.
    4. In Porta, inserisci 80.
  7. Mantieni i valori predefiniti rimanenti e fai clic su Salva.
  8. Nella console Google Cloud, verifica che sia presente un segno di spunta accanto a Configurazione backend. In caso contrario, assicurati di aver completato tutti i passaggi.

Configurazione frontend

  1. Fai clic su Configurazione frontend.
  2. Inserisci un nome per la regola di forwarding.
  3. In Subnet, seleziona LB_SUBNET.
  4. In Indirizzo IP, seleziona LB_IP_ADDRESS.
  5. In Numero porta, inserisci un numero di porta compreso tra 1 e 65535. La regola di inoltro inoltra solo i pacchetti con una porta di destinazione corrispondente.
  6. Attiva Proxy Protocol solo se funziona con il servizio in esecuzione sui tuoi endpoint on-premise o su altri endpoint cloud. Ad esempio, il protocollo PROXY non funziona con il software Apache HTTP Server. Per ulteriori informazioni, consulta Protocollo proxy.
  7. Fai clic su Fine.
  8. Nella console Google Cloud, verifica che sia presente un segno di spunta accanto a Configurazione frontend. In caso contrario, assicurati di aver completato tutti i passaggi precedenti.

Esamina e finalizza

  1. Fai clic su Esamina e finalizza.
  2. Controlla le impostazioni.
  3. Fai clic su Crea.

gcloud

  1. Crea un controllo di integrità a livello di regione per i backend.

    gcloud compute health-checks create tcp TCP_HEALTH_CHECK_NAME \
        --region=REGION \
        --use-serving-port
    

    I probe del controllo di integrità per i backend NEG ibridi provengono dai proxy Envoy nella subnet solo proxy.

  2. Crea un servizio di backend.

    gcloud compute backend-services create BACKEND_SERVICE_NAME \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --protocol=TCP \
       --region=REGION \
       --health-checks=TCP_HEALTH_CHECK_NAME \
       --health-checks-region=REGION
    
  3. Aggiungi il backend NEG ibrida al servizio di backend.

    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
       --network-endpoint-group=HYBRID_NEG_NAME \
       --network-endpoint-group-zone=HYBRID_NEG_ZONE \
       --region=REGION \
       --balancing-mode=CONNECTION \
       --max-connections=MAX_CONNECTIONS
    

    Per MAX_CONNECTIONS, inserisci il numero massimo di connessioni simultanee che il backend deve gestire.

  4. Crea il proxy TCP di destinazione.

    gcloud compute target-tcp-proxies create TARGET_TCP_PROXY_NAME \
       --backend-service=BACKEND_SERVICE_NAME \
       --region=REGION
    
  5. Crea la regola di forwarding.

    Crea la regola di forwarding utilizzando il comando gcloud compute forwarding-rules create.

    Sostituisci FWD_RULE_PORT con un singolo numero di porta compreso 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 \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --network=NETWORK \
       --subnet=LB_SUBNET \
       --address=LB_IP_ADDRESS \
       --ports=FWD_RULE_PORT \
       --region=REGION \
       --target-tcp-proxy=TARGET_TCP_PROXY_NAME \
       --target-tcp-proxy-region=REGION
    

Testa il bilanciatore del carico

Per testare il bilanciatore del carico, crea una VM client nella stessa regione del bilanciatore del carico. Quindi invia il traffico dal client al bilanciatore del carico.

Crea una VM client

Crea una VM client (client-vm) nella stessa regione del bilanciatore del carico.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic su Crea istanza.

  3. Imposta Nome su client-vm.

  4. Imposta Zona su CLIENT_VM_ZONE.

  5. Fai clic su Opzioni avanzate.

  6. Fai clic su Networking e configura i seguenti campi:

    1. In Tag di rete, inserisci allow-ssh.
    2. In Interfacce di rete, seleziona quanto segue:
      • Rete: NETWORK
      • Subnet: LB_SUBNET
  7. Fai clic su Crea.

gcloud

La VM client deve trovarsi nella stessa rete VPC e nella stessa regione del bilanciatore del carico. Non è necessario che si trovi nella stessa subnet o nella stessa zona. Il client utilizza la stessa sottorete delle VM di backend.

gcloud compute instances create client-vm \
    --zone=CLIENT_VM_ZONE \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --subnet=LB_SUBNET

Consenti il traffico SSH alla VM di test

In questo esempio, crei la seguente regola firewall:

  • fw-allow-ssh: una regola in entrata che consente la connettività SSH in entrata sulla porta TCP 22 da qualsiasi indirizzo. Puoi scegliere un intervallo IP di origine più restrittivo per questa regola. Ad esempio, puoi specificare solo gli intervalli IP dei sistemi da cui avvierai le sessioni SSH. Questo esempio utilizza il tag di destinazioneallow-ssh per identificare la VM client di test a cui deve essere applicato.

Console

  1. Nella console Google Cloud, vai alla pagina Criteri firewall. Vai a Criteri firewall
  2. Fai clic su Crea regola firewall per creare la regola che consente le connessioni SSH in entrata:
    1. Nome: fw-allow-ssh
    2. Rete: NETWORK
    3. Priorità: 1000
    4. Direzione del traffico: in entrata
    5. Azione in caso di corrispondenza: consenti
    6. Target: Tag di destinazione specificati
    7. Tag di destinazione: allow-ssh
    8. Filtro di origine: intervalli IPv4
    9. Intervalli IPv4 di origine: 0.0.0.0/0
    10. Protocolli e porte: scegli Protocolli e porte specificati e inserisci tcp:22.
    11. Fai clic su Crea.

gcloud

  1. Crea la regola firewall fw-allow-ssh per consentire la connettività SSH alle VM con il tag di rete allow-ssh.

    gcloud compute firewall-rules create fw-allow-ssh \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-ssh \
        --rules=tcp:22
    

Invia traffico al bilanciatore del carico

Ora che hai configurato il bilanciatore del carico, puoi testare l'invio di traffico all'indirizzo IP del bilanciatore del carico.

  1. Connettiti tramite SSH all'istanza client.

    gcloud compute ssh client-vm \
      --zone=CLIENT_VM_ZONE
    
  2. Verifica che il bilanciatore del carico gestisca i nomi host di backend come previsto.

    1. 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.

    2. Invia traffico al bilanciatore del carico sull'indirizzo IP e sulla porta specificati quando crei la regola di forwarding del bilanciatore del carico. Il test per verificare se i backend NEG ibridi rispondono alle richieste dipende dal servizio in esecuzione sugli endpoint non Google Cloud.

(Facoltativo) Pubblica il servizio utilizzando Private Service Connect

Un bilanciatore del carico di rete proxy interno regionale con connettività ibrida ti consente di rendere disponibile un servizio ospitato in ambienti on-premise o di altro cloud per i client della tua rete VPC.

Se vuoi rendere disponibile il servizio ibrido in altre reti VPC, puoi utilizzare Private Service Connect per pubblicarlo. Posizionando un collegamento di servizio davanti al bilanciatore del carico di rete proxy interno regionale, puoi consentire ai clienti di altre reti VPC di raggiungere i servizi ibridi in esecuzione in ambienti on-premise o in altri ambienti cloud.

Utilizzo di Private Service Connect per pubblicare un servizio ibrido.
Utilizzo di Private Service Connect per pubblicare un servizio ibrido (fai clic per ingrandire).

Passaggi successivi