Configurare 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 dei servizi TCP in un'unica regione dietro un indirizzo IP regionale 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 traffico verso i backend in ambienti 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.

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

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

Si tratta di 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

    • 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_A 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.

Questa subnet solo proxy viene utilizzata da tutti i bilanciatori del carico regionali basati su Envoy nella regione (REGION_A) 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. In Nome, inserisci proxy-only-subnet.

  5. In Regione, seleziona REGION_A.

  6. Imposta Finalità su 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 Prenotare un indirizzo statico.

    Vai a Prenota un indirizzo statico

  2. Scegli un nome per il nuovo indirizzo.

  3. In 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 Regionale.

  6. In Regione, seleziona REGION_A.

  7. Lascia l'opzione Associato a impostata su Nessuna. Dopo aver creato il bilanciatore del carico, questo indirizzo IP viene associato 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 assegnare a questo 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 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, la zona utilizzata per creare il NEG deve trovarsi nella stessa regione in cui è stato configurato il tunnel Cloud VPN o il collegamento VLAN Cloud Interconnect per la connettività ibrida.

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

Console

Creare un NEG 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. Per 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 Subnet, seleziona LB_SUBNET.

  7. In Zona, seleziona HYBRID_NEG_ZONE.

  8. Per Porta predefinita, seleziona il valore predefinito.

  9. In Numero massimo di connessioni, inserisci 2.

  10. Fai clic su Crea.

Aggiungere endpoint al NEG 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 che hai 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 Personalizzata, puoi inserire un numero di porta diverso da utilizzare 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 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 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 Pubblico (esterno) e fai clic su Avanti.
  6. In 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 Riserva 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. 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 che hai 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 NEGibrido.
  5. Mantieni 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à.
    • In Protocollo, seleziona TCP.
    • 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.

Configura il frontend

  1. Fai clic su Configurazione frontend.
  2. In Nome, inserisci un nome per la regola di forwarding.
  3. In Network Service Tier (Livello di servizio di rete), seleziona Standard.
  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 il protocollo proxy solo se funziona con il servizio in esecuzione sui tuoi endpoint on-premise o su altri cloud. Ad esempio, il protocollo PROXY non funziona con il software Apache HTTP Server. Per ulteriori informazioni, consulta il 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_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 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_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 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 \
       --network-tier=STANDARD \
       --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 di traffico all'indirizzo IP del bilanciatore del carico.

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

    Per ottenere l'indirizzo IPv4, esegui il seguente comando:

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

    curl -m1 LB_IP_ADDRESS:FWD_RULE_PORT
    

Passaggi successivi