Convertire il bilanciatore del carico di rete proxy in IPv6

Questo documento mostra come convertire le risorse e i backend del bilanciatore del carico di rete proxy da solo IPv4 (stack singolo) a IPv4 e IPv6 (stack doppio). Il vantaggio principale dell'utilizzo di IPv6 è che al bilanciatore del carico può essere allocato un pool di indirizzi IP molto più grande. Puoi configurare il bilanciatore del carico in modo che termini il traffico IPv6 in entrata e lo invii ai backend tramite una connessione IPv4 o IPv6, in base alle tue preferenze. Per saperne di più, vedi IPv6 per bilanciatori del carico delle applicazioni e bilanciatori del carico di rete proxy.

In questo documento, solo IPv4 (stack singolo) si riferisce alle risorse che utilizzano solo indirizzi IPv4, mentre IPv4 e IPv6 (dual-stack) si riferisce alle risorse che utilizzano sia indirizzi IPv4 che IPv6.

Le istruzioni riportate in questo documento si applicano sia ai bilanciatori del carico di rete del proxy TCP che del proxy SSL.

Prima di iniziare

Prima di iniziare la procedura di conversione, tieni presente le seguenti condizioni:

  • Devi utilizzare uno dei seguenti tipi di bilanciatori del carico di rete proxy:

    • Bilanciatore del carico di rete proxy esterno globale
    • Bilanciatore del carico di rete proxy esterno regionale
    • Bilanciatore del carico di rete proxy interno tra regioni
    • Bilanciatore del carico di rete proxy interno regionale

    I bilanciatori del carico di rete proxy classici non supportano i backend o le subnet dual stack. Per saperne di più sul supporto IPv6, vedi IPv6 per bilanciatori del carico delle applicazioni e bilanciatori del carico di rete proxy.

  • Il bilanciatore del carico utilizza backend di gruppi di istanze VM o gruppi di endpoint di rete (NEG) di zona con endpoint GCE_VM_IP_PORT. Altri tipi di backend non supportano il doppio stack.

Inoltre, il processo di conversione varia in base al tipo di bilanciatore del carico.

  • Per i bilanciatori del carico di rete proxy esterni globali, converti i backend in doppio stack e crea una regola di forwarding IPv6 in grado di gestire il traffico IPv6 in entrata.

  • Per i bilanciatori del carico di rete proxy interno tra regioni, i bilanciatori del carico di rete proxy esterno regionali e i bilanciatori del carico di rete proxy interno regionali, converti solo i backend in dual-stack. Le regole di forwarding IPv6 non sono supportate per questi bilanciatori del carico.

Per informazioni su come configurare i bilanciatori del carico di rete proxy esterni globali, consulta la seguente documentazione:

Identificare le risorse da convertire

Prendi nota dei nomi delle risorse a cui è associato il bilanciatore del carico. Dovrai fornire questi nomi in un secondo momento.

  1. Per elencare tutte le subnet, utilizza il comando gcloud compute networks subnets list:

    gcloud compute networks subnets list
    

    Prendi nota del nome della subnet con stack solo IPv4 da convertire in doppio stack. Questo in seguito verrà chiamato SUBNET. La rete VPC in seguito verrà chiamata NETWORK.

  2. Per elencare tutti i servizi di backend, utilizza il comando gcloud compute backend-services list:

    gcloud compute backend-services list
    

    Prendi nota del nome del servizio di backend da convertire in dual-stack. Questo in seguito verrà chiamato BACKEND_SERVICE.

  3. Se hai già un bilanciatore del carico, per visualizzare il tipo di stack IP dei tuoi backend, utilizza il comando gcloud compute instances list:

    gcloud compute instances list \
        --format= \
        "table(
        name,
        zone.basename(),
        networkInterfaces[].stackType.notnull().list(),
        networkInterfaces[].ipv6AccessConfigs[0].externalIpv6.notnull().list():label=EXTERNAL_IPV6,
        networkInterfaces[].ipv6Address.notnull().list():label=INTERNAL_IPV6)"
    
  4. Per elencare tutte le istanze VM e i modelli di istanza, utilizza il comando gcloud compute instances list e il comando gcloud compute instance-templates list:

    gcloud compute instances list
    
    gcloud compute instance-templates list
    

    Prendi nota dei nomi delle istanze e dei modelli di istanza da convertire in dual-stack. Questo nome in seguito verrà chiamato VM_INSTANCE e INSTANCE_TEMPLATES.

  5. Per elencare tutti i gruppi di istanze, utilizza il comando gcloud compute instance-groups list:

    gcloud compute instance-groups list
    

    Prendi nota del nome dei gruppi di endpoint di rete da convertire in dual stack. Questo in seguito verrà chiamato INSTANCE_GROUP.

  6. Per elencare tutti i NEG zonali, utilizza il comando gcloud compute network-endpoint-groups list:

    gcloud compute network-endpoint-groups list
    

    Prendi nota del nome dei gruppi di endpoint di rete da convertire in dual stack. Questo in seguito verrà chiamato ZONAL_NEG.

  7. Per elencare tutti i proxy SSL di destinazione, utilizza il comando gcloud compute target-ssl-proxies list:

    gcloud compute target-ssl-proxies list
    

    Prendi nota del nome del proxy di destinazione associato al bilanciatore del carico. Questo in seguito verrà chiamato TARGET_PROXY.

  8. Per elencare tutti i proxy TCP di destinazione, utilizza il comando gcloud compute target-tcp-proxies list:

    gcloud compute target-tcp-proxies list
    

    Prendi nota del nome del proxy di destinazione associato al bilanciatore del carico. Questo in seguito verrà chiamato TARGET_PROXY.

Convertire i backend da stack singolo a doppio stack

Questa sezione mostra come convertire le risorse e i backend del bilanciatore del carico utilizzando indirizzi solo IPv4 (stack singolo) in indirizzi IPv4 e IPv6 (stack doppio).

Aggiorna la subnet

Le subnet a doppio stack sono supportate solo nelle reti VPC in modalità personalizzata. Le subnet dual stack non sono supportate nelle reti VPC in modalità automatica o nelle reti legacy. Sebbene le reti in modalità automatica possano essere utili per l'esplorazione iniziale, le reti VPC in modalità personalizzata sono più adatte alla maggior parte degli ambienti di produzione. Ti consigliamo di utilizzare i VPC in modalità personalizzata.

Per aggiornare il VPC all'impostazione dual-stack:

  1. Se utilizzi una rete VPC in modalità automatica, devi prima convertire la rete VPC dalla modalità automatica alla modalità personalizzata.

    Se utilizzi la rete default, devi convertirla in una rete VPC in modalità personalizzata.

  2. Per abilitare IPv6, consulta Modificare il tipo di stack di una subnet in doppio stack.

    Assicurati che il tipo di accesso IPv6 della subnet sia impostato su External.

  3. (Facoltativo) Se vuoi configurare intervalli di indirizzi IPv6 interni sulle subnet di questa rete, completa questi passaggi:

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

      Se selezioni Manualmente, inserisci un intervallo di /48 all'interno dell'intervallo fd20::/20. Se l'intervallo è in uso, ti viene chiesto di fornire un intervallo diverso.

Aggiorna la subnet solo proxy

Se utilizzi un bilanciatore del carico basato su Envoy, ti consigliamo di modificare il tipo di stack della subnet solo proxy in doppio stack. Per informazioni sui bilanciatori del carico che supportano le subnet solo proxy, consulta la sezione Bilanciatori del carico supportati.

Non puoi aggiornare il tipo di stack di una subnet solo proxy (purpose=REGIONAL_MANAGED_PROXY) nello stesso modo in cui faresti per una subnet normale (con subnets update command). Devi invece creare una subnet solo proxy di backup con un tipo di stack dual-stack e poi promuoverla al ruolo attivo. Questo perché può essere attiva una sola subnet solo proxy per regione, per rete VPC.

Dopo aver assegnato un intervallo IPv6 interno alla rete VPC, segui questi passaggi per modificare il tipo di stack della subnet solo proxy in doppio stack.

Console

  1. Crea una subnet solo proxy di backup nella stessa regione della subnet solo proxy attiva, specificando il tipo di stack IP come dual-stack.

    1. Nella console Google Cloud , vai alla pagina Reti VPC.
      Vai alla pagina Reti VPC
    2. Fai clic sul nome della rete VPC a cui vuoi aggiungere una subnet solo proxy.
    3. Fai clic su Aggiungi subnet.
    4. Inserisci un nome.
    5. Seleziona una regione.
    6. Per Scopo, seleziona Proxy gestito a livello di regione.
    7. In Ruolo, seleziona Backup.
    8. Per Tipo di stack IP, seleziona IPv4 e IPv6 (stack doppio).
    9. Inserisci un Intervallo di indirizzi IP.
    10. Fai clic su Aggiungi.
  2. Crea o modifica le regole firewall di autorizzazione in entrata che si applicano alle VM o agli endpoint di backend in modo che includano l'intervallo di indirizzi IP primario della subnet solo proxy di backup.

  3. Promuovi la subnet solo proxy di backup al ruolo attivo. Questa azione abbassa di livello anche la subnet solo proxy attiva in precedenza al ruolo di backup:

    1. Nella console Google Cloud , vai alla pagina Reti VPC.
      Vai alla pagina Reti VPC
    2. Fai clic sul nome della rete VPC che vuoi modificare.
    3. In Subnet solo proxy riservate per il bilanciamento del carico, individua la subnet di backup creata nel passaggio precedente.
    4. Fai clic su Attiva.
    5. Specifica un timeout di svuotamento facoltativo.
    6. Fai clic su Attiva la subnet.
  4. Dopo il timeout di svuotamento della connessione o dopo aver verificato che le connessioni alle VM o agli endpoint di backend non provengano dai proxy nella subnet solo proxy attiva in precedenza (ora di backup), puoi procedere nel seguente modo:

    • Modifica le regole firewall di autorizzazione in entrata che si applicano alle VM o agli endpoint di backend in modo che non includano l'intervallo di indirizzi IP primari della subnet solo proxy precedentemente attiva (ora di backup).
    • Elimina la subnet solo proxy attiva in precedenza (ora di backup) per rilasciare gli indirizzi IP che la subnet utilizzava per il suo intervallo di indirizzi IP primario.

gcloud

I seguenti passaggi presuppongono che tu disponga già di una subnet solo proxy attiva.

  1. Crea una subnet di backup solo proxy nella stessa regione, specificando un tipo di stack dual-stack (--stack-type=IPV4_IPV6), utilizzando il comando gcloud compute networks subnets create. Questa subnet è assegnata come backup con il flag --role=BACKUP.

    gcloud compute networks subnets create BACKUP_PROXY_ONLY_SUBNET_NAME \
      --purpose=REGIONAL_MANAGED_PROXY \
      --role=BACKUP \
      --region=REGION \
      --network=VPC_NETWORK_NAME \
      --range=BACKUP_PROXY_ONLY_SUBNET_RANGE \
      --stack-type=IPV4_IPV6
    

    Sostituisci quanto segue:

    • BACKUP_PROXY_ONLY_SUBNET_NAME: il nome della subnet di backup solo proxy appena creata
    • REGION: la regione della subnet solo proxy di backup appena creata. Deve essere la stessa regione della subnet proxy-only attiva corrente.
    • VPC_NETWORK_NAME: la rete della subnet solo proxy di backup appena creata. Deve essere la stessa rete della subnet solo proxy attiva corrente.
    • BACKUP_PROXY_ONLY_SUBNET_RANGE: l'intervallo CIDR della subnet solo proxy di backup appena creata
  2. Crea o modifica le regole firewall di autorizzazione in entrata che si applicano alle VM o agli endpoint di backend in modo che ora includano l'intervallo di indirizzi IP primario della subnet solo proxy di backup. La regola firewall deve già accettare le connessioni dalla subnet attiva.

    gcloud compute firewall-rules update PROXY_ONLY_SUBNET_FIREWALL_RULE \
      --source-ranges ACTIVE_PROXY_ONLY_SUBNET_RANGE,BACKUP_PROXY_ONLY_SUBNET_RANGE
    

    Sostituisci quanto segue:

    • PROXY_ONLY_SUBNET_FIREWALL_RULE: il nome della regola firewall che consente al traffico dalla subnet solo proxy di raggiungere le istanze o gli endpoint di backend
    • ACTIVE_PROXY_ONLY_SUBNET_RANGE: l'intervallo CIDR della subnet solo proxy attiva corrente
    • BACKUP_PROXY_ONLY_SUBNET_RANGE: l'intervallo CIDR della subnet solo proxy di backup
  3. Aggiorna la nuova subnet impostandola come subnet solo proxy ACTIVE nella regione e attendi lo svuotamento della subnet precedente. Inoltre, la subnet solo proxy attiva in precedenza viene declassata al ruolo di backup.

    Per svuotare immediatamente un intervallo di indirizzi IP, imposta --drain-timeout su 0s. In questo modo, tutte le connessioni ai proxy che hanno indirizzi assegnati nella subnet in esaurimento vengono interrotte immediatamente.

    gcloud compute networks subnets update BACKUP_PROXY_ONLY_SUBNET_NAME \
      --region=REGION \
      --role=ACTIVE \
      --drain-timeout=CONNECTION_DRAINING_TIMEOUT
    

    Sostituisci quanto segue:

    • BACKUP_PROXY_ONLY_SUBNET_NAME: il nome della subnet di backup solo proxy appena creata
    • REGION: la regione della subnet solo proxy di backup appena creata. Deve essere la stessa regione della subnet proxy-only attiva corrente.
    • CONNECTION_DRAINING_TIMEOUT: il periodo di tempo, in secondi, che Google Cloud utilizza per la migrazione delle connessioni esistenti dai proxy nella subnet solo proxy attiva in precedenza.
  4. Monitora lo stato dello svuotamento utilizzando un comando list o describe. Lo stato della subnet è DRAINING durante lo svuotamento.

    gcloud compute networks subnets list
    

    Attendi il completamento dello scaricamento. Quando la vecchia subnet solo proxy viene svuotata, lo stato della subnet è READY.

  5. Aggiorna la regola firewall della subnet solo proxy per consentire solo le connessioni dalla nuova subnet.

    gcloud compute firewall-rules PROXY_ONLY_SUBNET_FIREWALL_RULE \
      --source-ranges BACKUP_PROXY_ONLY_SUBNET_RANGE
    
  6. Dopo aver verificato che le connessioni alle VM o agli endpoint di backend non provengano dai proxy nella subnet solo proxy attiva in precedenza (ora di backup), puoi eliminare la vecchia subnet.

    gcloud compute networks subnets delete ACTIVE_PROXY_ONLY_SUBNET_NAME \
      --region=REGION
    

Aggiorna l'istanza VM o i modelli

Puoi configurare gli indirizzi IPv6 su un'istanza VM se nella subnet a cui è connessa la VM è configurato un intervallo IPv6. Solo i seguenti backend possono supportare gli indirizzi IPv6:

  • Backend del gruppo di istanze: uno o più backend del gruppo di istanze gestite, non gestite o una combinazione di backend del gruppo di istanze gestite e non gestite.
  • NEG a livello di zona: uno o più NEG a livello di zona di tipo GCE_VM_IP_PORT.

Aggiorna le istanze VM

Non puoi modificare le istanze VM che fanno parte di un gruppo di istanze gestite o non gestite. Per aggiornare le istanze VM al dual stack:

  1. Eliminare istanze specifiche da un gruppo
  2. Crea una VM a doppio stack
  3. Crea istanze con nomi specifici nei MIG

Aggiorna i modelli di istanze VM

Non puoi aggiornare un template di istanza esistente. Se devi apportare modifiche, puoi creare un altro modello con proprietà simili. Per aggiornare i modelli di istanze VM a doppio stack:

Console

  1. Nella console Google Cloud , vai alla pagina Template di istanza.

    Vai a Modelli di istanza

    1. Fai clic sul template di istanza da copiare e aggiornare.
    2. Fai clic su Crea simile.
    3. Espandi la sezione Opzioni avanzate.
    4. In Tag di rete, inserisci allow-health-check-ipv6.
    5. Nella sezione Interfacce di rete, fai clic su Aggiungi un'interfaccia di rete.
    6. Nell'elenco Rete, seleziona la rete VPC in modalità personalizzata.
    7. Nell'elenco Subnet, seleziona SUBNET.
    8. Per Tipo di stack IP, seleziona IPv4 e IPv6 (stack doppio).
    9. Fai clic su Crea.
  2. Avvio di un aggiornamento in sequenza di base sul gruppo di istanze gestite MIG associato al bilanciatore del carico.

Aggiorna il NEG a livello di zona

Non è possibile modificare gli endpoint NEG di zona. Devi eliminare gli endpoint IPv4 e creare un nuovo endpoint a doppio stack con indirizzi IPv4 e IPv6.

Per configurare un NEG zonale (con endpoint di tipo GCE_VM_IP_PORT) nella regione REGION_A, crea prima le VM nella zona GCP_NEG_ZONE. Poi aggiungi gli endpoint di rete VM al NEG di zona.

Crea VM

Console

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

    Vai a Istanze VM

  2. Fai clic su Crea istanza.

  3. Imposta Nome su vm-a1.

  4. Per Regione, scegli REGION_A e scegli un valore qualsiasi per il campo Zona. Questa zona viene chiamata GCP_NEG_ZONE in questa procedura.

  5. Nella sezione Disco di avvio, assicurati che per le opzioni del disco di avvio sia selezionata l'opzione Debian GNU/Linux 12 (bookworm). Fai clic su Scegli per modificare l'immagine, se necessario.

  6. Espandi la sezione Opzioni avanzate e apporta le seguenti modifiche:

    • Espandi la sezione Networking.
    • Nel campo Tag di rete, inserisci allow-health-check.
    • Nella sezione Interfacce di rete, apporta le seguenti modifiche:
      • Rete: NETWORK
      • Subnet: SUBNET
      • Tipo di stack IP: IPv4 e IPv6 (stack doppio)
    • Fai clic su Fine.
    • Fai clic su Gestione. Nel campo Script di avvio, copia e incolla i seguenti contenuti dello 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
      
  7. Fai clic su Crea.

  8. Ripeti i seguenti passaggi 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 il seguente comando due volte, utilizzando queste combinazioni per il nome della VM e la relativa zona. I contenuti dello script sono identici per entrambe le VM.

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

    gcloud compute instances create VM_NAME \
        --zone=GCP_NEG_ZONE \
        --stack-type=IPV4_IPV6 \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-health-check \
        --subnet=SUBNET \
        --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'
    

Aggiungi endpoint al NEG a livello di zona

Console

Per aggiungere endpoint al NEG zonale:

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

    Vai a Gruppi di endpoint di rete

  2. Nell'elenco Nome, fai clic sul nome del gruppo di endpoint di rete (ZONAL_NEG). Viene visualizzata la pagina Dettagli gruppo di endpoint di rete.

  3. Nella sezione Endpoint di rete in questo gruppo, seleziona l'endpoint NEG creato in precedenza. Fai clic su Rimuovi endpoint.

  4. Nella sezione Endpoint di rete in questo gruppo, fai clic su Aggiungi endpoint di rete.

  5. Seleziona l'istanza VM.

  6. Nella sezione Interfaccia di rete vengono visualizzati il nome, la zona e la subnet della VM.

  7. Nel campo Indirizzo IPv4, inserisci l'indirizzo IPv4 del nuovo endpoint di rete.

  8. Nel campo Indirizzo IPv6, inserisci l'indirizzo IPv6 del nuovo endpoint di rete.

  9. Seleziona il Tipo di porta.

    1. Se selezioni Predefinito, l'endpoint utilizza la porta predefinita 80 per tutti gli endpoint nel gruppo di endpoint di rete. Questo è 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.
  10. Per aggiungere altri endpoint, fai clic su Aggiungi endpoint di rete e ripeti i passaggi precedenti.

  11. Dopo aver aggiunto tutti gli endpoint, fai clic su Crea.

gcloud

  1. Aggiungi endpoint (GCE_VM_IP_PORT endpoint) a ZONAL_NEG.

    gcloud compute network-endpoint-groups update ZONAL_NEG \
        --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'
    

Sostituisci quanto segue:

IPv4_ADDRESS: Indirizzo IPv4 dell'endpoint di rete. L'indirizzo IPv4 deve appartenere a una VM in Compute Engine (l'IP principale o parte di un intervallo IP alias). Se l'indirizzo IP non è specificato, viene utilizzato l'indirizzo IP principale per l'istanza VM nella rete a cui appartiene il gruppo di endpoint di rete.

IPv6_ADDRESS: Indirizzo IPv6 dell'endpoint di rete. L'indirizzo IPv6 deve appartenere a un'istanza VM nella rete a cui appartiene il gruppo di endpoint di rete (indirizzo IPv6 esterno).

Crea una regola firewall per i probe del controllo di integrità IPv6

Devi creare una regola firewall per consentire i controlli di integrità dagli intervalli IP dei sistemi di probe Google Cloud . Per saperne di più, consulta Intervalli IP probe.

Assicurati che la regola in entrata sia applicabile alle istanze sottoposte a bilanciamento del carico e che consenta il traffico dai sistemi di controllo di integrità Google Cloud . Questo esempio utilizza il tag di destinazione allow-health-check-ipv6 per identificare le istanze VM a cui si applica.

Senza questa regola firewall, la regola default-deny per il traffico in entrata blocca il traffico IPv6 in entrata verso le istanze di backend.

Console

  1. Nella console Google Cloud , vai alla pagina Policy del firewall.

    Vai a Criteri firewall

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

    • Nome: fw-allow-lb-access-ipv6
    • Rete: NETWORK
    • Priorità: 1000
    • Direzione del traffico: in entrata
    • Target: Tag di destinazione specificati
    • Tag di destinazione: allow-health-check-ipv6
    • Filtro di origine: intervalli IPv6
    • Intervalli IPv6 di origine:

      • Per il bilanciatore del carico delle applicazioni esterno globale e il bilanciatore del carico di rete proxy esterno globale, inserisci 2600:2d00:1:b029::/64,2600:2d00:1:1::/64

      • Per il bilanciatore del carico delle applicazioni interno tra regioni, il bilanciatore del carico delle applicazioni esterno regionale, il bilanciatore del carico delle applicazioni interno regionale, il bilanciatore del carico di rete proxy interno tra regioni, il bilanciatore del carico di rete proxy esterno regionale e il bilanciatore del carico di rete proxy interno regionale, inserisci 2600:2d00:1:b029::/64

    • Protocolli e porte: Consenti tutto

  3. Fai clic su Crea.

gcloud

  1. Crea la regola firewall fw-allow-lb-access-ipv6 per consentire la comunicazione con la subnet.

    Per il bilanciatore del carico delle applicazioni esterno globale e il bilanciatore del carico di rete proxy esterno globale, utilizza il seguente comando:

    gcloud compute firewall-rules create fw-allow-lb-access-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=all
    

    Per il bilanciatore del carico delle applicazioni interno tra regioni, il bilanciatore del carico delle applicazioni esterno regionale, il bilanciatore del carico delle applicazioni interno regionale, il bilanciatore del carico di rete proxy interno tra regioni, il bilanciatore del carico di rete proxy esterno regionale e il bilanciatore del carico di rete proxy interno regionale, utilizza il seguente comando:

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

Crea una regola firewall per la subnet solo proxy

Se utilizzi un bilanciatore del carico di rete proxy esterno regionale o un bilanciatore del carico di rete proxy interno, devi aggiornare la regola firewall in entrata fw-allow-lb-access-ipv6 per consentire il traffico dalla subnet solo proxy ai backend.

Per ottenere l'intervallo di indirizzi IPv6 della subnet solo proxy, esegui questo comando:

gcloud compute networks subnets describe PROXY_ONLY_SUBNET \
    --region=REGION \
    --format="value(internalIpv6Prefix)"

Prendi nota dell'intervallo di indirizzi IPv6 interno. Questo intervallo viene indicato in un secondo momento come IPV6_PROXY_ONLY_SUBNET_RANGE.

Per aggiornare la regola firewall fw-allow-lb-access-ipv6 per la subnet solo proxy, procedi nel seguente modo:

Console

  1. Nella console Google Cloud , vai alla pagina Policy del firewall.

    Vai a Criteri firewall

  2. Nel riquadro Regole firewall VPC, fai clic su fw-allow-lb-access-ipv6.

    • Intervalli IPv6 di origine: 2600:2d00:1:b029::/64, IPV6_PROXY_ONLY_SUBNET_RANGE
  3. Fai clic su Salva.

gcloud

  1. Aggiorna la regola firewall fw-allow-lb-access-ipv6 per consentire la comunicazione con la subnet solo proxy:

    gcloud compute firewall-rules update fw-allow-lb-access-ipv6 \
        --source-ranges=2600:2d00:1:b029::/64,IPV6_PROXY_ONLY_SUBNET_RANGE
    

Aggiorna il servizio di backend e crea una regola di forwarding IPv6

Questa sezione fornisce istruzioni per aggiornare il servizio di backend con backend dual-stack e creare una regola di forwarding IPv6.

Tieni presente che la regola di forwarding IPv6 può essere creata solo per i bilanciatori del carico di rete proxy esterni globali. Le regole di forwarding IPv6 non sono supportate per i bilanciatori del carico di rete proxy interni tra regioni, i bilanciatori del carico di rete proxy esterni regionali e i bilanciatori del carico di rete proxy interni regionali.

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.

  3. Fai clic su Modifica.

Configura il servizio di backend per IPv6

  1. Fai clic su Configurazione backend.
  2. In Tipo di backend, seleziona Gruppo di endpoint di rete a livello di zona.
  3. Nell'elenco Criterio di selezione degli indirizzi IP, seleziona Preferisci IPv6.
  4. Nel campo Protocollo:
    • Per il proxy TCP, seleziona TCP.
    • Per il proxy SSL, seleziona SSL.
  5. Per i NEG a livello di zona:
    1. Nella sezione Backend, fai clic su Aggiungi un backend.
    2. Nel riquadro Nuovo backend:
      • Nell'elenco Gruppo di endpoint di rete, seleziona ZONAL_NEG.
      • Nel campo Numero massimo di connessioni, inserisci 10.
  6. Per i gruppi di istanze: se hai già aggiornato l'istanza VM o i modelli a dual stack, non è necessario aggiornarli.
  7. Fai clic su Fine.
  8. Nell'elenco Controllo di integrità, seleziona un controllo di integrità HTTP.

Configura la regola di forwarding IPv6

Le regole di forwarding IPv6 non sono supportate per i bilanciatori del carico di rete proxy interni tra regioni, i bilanciatori del carico di rete proxy esterni regionali e i bilanciatori del carico di rete proxy interni regionali.

  1. Fai clic su Configurazione frontend.
  2. Fai clic su Aggiungi IP e porta frontend.
  3. Nel campo Nome, inserisci un nome per la regola di forwarding.
  4. Nel campo Protocollo:
    • Per il proxy TCP, seleziona TCP.
    • Per il proxy SSL, seleziona SSL.
  5. Imposta Versione IP su IPv6.
  6. Per il proxy SSL, seleziona un certificato nell'elenco Certificati.
  7. Fai clic su Fine.
  8. Fai clic su Aggiorna.

gcloud

  1. Aggiungi i NEG di zona dual-stack come backend al servizio di backend.

    globale

    Per il bilanciatore del carico di rete proxy esterno globale, utilizza il comando:

     gcloud compute backend-services add-backend BACKEND_SERVICE \
         --network-endpoint-group=ZONAL_NEG \
         --max-rate-per-endpoint=10 \
         --global
    

    tra regioni

    Per il bilanciatore del carico di rete proxy interno tra regioni, utilizza il comando:

     gcloud compute backend-services add-backend BACKEND_SERVICE \
         --network-endpoint-group=ZONAL_NEG \
         --max-rate-per-endpoint=10 \
         --global
    

    regionale

    Per il bilanciatore del carico di rete proxy esterno regionale e il bilanciatore del carico di rete proxy interno regionale, utilizza il comando:

     gcloud compute backend-services add-backend BACKEND_SERVICE \
         --network-endpoint-group=ZONAL_NEG \
         --max-rate-per-endpoint=10 \
         --region=REGION
    
  2. Aggiungi il gruppo di istanze dual-stack come backend del servizio di backend. Poiché hai già aggiornato l'istanza VM o i modelli a dual stack, non è necessario intervenire ulteriormente.

  3. Solo per i bilanciatori del carico di rete proxy esterni globali. Per creare la regola di forwarding IPv6 per il bilanciatore del carico di rete proxy esterno globale con un proxy SSL di destinazione, utilizza questo comando:

    gcloud compute forwarding-rules create FORWARDING_RULE_IPV6 \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --network-tier=PREMIUM \
       --address=lb-ipv6-1 \
       --global \
       --target-ssl-proxy=TARGET_PROXY \
       --ports=80
    

    Per creare la regola di forwarding IPv6 per il bilanciatore del carico di rete proxy esterno globale con un proxy TCP di destinazione, utilizza questo comando:

    gcloud compute forwarding-rules create FORWARDING_RULE_IPV6 \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --network-tier=PREMIUM \
       --global \
       --target-tcp-proxy=TARGET_PROXY \
       --ports=80
    

Configura il criterio di selezione degli indirizzi IP

Questo passaggio è facoltativo. Dopo aver convertito le risorse e i backend in dual-stack, puoi utilizzare il criterio di selezione dell'indirizzo IP per specificare il tipo di traffico inviato dal servizio di backend ai tuoi backend.

Sostituisci IP_ADDRESS_SELECTION_POLICY con uno dei seguenti valori:

Policy di selezione degli indirizzi IP Descrizione
Solo IPv4 Invia solo traffico IPv4 ai backend del servizio di backend, indipendentemente dal traffico dal client al GFE. Per controllare l'integrità dei backend vengono utilizzati solo i controlli di integrità IPv4.
Preferisci IPv6

Dai la priorità alla connessione IPv6 del backend rispetto alla connessione IPv4 (a condizione che esista un backend integro con indirizzi IPv6).

I controlli di integrità monitorano periodicamente le connessioni IPv6 e IPv4 dei backend. GFE tenta prima la connessione IPv6; se la connessione IPv6 è interrotta o lenta, GFE utilizza happy eyeballs per eseguire il failover e connettersi a IPv4.

Anche se una delle connessioni IPv6 o IPv4 non è integra, il backend viene comunque considerato integro ed entrambe le connessioni possono essere provate dal GFE, con happy eyeballs che alla fine seleziona quella da utilizzare.

Solo IPv6

Invia solo traffico IPv6 ai backend del servizio di backend, indipendentemente dal traffico dal client al proxy. Per controllare l'integrità dei backend vengono utilizzati solo i controlli di integrità IPv6.

Non è presente alcuna convalida per verificare se il tipo di traffico di backend corrisponde al criterio di selezione degli indirizzi IP. Ad esempio, se hai backend solo IPv4 e selezioni Only IPv6 come criterio di selezione dell'indirizzo IP, la configurazione comporta backend non integri perché il traffico non riesce a raggiungere questi backend e il codice di risposta HTTP 503 viene restituito ai client.

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.

  3. Fai clic su Modifica.

  4. Fai clic su Configurazione backend.

  5. Nel campo Servizio di backend, seleziona BACKEND_SERVICE.

  6. Il Tipo di backend deve essere Gruppo di endpoint di rete a livello di zona o Gruppo di istanze.

  7. Nell'elenco Criterio di selezione degli indirizzi IP, seleziona IP_ADDRESS_SELECTION_POLICY.

  8. Fai clic su Fine.

gcloud

Aggiorna la policy di selezione degli indirizzi IP per il servizio di backend:

globale

Per il bilanciatore del carico di rete proxy esterno globale, utilizza il comando:

gcloud compute backend-services update BACKEND_SERVICE_IPV6 \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=SSL | TCP \
    --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \
    --global

tra regioni

Per il bilanciatore del carico di rete proxy interno tra regioni, utilizza il comando:

gcloud compute backend-services update BACKEND_SERVICE_IPV6 \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --protocol=TCP \
    --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \
    --global

regionale

Per il bilanciatore del carico di rete proxy esterno regionale, utilizza il comando:

gcloud compute backend-services update BACKEND_SERVICE_IPV6 \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=TCP \
    --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \
    --region=REGION

Per il bilanciatore del carico di rete proxy interno regionale, utilizza il comando:

gcloud compute backend-services update BACKEND_SERVICE_IPV6 \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --protocol=TCP \
    --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \
    --region=REGION

Testa il bilanciatore del carico

Devi verificare che tutte le risorse richieste siano aggiornate al doppio stack. Dopo aver aggiornato tutte le risorse, il traffico deve fluire automaticamente verso i backend. Puoi controllare i log e verificare che la conversione sia stata completata.

Testa il bilanciatore del carico per verificare che la conversione sia riuscita e che il traffico in entrata raggiunga i backend come previsto.

Cerca gli indirizzi IP del bilanciatore del carico

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.

  3. Nella sezione Frontend vengono visualizzati due indirizzi IP del bilanciatore del carico. In questa procedura, l'indirizzo IPv4 è indicato come IP_ADDRESS_IPV4 e l'indirizzo IPv6 è indicato come IP_ADDRESS_IPV6.

  4. Nella sezione Backend, quando il criterio di selezione dell'indirizzo IP è Prefer IPv6, vengono visualizzati due stati del controllo di integrità per i backend.

Invia traffico al bilanciatore del carico

In questo esempio, le richieste del comando curl vengono distribuite in modo casuale ai backend.

Per i bilanciatori del carico esterni

  1. Ripeti i seguenti comandi alcune volte finché non vedrai tutte le VM di backend rispondere:

    curl -m1 IP_ADDRESS_IPV4:PORT
    
    curl -m1 IP_ADDRESS_IPV6:PORT
    

    Ad esempio, se l'indirizzo IPv6 è [fd20:1db0:b882:802:0:46:0:0]:80, il comando è simile a questo:

    curl -m1 [fd20:1db0:b882:802:0:46:0:0]:80
    

Per i bilanciatori del carico interni

  1. Crea una VM client di test nella stessa rete VPC e regione del bilanciatore del carico. Non è necessario che si trovi nella stessa subnet o zona.

    gcloud compute instances create client-vm \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh \
        --subnet=SUBNET
    
  2. Utilizza SSH per connetterti all'istanza client.

    gcloud compute ssh client-vm \
       --zone=ZONE
    
  3. Ripeti i seguenti comandi alcune volte finché non vedrai tutte le VM di backend rispondere:

    curl -m1 IP_ADDRESS_IPV4:PORT
    
    curl -m1 IP_ADDRESS_IPV6:PORT
    

    Ad esempio, se l'indirizzo IPv6 è [fd20:1db0:b882:802:0:46:0:0]:80, il comando è simile a questo:

    curl -m1 [fd20:1db0:b882:802:0:46:0:0]:80
    

Controllare i log

Ogni voce di log acquisisce l'indirizzo IPv4 e IPv6 di destinazione per il backend. Poiché supportiamo il doppio stack, è importante osservare l'indirizzo IP utilizzato dal backend.

Puoi verificare che il traffico venga indirizzato a IPv6 o che venga eseguito il failback a IPv4 visualizzando i log.

I log contengono l'indirizzo backend_ip associato al backend. Esaminando i log e confrontando l'indirizzo IPv4 o IPv6 di destinazione di backend_ip, puoi confermare quale indirizzo IP viene utilizzato.