Configura un bilanciatore del carico di rete proxy esterno regionale con connettività ibrida

Un bilanciatore del carico di rete proxy esterno regionale è un bilanciatore del carico di livello 4 regionale basato su proxy che consente di eseguire e scalare il traffico di servizio TCP in una singola regione dietro un indirizzo IP a livello di regione esterno. Questi bilanciatori del carico distribuiscono il traffico TCP esterno da internet ai backend nella stessa regione.

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

Prima di iniziare, leggi la panoramica del bilanciatore del carico di rete proxy esterno.

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, configurerai il deployment mostrato nel diagramma seguente.

Configurazione di esempio del bilanciatore del carico di rete proxy esterno con backend NEG ibridi.
Configurazione di esempio del bilanciatore del carico di rete proxy esterno con backend NEG ibridi

Questo è un bilanciatore del carico a livello di regione. Tutti i componenti del bilanciatore del carico (gruppo 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

  • Nel tuo 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 sul 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 in questa pagina, devi creare un NEG di connettività ibrida, un bilanciatore del carico e NEG di zona (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 devi disporre dei seguenti ruoli IAM di Compute Engine.

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)
Creare istanze Amministratore istanze Compute (roles/compute.instanceAdmin)

Stabilisci la connettività ibrida

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

Un router Cloud abilitato con il routing dinamico globale apprende l'endpoint specifico tramite il protocollo BGP (Border Gateway Protocol) e lo programma nella rete VPC di Google Cloud. Il routing dinamico a livello di regione non è supportato. Anche le route statiche non sono supportate.

La rete VPC che utilizzi per configurare Cloud Interconnect o Cloud VPN è la stessa che utilizzi 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 delle subnet hanno la priorità sulla connettività remota.

Per istruzioni, consulta la seguente documentazione:

Configura l'ambiente esterno a Google Cloud

Per configurare il tuo ambiente on-premise o un altro ambiente cloud per il bilanciamento del carico ibrido, segui questi passaggi:

  • Configura gli endpoint di rete per esporre i servizi on-premise a 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 ambiente privato.

Configura gli endpoint di rete

Dopo aver impostato la connettività ibrida, devi configurare uno o più endpoint di rete all'interno dell'ambiente on-premise o di altri ambienti cloud raggiungibili tramite Cloud Interconnect o Cloud VPN utilizzando una combinazione di IP:port. Questa combinazione IP:port è configurata come uno o più endpoint per il NEG di connettività ibrida creato in Google Cloud più avanti in questo processo.

Se sono presenti più percorsi all'endpoint IP, il routing segue il comportamento descritto nella panoramica del router Cloud.

Configura le regole firewall

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

  • Crea una regola firewall di autorizzazione in entrata in ambienti on-premise o in altri ambienti cloud per consentire al traffico proveniente dalla subnet solo proxy della regione di raggiungere gli endpoint.
  • Non è necessario aggiungere intervalli di probe per il controllo di integrità di Google a una lista consentita per i NEG ibridi. Tuttavia, se utilizzi una combinazione di NEG ibridi e a livello di zona in un singolo servizio di backend, devi aggiungere gli intervalli di probe del controllo di integrità di Google a una lista consentita per i NEG a livello di zona.

Configura il router Cloud per pubblicizzare i seguenti intervalli IP personalizzati nel tuo ambiente on-premise o in un altro ambiente cloud:

  • L'intervallo della subnet solo proxy della regione.

Configura il tuo ambiente Google Cloud

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

Inoltre, assicurati che la regione utilizzata (chiamata REGION_A in questa procedura) sia quella utilizzata per creare il tunnel Cloud VPN o il collegamento VLAN di 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.

Questa subnet solo proxy viene utilizzata da tutti i bilanciatori del carico a livello di regione basati su Envoy nell'area geografica (REGION_A) della rete VPC (NETWORK).

Può esserci una sola subnet solo proxy attiva per regione, per rete VPC. Puoi saltare questo passaggio se esiste già una subnet solo proxy in questa regione.

Console

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

Se vuoi creare ora la subnet solo proxy, segui questi passaggi:

  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. In Nome, inserisci proxy-only-subnet.

  5. In Regione, seleziona REGION_A.

  6. Imposta Purpose su Regional Managed Proxy (Proxy gestito a livello di regione).

  7. In Intervallo di indirizzi IP, inserisci 10.129.0.0/23.

  8. Fai clic su Aggiungi.

gcloud

Per creare la subnet solo proxy, utilizza il comando gcloud compute networks subnets create:

gcloud compute networks subnets create proxy-only-subnet \
    --purpose=REGIONAL_MANAGED_PROXY \
    --role=ACTIVE \
    --region=REGION_A \
    --network=NETWORK \
    --range=10.129.0.0/23

Prenota l'indirizzo IP del bilanciatore del carico

Prenota un indirizzo IP statico per il bilanciatore del carico.

Console

  1. Nella console Google Cloud, vai alla pagina Prenota un indirizzo statico.

    Vai a Prenota un indirizzo statico

  2. Scegli un nome per il nuovo indirizzo.

  3. Per Network Service Tier (Livello di servizio di rete), seleziona Standard.

  4. Per Versione IP, seleziona IPv4. Gli indirizzi IPv6 non sono supportati.

  5. In Tipo, seleziona A livello di regione.

  6. In Regione, seleziona REGION_A.

  7. Lascia l'opzione Allegato a impostata su Nessuno. Dopo aver creato il bilanciatore del carico, questo indirizzo IP viene collegato alla regola di forwarding del bilanciatore del carico.

  8. Fai clic su Prenota per prenotare l'indirizzo IP.

gcloud

  1. Per prenotare un indirizzo IP esterno statico, utilizza il comando gcloud compute addresses create:

    gcloud compute addresses create ADDRESS_NAME  \
       --region=REGION_A \
       --network-tier=STANDARD
    

    Sostituisci ADDRESS_NAME con il nome che vuoi chiamare all'indirizzo.

  2. Per visualizzare il risultato, utilizza il comando gcloud compute addresses describe:

    gcloud compute addresses describe ADDRESS_NAME
    

Configura il NEG di connettività ibrida

Quando crei il NEG, utilizza un ZONE che minimizzi 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 zona Google Cloud europe-west3-a quando crei il NEG.

Inoltre, la zona che utilizzi per creare il NEG deve trovarsi nella stessa regione in cui è stato configurato il tunnel Cloud VPN o il collegamento VLAN di Cloud Interconnect per la connettività ibrida.

Per conoscere le regioni e le zone disponibili, consulta Regioni e zone disponibili nella documentazione di Compute Engine.

Console

Crea 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. In Nome, inserisci HYBRID_NEG_NAME.

  4. In Tipo di gruppo di endpoint di rete, seleziona Gruppo di endpoint di rete con connettività ibrida (a livello di zona).

  5. In Rete, seleziona NETWORK.

  6. In corrispondenza di Subnet, seleziona LB_SUBNET.

  7. In Zona, seleziona HYBRID_NEG_ZONE.

  8. In Porta predefinita, seleziona quella predefinita.

  9. In Numero massimo di connessioni, inserisci 2.

  10. 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).

  3. Nella pagina Dettagli gruppo di endpoint di rete, nella sezione Endpoint di rete in questo gruppo, fai clic su Aggiungi endpoint di rete.

  4. Nella pagina Aggiungi endpoint di rete, inserisci l'indirizzo IP del nuovo endpoint di rete.

  5. Seleziona il Tipo di porta:

    • Se selezioni Predefinito, 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.
  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. Per creare un NEG di connettività ibrida, utilizza 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 che hai configurato 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 ibridi.

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. Per 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. Per Pubblico o interno, seleziona Pubblico (esterno) e fai clic su Avanti.
  6. Per Deployment globale o in una regione singola, seleziona Ideale per carichi di lavoro regionali e fai clic su Avanti.
  7. Fai clic su Configura.

Configurazione di base

  1. In Nome, inserisci un nome per il bilanciatore del carico.
  2. In Regione, seleziona REGION_A.
  3. In Rete, seleziona NETWORK.

Riserva una subnet solo proxy

  1. Fai clic su Prenota subnet.
  2. In Nome, inserisci proxy-only-subnet.
  3. In Intervallo di indirizzi IP, inserisci 10.129.0.0/23.
  4. Fai clic su Aggiungi.

Configura il backend

  1. Fai clic su Configurazione backend.
  2. Per Tipo di backend, seleziona Gruppo di endpoint di rete con connettività ibrida (a livello di zona).
  3. Per Protocollo, seleziona TCP.
  4. Per 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 NEG, consulta Configurare il NEG ibrido.
  5. Conserva i valori predefiniti rimanenti e fai clic su Fine.
  6. Configura il controllo di integrità:
    • In Controllo di integrità, seleziona Crea un controllo di integrità.
    • In Nome, inserisci un nome per il controllo di integrità.
    • Per Protocollo, seleziona TCP.
    • In Porta, inserisci 80.
  7. Conserva 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.

Configura il frontend

  1. Fai clic su Configurazione frontend.
  2. In Nome, inserisci un nome per la regola di forwarding.
  3. In Indirizzo IP, seleziona LB_IP_ADDRESS.
  4. Per Numero di porta, inserisci un numero di porta compreso tra 1 e 65535. La regola di forwarding inoltra solo i pacchetti con una porta di destinazione corrispondente.
  5. Abilita Protocollo proxy solo se funziona con il servizio in esecuzione on-premise o su altri endpoint cloud. Ad esempio, il protocollo PROXY non funziona con il software Apache HTTP Server. Per maggiori informazioni, consulta la pagina relativa al protocollo PROXY.
  6. Fai clic su Fine.
  7. 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_A \
        --use-serving-port
    
  2. Crea un servizio di backend:

    gcloud compute backend-services create BACKEND_SERVICE_NAME \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --protocol=TCP \
       --region=REGION_A \
       --health-checks=TCP_HEALTH_CHECK_NAME \
       --health-checks-region=REGION_A
    
  3. Aggiungi il backend NEG ibrido 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_A \
       --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_A
    
  5. Crea la regola di forwarding. Utilizza 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=EXTERNAL_MANAGED \
       --network=NETWORK \
       --subnet=LB_SUBNET \
       --address=LB_IP_ADDRESS \
       --ports=FWD_RULE_PORT \
       --region=REGION_A \
       --target-tcp-proxy=TARGET_TCP_PROXY_NAME \
       --target-tcp-proxy-region=REGION_A
    

Testa il bilanciatore del carico

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

  1. Ottieni l'indirizzo IP del bilanciatore del carico.

    Per ottenere l'indirizzo IPv4, esegui questo comando:

    gcloud compute addresses describe ADDRESS_NAME
    
  2. Invia traffico al bilanciatore del carico eseguendo questo comando. Sostituisci LB_IP_ADDRESS con l'indirizzo IPv4 del bilanciatore del carico.

    curl -m1 LB_IP_ADDRESS:FWD_RULE_PORT
    

Passaggi successivi