Configura un bilanciatore del carico di rete passthrough esterno con un servizio di backend

Questa guida fornisce istruzioni per creare un deployment di bilanciatori del carico di rete passthrough esterni utilizzando un servizio di backend regionale. Questo esempio crea un bilanciatore del carico di rete passthrough esterno che supporta il traffico TCP o UDP. Se vuoi creare un bilanciatore del carico di rete passthrough esterno che bilanci il carico del traffico TCP, UDP, ESP, GRE, ICMP e ICMPv6 (non solo TCP o UDP), consulta Configurare un bilanciatore del carico di rete passthrough esterno per più protocolli IP.

In questo esempio, utilizzeremo il bilanciatore del carico per distribuire il traffico TCP tra le VM di backend in due gruppi di istanze gestite zonali nella regione us-central1. Un approccio ugualmente valido consiste nell'utilizzare un singolo gruppo di istanze gestite a livello di regione per la regione us-central1.

Bilanciatore del carico di rete passthrough esterno con gruppi di istanze zonali
Bilanciatore del carico di rete passthrough esterno con gruppi di istanze gestite zonali

Questo scenario distribuisce il traffico TCP tra le istanze integre. Per supportare questo esempio, i controlli di integrità TCP sono configurati per garantire che il traffico venga inviato solo alle istanze integre. Tieni presente che i controlli di integrità TCP sono supportati solo con un bilanciatore del carico basato su servizi di backend. I bilanciatori del carico basati su pool di destinazione possono utilizzare solo i controlli di integrità HTTP precedenti.

Questo esempio bilancia il carico del traffico TCP, ma puoi utilizzare bilanciatori del carico di rete passthrough esterni basati su servizio di backend per bilanciare il carico del traffico TCP, UDP, ESP, GRE, ICMP e ICMPv6.

Il bilanciatore del carico di rete passthrough esterno è un bilanciatore del carico a livello di regione. Tutti i componenti del bilanciatore del carico (VM di backend, servizio di backend e regola di forwarding) devono trovarsi nella stessa regione.

Prima di iniziare

Installa Google Cloud CLI. Per una panoramica completa dello strumento, consulta la panoramica dell'interfaccia a riga di comando gcloud. Puoi trovare i comandi relativi al bilanciamento del carico nei documenti di riferimento di API e gcloud.

Se non hai mai eseguito Google Cloud CLI, esegui prima gcloud init per autenticarti.

Questa guida presuppone che tu abbia familiarità con bash.

Configura la rete e le subnet

L'esempio in questa pagina utilizza una rete VPC in modalità personalizzata denominata lb-network. Puoi utilizzare una rete VPC in modalità automatica se vuoi gestire solo il traffico IPv4. Tuttavia, il traffico IPv6 richiede una sottorete in modalità personalizzata.

Il traffico IPv6 richiede anche una subnet a doppio stack (stack-type impostato su IPv4_IPv6). Quando crei una subnet a doppio stack in una rete VPC in modalità personalizzata, scegli un tipo di accesso IPv6 per la subnet. Per questo esempio, abbiamo impostato il parametro ipv6-access-type della sottorete su EXTERNAL. Ciò significa che alle nuove VM in questa subnet possono essere assegnati sia indirizzi IPv4 esterni sia indirizzi IPv6 esterni. Le regole di inoltro possono essere assegnate anche a indirizzi IPv4 ed IPv6 esterni.

I backend e i componenti del bilanciatore del carico utilizzati per questo esempio si trovano in questa regione e subnet:

  • Regione: us-central1
  • Subnet: lb-subnet, con intervallo di indirizzi IPv4 principale10.1.2.0/24. Sebbene tu scelga quale intervallo di indirizzi IPv4 deve essere configurato sulla subnet, l'intervallo di indirizzi IPv6 viene assegnato automaticamente. Google fornisce un blocco CIDR IPv6 di dimensioni fisse (/64).

Per creare la rete e la sottorete di esempio, segui questi passaggi.

Console

Per supportare sia il traffico IPv4 che IPv6, svolgi i seguenti passaggi:

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

    Vai a Reti VPC

  2. Fai clic su Crea rete VPC.

  3. Inserisci un nome per lb-network.

  4. Nella sezione Subnet:

    • Imposta Modalità di creazione subnet su Personalizzata.
    • Nella sezione Nuova subnet, configura i seguenti campi e fai clic su Fine:
      • Nome: lb-subnet
      • Regione: us-central1
      • Tipo di stack IP: IPv4 e IPv6 (stack doppio)
      • Intervallo IPv4: 10.1.2.0/24
        Anche se puoi configurare un intervallo di indirizzi IPv4 per la subnet, non puoi scegliere l'intervallo degli indirizzi IPv6 per la subnet. Google fornisce un blocco CIDR IPv6 di dimensioni fisse (/64).
      • Tipo di accesso IPv6: Esterno
  5. Fai clic su Crea.

Per supportare solo il traffico IPv4, svolgi i seguenti passaggi:

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

    Vai a Reti VPC

  2. Fai clic su Crea rete VPC.

  3. Inserisci un nome per lb-network.

  4. Nella sezione Subnet:

    • Imposta Modalità di creazione subnet su Personalizzata.
    • Nella sezione Nuova subnet, configura i seguenti campi e fai clic su Fine:
      • Nome: lb-subnet
      • Regione: us-central1
      • Tipo di stack IP: IPv4 (stack singolo)
      • Intervallo IPv4: 10.1.2.0/24
  5. Fai clic su Crea.

gcloud

  1. Crea la rete VPC in modalità personalizzata:

    gcloud compute networks create lb-network \
        --subnet-mode=custom
    
  2. All'interno della rete lb-network, crea una subnet per i backend nella regione us-central1.

    Per il traffico IPv4 e IPv6, utilizza il seguente comando per creare una subnet a doppio stack:

    gcloud compute networks subnets create lb-subnet \
      --stack-type=IPV4_IPv6 \
      --ipv6-access-type=EXTERNAL \
      --network=lb-network \
      --range=10.1.2.0/24 \
      --region=us-central1
    

    Per solo traffico IPv4, utilizza il seguente comando:

    gcloud compute networks subnets create lb-subnet \
      --network=lb-network \
      --range=10.1.2.0/24 \
      --region=us-central1
    

Crea i gruppi di istanze gestite zonali

Per questo scenario di bilanciamento del carico, crea due gruppi di istanze gestite zonali Compute Engine e installa un server web Apache su ogni istanza.

Per gestire il traffico IPv4 e IPv6, configura le VM di backend come a doppio stack. Imposta stack-type della VM su IPv4_IPv6. Le VM ereditano anche l'impostazioneipv6-access-type (in questo esempio, EXTERNAL) dalla subnet. Per maggiori dettagli sui requisiti IPv6, consulta la Panoramica del bilanciatore del carico di rete passthrough esterno: Regole di forwarding.

Per utilizzare le VM esistenti come backend, aggiornale in modo che siano dual-stack utilizzando il comando gcloud compute instances network-interfaces update.

Le istanze che partecipano come VM di backend per i bilanciatori del carico di rete passthrough esterni devono eseguire l'ambiente guest Linux, l'ambiente guest Windows o altri processi che forniscono funzionalità equivalenti.

Configurazione delle istanze

Console

  1. Creare un modello di istanza. Nella console Google Cloud , vai alla pagina Modelli di istanza.

    Vai a Modelli di istanza

    1. Fai clic su Crea modello istanza.
    2. In Nome, inserisci ig-us-template.
    3. Nella sezione Disco di avvio, assicurati che Immagine sia impostata su un'immagine Debian, ad esempio Debian GNU/Linux 12 (bookworm). Queste istruzioni utilizzano comandi disponibili solo su Debian, come apt-get.
    4. Fai clic su Opzioni avanzate.
    5. Fai clic su Networking.
      1. In Tag di rete, inserisci lb-tag.
      2. In Interfacce di rete, fai clic sull'interfaccia predefinita e configura i seguenti campi:
        • Rete: lb-network
        • Subnet: lb-subnet
      3. Fai clic su Fine.
    6. Fai clic su Gestione e copia il seguente script nel campo Script di avvio.

      #! /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
      
    7. Fai clic su Crea.

  2. Creare un gruppo di istanze gestite. Nella console Google Cloud , vai alla pagina Gruppi di istanze.

    Vai a Gruppi di istanze

    1. Fai clic su Crea gruppo di istanze.
    2. Seleziona Nuovo gruppo di istanze gestite (stateless). Per ulteriori informazioni, consulta Gruppi di istanze gestite stateless o stateful.
    3. In Nome, inserisci ig-us-1.
    4. In Modello di istanza, seleziona ig-us-template.
    5. In Località, seleziona Zona singola.
    6. In Regione, seleziona us-central1.
    7. In Zona, seleziona us-central1-a.
    8. Specifica il numero di istanze che vuoi creare nel gruppo.

      Per questo esempio, specifica le seguenti opzioni nella sezione Scalabilità automatica:

      • Per la modalità di scalabilità automatica, seleziona Off:do not autoscale.
      • In Numero massimo di istanze, inserisci 2.
    9. Fai clic su Crea.

  3. Ripeti i passaggi precedenti per creare un secondo gruppo di istanze gestite nella zona us-central1-c con le seguenti specifiche:

    • Nome: ig-us-2
    • Zona: us-central1-c
    • Modello di istanza: utilizza lo stesso modello ig-us-template creato nella sezione precedente.

gcloud

Le istruzioni gcloud in questa guida presuppongono che tu stia utilizzando Cloud Shell o un altro ambiente con bash installato.

  1. Crea un modello di istanza VM con il server HTTP con il comando gcloud compute instance-templates create.

    Per gestire sia il traffico IPv4 che IPv6, utilizza il seguente comando.

    gcloud compute instance-templates create ig-us-template \
    --region=us-central1 \
    --network=lb-network \
    --subnet=lb-subnet \
    --ipv6-network-tier=PREMIUM \
    --stack-type=IPv4_IPv6 \
    --tags=lb-tag \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --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'
    

    Per gestire solo il traffico IPv4, utilizza il seguente comando.

    gcloud compute instance-templates create ig-us-template \
    --region=us-central1 \
    --network=lb-network \
    --subnet=lb-subnet \
    --tags=lb-tag \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --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'
    
  2. Crea un gruppo di istanze gestite nella zona con il comando gcloud compute instance-groups managed create.

    gcloud compute instance-groups managed create ig-us-1 \
        --zone us-central1-a \
        --size 2 \
        --template ig-us-template
    
  3. Crea un secondo gruppo di istanze gestite nella zona us-central1-c:

    gcloud compute instance-groups managed create ig-us-2 \
        --zone us-central1-c \
        --size 2 \
        --template ig-us-template
    

Configurazione delle regole del firewall

Crea regole firewall che consentano al traffico esterno (inclusi i probe del controllo di integrità) di raggiungere le istanze di backend.

Questo esempio crea una regola firewall che consente al traffico TCP proveniente da tutti gli intervalli di origine di raggiungere le istanze di backend sulla porta 80. Se vuoi creare regole firewall distinte specificamente per i probe del controllo di integrità, utilizza gli intervalli di indirizzi IP di origine documentati nella sezione Panoramica dei controlli di integrità: intervalli IP dei probe e regole firewall.

Console

  1. Nella console Google Cloud , vai alla pagina Regole firewall.

    Vai a Policy del firewall

  2. Per consentire il traffico IPv4, svolgi i seguenti passaggi:

    1. Fai clic su Crea regola firewall.
    2. In Nome, inserisci allow-network-lb-ipv4.
    3. Nell'elenco Rete, seleziona lb-network.
    4. Per Destinazioni, seleziona Tag di destinazione specificati.
    5. Nel campo Tag di destinazione, inserisci lb-tag.
    6. Per Filtro di origine, seleziona Intervalli IPv4.
    7. Imposta Intervalli IPv4 di origine su 0.0.0.0/0. In questo modo viene consentito il traffico IPv4 da qualsiasi origine. In questo modo, i probe di controllo di integrità di Google possono raggiungere le istanze di backend.
    8. In Protocolli e porte specificati, seleziona la casella di controllo TCP e inserisci 80.
    9. Fai clic su Crea. Potrebbe essere necessario un momento prima che la consoleGoogle Cloud mostri la nuova regola firewall oppure potresti dover fare clic su Aggiorna per visualizzarla.
  3. Per consentire il traffico IPv6, svolgi i seguenti passaggi:

    1. Fai di nuovo clic su Crea regola firewall.
    2. In Nome, inserisci allow-network-lb-ipv6.
    3. Nell'elenco Rete, seleziona lb-network.
    4. Per Destinazioni, seleziona Tag di destinazione specificati.
    5. Nel campo Tag di destinazione, inserisci lb-tag.
    6. In Filtro di origine, seleziona Intervalli IPv6.
    7. Imposta Intervalli IPv6 di origine su ::/0. In questo modo viene consentito il traffico IPv6 da qualsiasi origine. In questo modo, i probe di controllo di integrità di Google possono raggiungere le istanze di backend.
    8. In Protocolli e porte specificati, seleziona la casella di controllo TCP e inserisci 80.
    9. Fai clic su Crea. Potrebbe essere necessario un istante prima che la Console mostri la nuova regola firewall oppure potrebbe essere necessario fare clic su Aggiorna per visualizzarla.

gcloud

  1. Per consentire il traffico IPv4, esegui il seguente comando:

    gcloud compute firewall-rules create allow-network-lb-ipv4 \
        --network=lb-network \
        --target-tags=lb-tag \
        --allow=tcp:80 \
        --source-ranges=0.0.0.0/0
    
  2. Per consentire il traffico IPv6, esegui il seguente comando:

    gcloud compute firewall-rules create allow-network-lb-ipv6 \
      --network=lb-network \
      --target-tags=lb-tag \
      --allow=tcp:80 \
      --source-ranges=::/0
    

Configura il bilanciatore del carico

Successivamente, configura il bilanciatore del carico.

Quando configuri il bilanciatore del carico, le istanze di macchine virtuali (VM) riceveranno i pacchetti destinati all'indirizzo IP esterno statico configurato. Se utilizzi un'immagine fornita da Compute Engine, le tue istanze vengono configurate automaticamente per gestire questo indirizzo IP. Se utilizzi un'altra immagine, devi configurare questo indirizzo come alias su eth0 o come loopback su ogni istanza.

Per configurare il bilanciatore del carico, segui le istruzioni riportate di seguito.

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 passthrough e fai clic su Avanti.
  5. In Pubblico o interno, seleziona Pubblico (esterno) e fai clic su Avanti.
  6. Fai clic su Configura.

Configurazione backend

  1. Nella pagina Crea bilanciatore del carico di rete passthrough esterno, inserisci il nome tcp-network-lb per il nuovo bilanciatore del carico.
  2. In Regione, seleziona us-central1.
  3. Fai clic su Configurazione backend.
  4. Nella pagina Configurazione backend, apporta le seguenti modifiche:
    1. In Nuovo backend, seleziona il Tipo di stack IP. Se hai creato backend a doppio stack per gestire sia il traffico IPv4 che IPv6, seleziona IPv4 e IPv6 (stack doppio). Per gestire solo il traffico IPv4, seleziona IPv4(single-stack).
    2. Nell'elenco Gruppo di istanze, seleziona ig-us-1, quindi fai clic su Fine.
    3. Fai clic su Aggiungi un backend e ripeti questo passaggio per aggiungere ig-us-2.
    4. In Controllo di integrità, fai clic su Crea un controllo di integrità o su Crea un altro controllo di integrità, quindi inserisci le seguenti informazioni:
      • Nome: tcp-health-check
      • Protocollo: TCP
      • Porta: 80
    5. Fai clic su Salva.
  5. Verifica che sia presente un segno di spunta blu accanto a Configurazione backend prima di continuare.

Configurazione frontend

  1. Fai clic su Configurazione frontend.
  2. In Nome, inserisci network-lb-forwarding-rule.
  3. Per gestire il traffico IPv4, svolgi i seguenti passaggi:
    1. Per Versione IP, seleziona IPv4.
    2. Nella sezione Scopo IP interno, nell'elenco Indirizzo IP, seleziona Crea indirizzo IP.
      1. Nella pagina Prenota un nuovo indirizzo IP statico, inserisci network-lb-ipv4 in Nome.
      2. Fai clic su Prenota.
    3. In Porte, scegli Singola. In Numero porta, inserisci 80.
    4. Fai clic su Fine.
  4. Per gestire il traffico IPv6:

    1. Per Versione IP, seleziona IPv6.
    2. In Subnet, seleziona lb-subnet.
    3. Nell'elenco Intervallo IPv6, seleziona Crea indirizzo IP.
      1. Nella pagina Prenota un nuovo indirizzo IP statico, inserisci network-lb-ipv6 in Nome.
      2. Fai clic su Prenota.
    4. In Porte, seleziona Singola. In Numero porta, inserisci 80.
    5. Fai clic su Fine.

    Un cerchio blu con un segno di spunta a sinistra di Configurazione frontend indica che la configurazione è andata a buon fine.

Rivedi la configurazione

  1. Fai clic su Esamina e finalizza.
  2. Rivedi le impostazioni di configurazione del bilanciatore del carico.
  3. (Facoltativo) Fai clic su Codice equivalente per visualizzare la richiesta dell'API REST che verrà utilizzata per creare il bilanciatore del carico.
  4. Fai clic su Crea.

    Nella pagina di bilanciamento del carico, nella colonna Backend del nuovo bilanciatore del carico, dovresti vedere un segno di spunta verde che indica che il nuovo bilanciatore del carico è in stato di esecuzione.

gcloud

  1. Prenota un indirizzo IP esterno statico.

    Per il traffico IPv4: crea un indirizzo IPv4 esterno statico per il bilanciatore del carico.

    gcloud compute addresses create network-lb-ipv4 \
        --region us-central1
    

    Per il traffico IPv6: crea un intervallo di indirizzi IPv6 esterni statici per il bilanciatore del carico. La subnet utilizzata deve essere una subnet a doppio stack con un intervallo IPv6 esterno.

    gcloud compute addresses create network-lb-ipv6 \
        --region us-central1 \
        --subnet lb-subnet \
        --ip-version IPV6 \
        --endpoint-type NETLB
    
  2. Crea un controllo di integrità TCP.

    gcloud compute health-checks create tcp tcp-health-check \
        --region us-central1 \
        --port 80
    
  3. Crea un servizio di backend.

    gcloud compute backend-services create network-lb-backend-service \
        --protocol TCP \
        --health-checks tcp-health-check \
        --health-checks-region us-central1 \
        --region us-central1
    
  4. Aggiungi i gruppi di istanze al servizio di backend.

    gcloud compute backend-services add-backend network-lb-backend-service \
    --instance-group ig-us-1 \
    --instance-group-zone us-central1-a \
    --region us-central1
    
    gcloud compute backend-services add-backend network-lb-backend-service \
    --instance-group ig-us-2 \
    --instance-group-zone us-central1-c \
    --region us-central1
    
  5. Crea le regole di inoltro a seconda che tu voglia gestire il traffico IPv4 o IPv6. Crea entrambe le regole di inoltro per gestire entrambi i tipi di traffico.

    1. Per il traffico IPv4: crea una regola di forwarding per instradare il traffico TCP in entrata al servizio di backend. Utilizza l'indirizzo IPv4 riservato nel passaggio 1 come indirizzo IP esterno statico del bilanciatore del carico.

      gcloud compute forwarding-rules create network-lb-forwarding-rule-ipv4 \
        --load-balancing-scheme EXTERNAL \
        --region us-central1 \
        --ports 80 \
        --address network-lb-ipv4 \
        --backend-service network-lb-backend-service
      
    2. Per il traffico IPv6: crea una regola di forwarding per gestire il traffico IPv6. Utilizza l'intervallo di indirizzi IPv6 riservato nel passaggio 1 come indirizzo IP esterno statico del bilanciatore del carico. La subnet utilizzata deve essere una subnet a doppio stack con un intervallo di subnet IPv6 esterno.

      gcloud compute forwarding-rules create network-lb-forwarding-rule-ipv6 \
          --load-balancing-scheme EXTERNAL \
          --region us-central1 \
          --network-tier PREMIUM \
          --ip-version IPV6 \
          --subnet lb-subnet \
          --address network-lb-ipv6 \
          --ports 80 \
          --backend-service network-lb-backend-service
      

Testa il bilanciatore del carico

Una volta configurato il servizio di bilanciamento del carico, puoi iniziare a inviare trafico all'indirizzo IP esterno del bilanciatore del carico e osservare la distribuzione del traffico tra le istanze di backend.

Cerca l'indirizzo IP esterno del bilanciatore del carico

Console

  1. Nella pagina Componenti di bilanciamento del carico, vai alla scheda Regole di inoltro.

    Vai a Regole di inoltro

  2. Individua la regola di forwarding utilizzata dal bilanciatore del carico.

  3. Nella colonna Indirizzo IP esterno, prendi nota dell'indirizzo IP esterno elencato.

gcloud: IPv4

Inserisci il seguente comando per visualizzare l'indirizzo IPv4 esterno della network-lb-forwarding-rule regola di forwarding utilizzata dal bilanciatore del carico.

gcloud compute forwarding-rules describe network-lb-forwarding-rule-ipv4 \
    --region us-central1

gcloud: IPv6

Inserisci il seguente comando per visualizzare l'indirizzo IPv6 esterno della network-lb-forwarding-rule regola di forwarding utilizzata dal bilanciatore del carico.

gcloud compute forwarding-rules describe network-lb-forwarding-rule-ipv6 \
    --region us-central1

Invia traffico al bilanciatore del carico

Invia richieste web al bilanciatore del carico utilizzando curl per contattare il relativo indirizzo IP.

  • Dai client con connettività IPv4, esegui il seguente comando:

    $ while true; do curl -m1 IPV4_ADDRESS; done
    
  • Dai client con connettività IPv6, esegui il seguente comando:

    $ while true; do curl -m1 http://IPV6_ADDRESS; done
    

    Ad esempio, se l'indirizzo IPv6 assegnato è [2001:db8:1:1:1:1:1:1/96]:80, il comando dovrebbe avere il seguente aspetto:

    $ while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:80; done
    

Prendi nota del testo restituito dal comando curl. Il nome della VM di backend che genera la risposta viene visualizzato in questo testo; ad esempio: Page served from: VM_NAME

La risposta del comando curl si alterna in modo casuale tra le istanze di backend. Se inizialmente la risposta non è andata a buon fine, potresti dover attendere circa 30 secondi in modo che la configurazione sia caricata completamente e le istanze siano contrassegnate come integre prima di riprovare.

Opzioni di configurazione aggiuntive

Questa sezione espande l'esempio di configurazione per fornire istruzioni su come personalizzare ulteriormente il bilanciatore del carico di rete passthrough esterno. Queste attività sono facoltative. Puoi eseguirli in qualsiasi ordine.

Configurare l'affinità sessione

La configurazione di esempio crea un servizio di backend con l'affinità sessione disabilitata (valore impostato su NONE). Questa sezione mostra come aggiornare il servizio di backend per modificare l'impostazione di affinità sessione del bilanciatore del carico.

Per i tipi di affinità sessione supportati, consulta le opzioni di affinità sessione.

Console

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

    Vai a Bilanciamento del carico

  2. Nella scheda Bilanciatori del carico, fai clic sul nome del servizio di backend e poi su Modifica.

  3. Nella pagina Modifica bilanciatore del carico di rete passthrough esterno, fai clic su Configurazione backend.

  4. Seleziona un'opzione dall'elenco Affinità di sessione.

  5. Fai clic su Aggiorna.

gcloud

Utilizza il seguente comando gcloud per aggiornare l'affinità sessione per il servizio di backend:

gcloud compute backend-services update BACKEND_SERVICE \
    --region=REGION \
    --session-affinity=SESSION_AFFINITY_OPTION

Sostituisci i segnaposto con valori validi:

  • BACKEND_SERVICE: il servizio di backend che stai aggiornando
  • SESSION_AFFINITY_OPTION: l'opzione di affinità sessione che vuoi impostare

    Per l'elenco dei valori supportati per un bilanciatore del carico di rete passthrough esterno, consulta Opzioni di affinità di sessione.

Configurare un criterio di monitoraggio delle connessioni

La configurazione di esempio crea un servizio di backend con le impostazioni predefinite per il relativo criterio di monitoraggio delle connessioni. Questa sezione mostra come aggiornare il servizio di backend per modificare il criterio di monitoraggio delle connessioni predefinite del bilanciatore del carico.

Un criterio di monitoraggio delle connessioni include le seguenti impostazioni:

gcloud

Utilizza il seguente comando gcloud compute backend-services per aggiornare il criterio di monitoraggio delle connessioni per il servizio di backend:

gcloud compute backend-services update BACKEND_SERVICE \
    --region=REGION \
    --tracking-mode=TRACKING_MODE \
    --connection-persistence-on-unhealthy-backends=CONNECTION_PERSISTENCE_BEHAVIOR

Sostituisci i segnaposto con valori validi:

  • BACKEND_SERVICE: il servizio di backend che stai aggiornando
  • TRACKING_MODE: la modalità di monitoraggio della connessione da utilizzare per i pacchetti in entrata. Per l'elenco dei valori supportati, consulta Modalità di monitoraggio.
  • CONNECTION_PERSISTENCE_BEHAVIOR: il comportamento della persistenza della connessione quando i backend non sono integri. Per l'elenco dei valori supportati, consulta Persistenza della connessione su backend in stato non integro.

Configurare lo steering del traffico

Questa sezione mostra come aggiornare la configurazione frontend di un bilanciatore del carico per impostare lo sterzo del traffico in base all'IP di origine. Per informazioni dettagliate sul funzionamento della gestione del traffico, vedi Gestione del traffico.

Queste istruzioni presuppongono che tu abbia già creato la regola di forwarding di base principale. Questo esempio crea una seconda regola di forwarding, ovvero la regola di forwarding di orientamento, con lo stesso indirizzo IP, protocollo IP e porte della regola principale. Questa regola di inoltro di orientamento è configurata con intervalli IP di origine in modo da poter personalizzare il modo in cui i pacchetti di questi intervalli IP di origine vengono inoltrati.

gcloud

Utilizza il seguente comando per creare una regola di inoltro di orientamento che indica un servizio di backend:

gcloud compute forwarding-rules create STEERING_FORWARDING_RULE_BS \
    --load-balancing-scheme=EXTERNAL \
    --backend-service=BACKEND_SERVICE \
    --address=LOAD_BALANCER_VIP \
    --ip-protocol=IP_PROTOCOL \
    --ports=PORTS \
    --region=REGION \
    --source-ip-ranges=SOURCE_IP_ADDRESS_RANGES

Utilizza il seguente comando per creare una regola di inoltro di instradamento che indica un'istanza di destinazione:

gcloud compute forwarding-rules create STEERING_FORWARDING_RULE_TI \
    --load-balancing-scheme=EXTERNAL \
    --target-instance=TARGET_INSTANCE \
    --address=LOAD_BALANCER_VIP \
    --ip-protocol=IP_PROTOCOL \
    --ports=PORTS \
    --region=REGION \
    --source-ip-ranges=SOURCE_IP_ADDRESS_RANGES

Sostituisci i segnaposto con valori validi:

  • FORWARDING_RULE: il nome della regola di inoltro di orientamento che stai creando.
  • BACKEND_SERVICE o TARGET_INSTANCE: il nome del servizio di backend o dell'istanza di destinazione a cui questa regola di forwarding di orientamento invierà il traffico. Anche se la regola di forwarding principale rimanda a un servizio di backend, puoi creare regole di inoltro di orientamento che rimandano a istanze di destinazione.
  • LOAD_BALANCER_VIP, IP_PROTOCOL, PORTS: l'indirizzo IP, il protocollo IP e le porte, rispettivamente, per la regola di inoltro di orientamento che stai creando. Queste impostazioni devono corrispondere a una regola di forwarding di base preesistente.
  • REGION: la regione della regola di inoltro che stai creando.
  • SOURCE_IP_ADDRESS_RANGES: elenco di indirizzi IP o intervalli di indirizzi IP separati da virgole. Questa regola di forwarding inoltra il traffico solo quando l'indirizzo IP di origine del pacchetto in arrivo rientra in uno degli intervalli IP impostati qui.

Utilizza il seguente comando per eliminare una regola di inoltro di orientamento. Devi eliminare tutte le regole di inoltro di orientamento utilizzate da un bilanciatore del carico prima di poter eliminare il bilanciatore stesso.

gcloud compute forwarding-rules delete STEERING_FORWARDING_RULE \
    --region=REGION

Configura il criterio di failover

Per configurare il criterio di failover, consulta Configura il failover per i bilanciatori del carico di rete passthrough esterni.

Configura il bilanciamento del carico ponderato

Per configurare il bilanciamento del carico ponderato, consulta Configurare il bilanciamento del carico ponderato.

Creare una regola di forwarding IPv6 con BYOIP

Il bilanciatore del carico creato nei passaggi precedenti è stato configurato con le regole di inoltro con IP version come IPv4 o IPv6. Questa sezione fornisce istruzioni per creare una regola di forwarding IPv6 con indirizzi Bring Your Own IP (BYOIP).

La funzionalità Porta i tuoi indirizzi IP ti consente di eseguire il provisioning e utilizzare i tuoi indirizzi IPv6 pubblici per le risorse di Google Cloud . Per ulteriori informazioni, consulta Portare i tuoi indirizzi IP.

Prima di iniziare a configurare una regola di forwarding IPv6 con indirizzi BYOIP, devi completare i seguenti passaggi:

  1. Creare un prefisso IPv6 pubblicizzato
  2. Creare prefissi delegati pubblici
  3. Creare sottoprefissi IPv6
  4. Annuncia il prefisso

Per creare una nuova regola di forwarding:

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 da modificare.
  3. Fai clic su Modifica.
  4. Fai clic su Configurazione frontend.
  5. Fai clic su Aggiungi IP e porta frontend.
  6. Nella sezione Nuovi IP e porta frontend, specifica quanto segue:
    1. Il protocollo è TCP.
    2. Nel campo Versione IP, seleziona IPv6.
    3. Nel campo Origine dell'intervallo IPv6, seleziona BYOIP.
    4. Nell'elenco Raccolta IP, seleziona un sottoprefisso creato nei passaggi precedenti con l'opzione della regola di forwarding abilitata.
    5. Nel campo Intervallo IPv6, inserisci l'intervallo di indirizzi IPv6. L'intervallo di indirizzi IPv6 deve rispettare le specifiche dei prefisso IPv6.
    6. Nel campo Porte, inserisci un numero di porta.
    7. Fai clic su Fine.
  7. Fai clic su Aggiorna.

Google Cloud CLI

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

gcloud compute forwarding-rules create FWD_RULE_NAME \
    --load-balancing-scheme EXTERNAL \
    --ip-protocol PROTOCOL \
    --ports ALL \
    --ip-version IPV6 \
    --region REGION_A \
    --address IPV6_CIDR_RANGE  \
    --backend-service BACKEND_SERVICE \
    --ip-collection PDP_NAME

Sostituisci quanto segue:

  • FWD_RULE_NAME: il nome della regola di forwarding
  • PROTOCOL: il protocollo IP per la regola di forwarding. Il valore predefinito è TCP. Il protocollo IP può essere TCP, UDP o L3_DEFAULT.
  • REGION_A: regione per la regola di forwarding
  • IPV6_CIDR_RANGE: l'intervallo di indirizzi IPv6 a cui si applica la regola di forwarding. L'intervallo di indirizzi IPv6 deve rispettare le specifiche dei prefisso secondari IPv6.
  • BACKEND_SERVICE: il nome del servizio di backend
  • PDP_NAME: il nome del prefisso delegato pubblico. Il PDP deve essere un prefisso secondario nella modalità EXTERNAL_IPV6_FORWARDING_RULE_CREATION

Passaggi successivi