Configura un bilanciatore del carico delle applicazioni esterno globale con connettività ibrida

Questa pagina illustra come eseguire il deployment di un bilanciatore del carico delle applicazioni esterno globale per bilanciare il carico del traffico verso endpoint di rete on-premise o in altri cloud pubblici e raggiungibili tramite la connettività ibrida.

Dopo aver completato queste attività, puoi scegliere di abilitare servizi aggiuntivi (come Cloud CDN e Google Cloud Armor) e funzionalità avanzate di gestione del traffico.

Se non lo hai già fatto, consulta la panoramica dei NEG di connettività ibrida per comprendere i requisiti di rete per configurare il bilanciamento del carico ibrido.

Panoramica della configurazione

L'esempio in questa pagina configura il seguente deployment di esempio:

Esempio di bilanciatore del carico delle applicazioni esterno per la connettività ibrida.
Esempio di bilanciatore del carico delle applicazioni esterno per la connettività ibrida (fai clic per ingrandire).

Devi configurare la connettività ibrida prima di tentare di configurare un deployment con bilanciamento del carico ibrido. Questo documento non include la configurazione della connettività ibrida.

A seconda della scelta del prodotto per la connettività ibrida (Cloud VPN o Cloud Interconnect (dedicato o partner), utilizza la documentazione del prodotto pertinente per configurare questa funzionalità.

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 per consentire il traffico dai probe di controllo di integrità di Google verso i tuoi endpoint. Gli intervalli di indirizzi IP di origine consentiti sono 35.191.0.0/16 e 130.211.0.0/22. Per maggiori informazioni, consulta Intervalli IP e regole firewall dei probe.

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

  • Gli intervalli utilizzati dai probe del controllo di integrità di Google: 35.191.0.0/16 e 130.211.0.0/22.

configura l'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.

Crea la subnet per i backend

Questa subnet viene utilizzata per creare i backend NEG a livello di zona del bilanciatore del carico, il frontend e l'indirizzo IP interno.

Crea questa subnet nella rete NETWORK utilizzata per configurare la connettività ibrida tra gli ambienti.

Console

Per supportare il traffico IPv4 e IPv6, 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.

    • Fai clic su Modifica.
    • In Modalità di creazione subnet, scegli Personalizzata.
    • Fai clic su Salva.
  3. (Facoltativo) Se vuoi configurare intervalli di indirizzi IPv6 interni sulle subnet di questa rete, completa questi passaggi:

    1. Per Intervallo IPv6 interno ULA della rete VPC, seleziona Abilitato.
    2. Per Alloca intervallo IPv6 interno, seleziona Automaticamente o Manualmente.

      Se selezioni Manualmente, inserisci un intervallo /48 compreso nell'intervallo fd20::/20. Se l'intervallo è in uso, ti viene chiesto di specificarne un altro.

  4. Nella scheda Subnet, fai clic su Aggiungi subnet.

  5. Nel riquadro Aggiungi una subnet, configura i seguenti campi:

    1. Nel campo Nome, specifica un nome per la subnet.
    2. Nel campo Regione, seleziona una regione.
    3. Nel campo Intervallo di indirizzi IP, inserisci un intervallo di indirizzi IP.
    4. Per Tipo di stack IP, seleziona IPv4 e IPv6 (stack doppio).
    5. Nel campo Tipo di accesso IPv6, seleziona Esterno.
    6. Fai clic su Aggiungi.

Per supportare il traffico IPv4, 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.

    • Fai clic su Modifica.
    • In Modalità di creazione subnet, scegli Personalizzata.
    • Fai clic su Salva.
  3. Nella scheda Subnet, fai clic su Aggiungi subnet.

  4. Nel riquadro Aggiungi una subnet, inserisci le seguenti informazioni:

    • Nel campo Nome, specifica un nome per la subnet.
    • Nel campo Regione, seleziona una regione.
    • Nel campo Intervallo di indirizzi IP, inserisci un intervallo di indirizzi IP.
    • Per il campo Tipo di stack IP, seleziona IPv4 (stack singolo).
    • Fai clic su Aggiungi.

gcloud

Crea una subnet nella rete NETWORK utilizzata per configurare la connettività ibrida tra gli ambienti.

Per il traffico IPv4 e IPv6, utilizza il seguente comando:

gcloud compute networks update NETWORK \
    [ --enable-ula-internal-ipv6 [ --internal-ipv6-range=ULA_IPV6_RANGE ]] \
    --subnet-mode=custom
gcloud compute networks subnets create LB_SUBNET_NAME \
    --network=NETWORK \
    --range=LB_SUBNET_RANGE \
    --region=REGION \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=EXTERNAL

Per il traffico IPv4, utilizza il seguente comando:

gcloud compute networks subnets create LB_SUBNET_NAME \
    --network=NETWORK \
    --range=LB_SUBNET_RANGE \
    --region=REGION

Sostituisci quanto segue:

  • NETWORK: un nome per la rete VPC.

  • LB_SUBNET_NAME: un nome per la subnet.

  • REGION: il nome della regione.

  • ULA_IPV6_RANGE: un prefisso /48 compreso nell'intervallo fd20::/20 utilizzato da Google per gli intervalli di subnet IPv6 interni. Se non usi il flag --internal-ipv6-range, Google seleziona un prefisso /48 per la rete.

Crea regola firewall

In questo esempio, crei la seguente regola firewall:

  • fw-allow-health-check: una regola in entrata, applicabile alle istanze Google Cloud con bilanciamento del carico, che consente il traffico proveniente dal bilanciatore del carico e dai sistemi di controllo di integrità di Google Cloud (130.211.0.0/22 e 35.191.0.0/16). Questo esempio utilizza il tag di destinazione allow-health-check per identificare le VM di backend 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:

    1. Inserisci fw-allow-health-check come nome.
    2. Nella sezione Rete, seleziona NETWORK.
    3. In Target, seleziona Tag di destinazione specificati.
    4. Compila il campo Tag di destinazione con allow-health-check.
    5. Imposta Filtro di origine su Intervalli IPv4.
    6. Imposta Intervalli IPv4 di origine su 130.211.0.0/22 e 35.191.0.0/16.
    7. In Protocolli e porte, seleziona Protocolli e porte specificati.
    8. Seleziona la casella di controllo accanto a TCP e digita 80 per i numeri di porta.
  3. Fai clic su Crea.

  4. Per consentire il traffico della subnet IPv6, fai di nuovo clic su Crea regola firewall e inserisci le seguenti informazioni:

    1. Nome: fw-allow-lb-access-ipv6
    2. Rete: NETWORK
    3. Priorità: 1000
    4. Direzione del traffico: ingress
    5. Target: tag di destinazione specificati
    6. Nel campo Tag di destinazione, inserisci allow-health-check-ipv6
    7. Filtro di origine: Intervalli IPv6
    8. Intervalli IPv6 di origine: 2600:2d00:1:b029::/64,2600:2d00:1:1::/64
    9. Protocolli e porte: Consenti tutto
  5. Fai clic su Crea.

gcloud

  1. Crea la regola fw-allow-health-check-and-proxy per consentire al bilanciatore del carico e ai controlli di integrità di Google Cloud di comunicare con le istanze di backend sulla porta TCP 80.

    Sostituisci NETWORK con il nome della rete VPC utilizzata per configurare la connettività ibrida.

    gcloud compute firewall-rules create fw-allow-health-check \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check \
        --source-ranges=130.211.0.0/22,35.191.0.0/16 \
        --rules=tcp:80
    
  2. Crea la regola fw-allow-health-check-ipv6 per consentire i controlli di integrità IPv6 di Google Cloud.

    gcloud compute firewall-rules create fw-allow-health-check-ipv6 \
       --network=NETWORK \
       --action=allow \
       --direction=ingress \
       --target-tags=allow-health-check-ipv6 \
       --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \
       --rules=tcp,udp,icmp
    

Configura il NEG a livello di zona

Per i backend basati su Google Cloud, ti consigliamo di configurare più NEG a livello di zona nella stessa regione in cui hai configurato la connettività ibrida.

I NEG di zona con uno o più endpoint di tipo GCE_VM_IP_PORT supportano il doppio stack.

Per questo esempio, abbiamo configurato un NEG a livello di zona (con endpoint di tipo GCE_VM_IP_PORT) nella regione REGION. Innanzitutto crea le VM nella zona GCP_NEG_ZONE. Quindi crea un NEG di zona nello stesso GCP_NEG_ZONE e aggiungi gli endpoint di rete delle VM al NEG.

Crea VM

Console

  1. Vai alla pagina Istanze VM nella console Google Cloud.
    Vai a Istanze VM

  2. Fai clic su Crea istanza.

  3. Imposta il Nome su vm-a1.

  4. In corrispondenza di Regione, scegli REGION.

  5. In Zona, scegli GCP_NEG_ZONE.

  6. Nella sezione Disco di avvio, assicurati che siano selezionate il sistema operativo Debian e la versione 10 (buster) per le opzioni del disco di avvio. Fai clic su Scegli per modificare l'immagine, se necessario.

  7. Fai clic su Opzioni avanzate e apporta le seguenti modifiche:

    • Fai clic su Networking e aggiungi i seguenti tag di rete: allow-health-check.
    • Fai clic su Modifica in Interfacce di rete e apporta le seguenti modifiche, quindi fai clic su Fine:
      • Rete: NETWORK
      • Subnet: LB_SUBNET_NAME
      • Tipo di stack IP: IPv4 e IPv6 (stack doppio)
    • Fai clic su Gestione. Nel campo Script di avvio, copia e incolla i seguenti contenuti dello script. I contenuti dello script sono identici per tutte e quattro le VM:

      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      vm_hostname="$(curl -H "Metadata-Flavor:Google" \
      http://metadata.google.internal/computeMetadata/v1/instance/name)"
      echo "Page served from: $vm_hostname" | \
      tee /var/www/html/index.html
      systemctl restart apache2
      
  8. Fai clic su Crea.

  9. Ripeti i passaggi seguenti per creare una seconda VM utilizzando la seguente combinazione di nome e zona:

    • Nome: vm-a2, zona: GCP_NEG_ZONE

gcloud

Crea le VM eseguendo questo comando due volte, utilizzando queste combinazioni per il nome della VM e la sua zona. I contenuti dello script sono identici per entrambe le VM.

  • VM_NAME di vm-a1 e qualsiasi zona GCP_NEG_ZONE a tua scelta
  • VM_NAME di vm-a2 e la stessa zona GCP_NEG_ZONE

    Per supportare il traffico IPv4 e IPv6, esegui questo comando:

    gcloud compute instances create VM_NAME \
        --zone=GCP_NEG_ZONE \
        --image-family=debian-10 \
        --image-project=debian-cloud \
        --tags=allow-health-check,allow-health-check-ipv6 \
        --ipv6-network-tier=PREMIUM \
        --stack-type=IPv4_IPv6 \
        --subnet=LB_SUBNET_NAME \
        --metadata=startup-script='#! /bin/bash
          apt-get update
          apt-get install apache2 -y
          a2ensite default-ssl
          a2enmod ssl
          vm_hostname="$(curl -H "Metadata-Flavor:Google" \
          http://metadata.google.internal/computeMetadata/v1/instance/name)"
          echo "Page served from: $vm_hostname" | \
          tee /var/www/html/index.html
          systemctl restart apache2'
    

Crea il NEG a livello di zona

Console

Per creare un gruppo di endpoint di rete a livello di zona:

  1. Vai alla pagina Gruppi di endpoint di rete nella console Google Cloud.
    Vai alla pagina Gruppi di endpoint di rete
  2. Fai clic su Crea gruppo di endpoint di rete.
  3. Inserisci un nome per il NEG a livello di zona. Chiamato GCP_NEG_NAME in questa procedura.
  4. Seleziona il Tipo di gruppo di endpoint di rete: Gruppo di endpoint di rete (a livello di zona).
  5. Seleziona la rete: NETWORK
  6. Seleziona la Subnet: LB_SUBNET_NAME
  7. Seleziona la zona: GCP_NEG_ZONE
  8. Inserisci il valore in Porta predefinita: 80.
  9. Fai clic su Crea.

Aggiungi endpoint al NEG di zona:

  1. Vai alla pagina Gruppi di endpoint di rete nella console Google Cloud.
    Vai ai gruppi di endpoint di rete
  2. Fai clic sul nome del gruppo di endpoint di rete creato nel passaggio precedente (GCP_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. Seleziona un'istanza VM per aggiungere i relativi indirizzi IP interni come endpoint di rete. Nella sezione Interfaccia di rete, sono visualizzati il nome, la zona e la subnet della VM.
  5. Nel campo Indirizzo IPv4, inserisci l'indirizzo IPv4 del nuovo endpoint di rete.
  6. Nel campo Indirizzo IPv6, inserisci l'indirizzo IPv6 del nuovo endpoint di rete.
  7. Seleziona il Tipo di porta.
    1. Se selezioni Predefinita, l'endpoint utilizza la porta predefinita 80 per tutti gli endpoint nel gruppo di endpoint di rete. Ciò è sufficiente per il nostro esempio perché il server Apache gestisce le richieste sulla porta 80.
    2. Se selezioni Personalizzato, inserisci il Numero di porta per l'endpoint da utilizzare.
  8. Per aggiungere altri endpoint, fai clic su Aggiungi endpoint di rete e ripeti i passaggi precedenti.
  9. Dopo aver aggiunto tutti gli endpoint, fai clic su Crea.

gcloud

  1. Crea un NEG a livello di zona (con GCE_VM_IP_PORT endpoint) utilizzando il comando gcloud compute network-endpoint-groups create:

    gcloud compute network-endpoint-groups create GCP_NEG_NAME \
        --network-endpoint-type=GCE_VM_IP_PORT \
        --zone=GCP_NEG_ZONE \
        --network=NETWORK \
        --subnet=LB_SUBNET_NAME
    

    Puoi specificare un --default-port durante la creazione del NEG o specificare un numero di porta per ciascun endpoint come mostrato nel passaggio successivo.

  2. Aggiungi endpoint a doppio stack a GCP_NEG_NAME.

    gcloud compute network-endpoint-groups update GCP_NEG_NAME \
       --zone=GCP_NEG_ZONE \
       --add-endpoint='instance=vm-a1,ip=IPv4_ADDRESS, \
                       ipv6=IPv6_ADDRESS,port=80' \
       --add-endpoint='instance=vm-a2,ip=IPv4_ADDRESS, \
                       ipv6=IPv6_ADDRESS,port=80'
    

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, se utilizzi Cloud Interconnect, il valore ZONE utilizzato per creare il NEG deve trovarsi nella stessa regione in cui è stato configurato il collegamento VLAN di Cloud Interconnect con connettività ibrida.

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

Console

Per creare un gruppo di endpoint di rete con connettività ibrida:

  1. Vai alla pagina Gruppi di endpoint di rete nella console Google Cloud.
    Vai a Gruppi di endpoint di rete
  2. Fai clic su Crea gruppo di endpoint di rete.
  3. Inserisci un nome per il NEG ibrido. Chiamato ON_PREM_NEG_NAME in questa procedura.
  4. Seleziona 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_NAME
  7. Seleziona la zona: ON_PREM_NEG_ZONE.
  8. Inserisci la Porta predefinita.
  9. Fai clic su Crea

Aggiungi endpoint al NEG di connettività ibrida:

  1. Vai alla pagina Gruppi di endpoint di rete nella console Google Cloud.
    Vai alla pagina Gruppi di endpoint di rete
  2. Fai clic sul nome del gruppo di endpoint di rete creato nel passaggio precedente (ON_PREM_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 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. Crea un NEG di connettività ibrida utilizzando il comando gcloud compute network-endpoint-groups create.

    gcloud compute network-endpoint-groups create ON_PREM_NEG_NAME \
        --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
        --zone=ON_PREM_NEG_ZONE \
        --network=NETWORK
    
  2. Aggiungi l'endpoint a on-prem-neg:

    gcloud compute network-endpoint-groups update ON_PREM_NEG_NAME \
        --zone=ON_PREM_NEG_ZONE \
        --add-endpoint="ip=ON_PREM_IP_ADDRESS_1,port=PORT_1" \
        --add-endpoint="ip=ON_PREM_IP_ADDRESS_2,port=PORT_2"
    

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

Configura il bilanciatore del carico

Console

gcloud

  1. Crea un indirizzo IP esterno statico globale a cui i client esterni inviano il traffico.
      gcloud compute addresses create LB_IP_ADDRESS_NAME \
          --network-tier=PREMIUM \
          --global
      
  2. Crea un controllo di integrità per i backend.
      gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \
          --use-serving-port
      
  3. Crea un servizio di backend. Aggiungi sia il NEG a livello di zona sia il NEG di connettività ibrida come backend a questo servizio di backend.
  4.   gcloud beta compute backend-services create BACKEND_SERVICE \
          --health-checks=HTTP_HEALTH_CHECK_NAME \
          --load-balancing-scheme=EXTERNAL_MANAGED \
          --ip-address-selection-policy=PREFER_IPV6 \
          --global
      
  5. Aggiungi il NEG a livello di zona come backend al servizio di backend:
      gcloud beta compute backend-services add-backend BACKEND_SERVICE \
          --global \
          --balancing-mode=RATE \
          --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \
          --network-endpoint-group=GCP_NEG_NAME \
          --network-endpoint-group-zone=GCP_NEG_ZONE
       
    Per maggiori dettagli sulla configurazione della modalità di bilanciamento, consulta la documentazione gcloud CLI per il parametro --max-rate-per-endpoint.
  6. Aggiungi il NEG ibrido come backend al servizio di backend:
      gcloud compute backend-services add-backend BACKEND_SERVICE \
          --global \
          --balancing-mode=RATE \
          --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \
          --network-endpoint-group=ON_PREM_NEG_NAME \
          --network-endpoint-group-zone=ON_PREM_NEG_ZONE
      
  7. Crea una mappa URL per instradare le richieste in entrata al servizio di backend.
      gcloud beta compute url-maps create URL_MAP_NAME \
          --default-service BACKEND_SERVICE
      
  8. Esegui questo passaggio solo se vuoi creare un bilanciatore del carico HTTPS. Non è richiesto per i bilanciatori del carico HTTP.
    Per creare un bilanciatore del carico HTTPS, devi disporre di una risorsa del certificato SSL da utilizzare nel proxy di destinazione HTTPS. Puoi creare una risorsa del certificato SSL utilizzando un certificato SSL gestito da Google o un certificato SSL autogestito. Ti consigliamo di utilizzare i certificati gestiti da Google perché Google Cloud li ottiene, gestisce e rinnova automaticamente questi certificati.

    Per creare un certificato gestito da Google, devi avere un dominio. Se non hai un dominio, puoi utilizzare un certificato SSL autofirmato per il test.

    Per creare una risorsa del certificato SSL gestito da Google:
    gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
        --domains DOMAIN
    
    Per creare una risorsa del certificato SSL autogestito:
    gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
        --certificate CRT_FILE_PATH \
        --private-key KEY_FILE_PATH
    
  9. Crea un proxy HTTP(S) di destinazione per instradare le richieste alla mappa di URL.

    Per un bilanciatore del carico HTTP, crea un proxy di destinazione HTTP:
    gcloud beta compute target-http-proxies create TARGET_HTTP_PROXY_NAME \
        --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
        --url-map=URL_MAP_NAME
    
    Per un bilanciatore del carico HTTPS, crea un proxy di destinazione HTTPS. Il proxy è la parte del bilanciatore del carico che contiene il certificato SSL per il bilanciamento del carico HTTPS, quindi in questo passaggio caricherai anche il tuo certificato.
    gcloud beta compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
        --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
        --ssl-certificates=SSL_CERTIFICATE_NAME \
        --url-map=URL_MAP_NAME
    

    Sostituisci quanto segue:

    • TARGET_HTTP_PROXY_NAME: il nome del proxy HTTP di destinazione.
    • TARGET_HTTPS_PROXY_NAME: il nome del proxy HTTPS di destinazione.
    • HTTP_KEEP_ALIVE_TIMEOUT_SEC: un campo facoltativo utilizzato per specificare il timeout keepalive HTTP del client. Il valore di timeout deve essere compreso tra 5 e 1200 secondi. Il valore predefinito è 610 secondi.
    • SSL_CERTIFICATE_NAME: il nome del certificato SSL.
    • URL_MAP_NAME: il nome della mappa URL.
  10. Creare una regola di forwarding per instradare le richieste in entrata al proxy.

    Per un bilanciatore del carico HTTP:
    gcloud beta compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --network-tier=PREMIUM \
        --address=LB_IP_ADDRESS_NAME \
        --target-http-proxy=TARGET_HTTP_PROXY_NAME \
        --global \
        --ports=80
    
    Per un bilanciatore del carico HTTPS:
    gcloud beta compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --network-tier=PREMIUM \
        --address=LB_IP_ADDRESS_NAME \
        --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
        --global \
        --ports=443
    

Connetti il tuo dominio al bilanciatore del carico

Dopo aver creato il bilanciatore del carico, prendi nota dell'indirizzo IP associato al bilanciatore, ad esempio 30.90.80.100. Per puntare il tuo dominio al bilanciatore del carico, crea un record A utilizzando il servizio di registrazione del dominio. Se hai aggiunto più domini al certificato SSL, devi aggiungere un record A per ciascuno, il tutto puntando all'indirizzo IP del bilanciatore del carico. Ad esempio, per creare record A per www.example.com e example.com, utilizza quanto segue:

NAME                  TYPE     DATA
www                   A        30.90.80.100
@                     A        30.90.80.100

Se utilizzi Cloud DNS come provider DNS, consulta Aggiungere, modificare ed eliminare record.

Test del bilanciatore del carico

Ora che hai configurato il bilanciatore del carico, puoi iniziare a inviare traffico all'indirizzo IP del bilanciatore.

  1. Vai alla pagina Bilanciamento del carico nella console Google Cloud.
    Vai alla pagina Bilanciamento del carico

  2. Fai clic sul bilanciatore del carico appena creato.

  3. Prendi nota dell'indirizzo IP del bilanciatore del carico.

  4. Invia traffico al bilanciatore del carico.

    • Se hai creato un bilanciatore del carico HTTP, puoi testarlo utilizzando un browser web dalla pagina http://IP_ADDRESS. Sostituisci IP_ADDRESS con l'indirizzo IP del bilanciatore del carico. Dovresti essere indirizzato al servizio che hai esposto tramite l'endpoint.

    • Se hai creato un bilanciatore del carico HTTPS, puoi testarlo utilizzando curl come segue. Sostituisci IP_ADDRESS con l'indirizzo IP del bilanciatore del carico. Dovresti essere indirizzato al servizio esposto tramite l'endpoint.

      curl -k https://IP_ADDRESS
      

      Se il problema persiste e utilizzi un certificato gestito da Google, verifica che lo stato della risorsa di certificato sia ATTIVO. Per ulteriori informazioni, consulta lo stato delle risorse del certificato SSL gestito da Google. Quindi testa il dominio che punta all'indirizzo IP del bilanciatore del carico. Ad esempio:

      curl -s https://test.example.com
      
  5. Il test degli endpoint non Google Cloud dipende dal servizio esposto tramite l'endpoint NEG ibrido.

Configurazione aggiuntiva

Questa sezione si espande sull'esempio di configurazione per fornire opzioni di configurazione alternative e aggiuntive. Tutte le attività sono facoltative. Puoi eseguirle in qualsiasi ordine.

Aggiorna timeout keepalive HTTP del client

Il bilanciatore del carico creato nei passaggi precedenti è stato configurato con un valore predefinito per il timeout keepalive HTTP del client. Per aggiornare il timeout keepalive HTTP del client, segui le istruzioni riportate di seguito.

Console

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

    Vai a Bilanciamento del carico.

  2. Fai clic sul nome del bilanciatore del carico che vuoi modificare.
  3. Fai clic su Modifica.
  4. Fai clic su Configurazione frontend.
  5. Espandi Funzionalità avanzate. Per Timeout keepalive HTTP, inserisci un valore di timeout compreso tra 5 e 1200 secondi.
  6. Fai clic su Update (Aggiorna).
  7. Per rivedere le modifiche, fai clic su Esamina e finalizza, poi fai clic su Aggiorna.

gcloud

Per un bilanciatore del carico HTTP, aggiorna il proxy HTTP di destinazione utilizzando il comando gcloud compute target-http-proxies update:

    gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \
        --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
        --global
    

Per un bilanciatore del carico HTTPS, aggiorna il proxy HTTPS di destinazione utilizzando il comando gcloud compute target-https-proxies update:

    gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \
        --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
        --global
    

Sostituisci quanto segue:

  • TARGET_HTTP_PROXY_NAME: il nome del proxy HTTP di destinazione.
  • TARGET_HTTPS_PROXY_NAME: il nome del proxy HTTPS di destinazione.
  • HTTP_KEEP_ALIVE_TIMEOUT_SEC: il valore di timeout keepalive HTTP compreso tra 5 e 1200 secondi.

Passaggi successivi