Converti il bilanciatore del carico delle applicazioni in IPv6

Questo documento mostra come convertire il bilanciatore del carico delle applicazioni di risorse e backend da solo IPv4 (stack singolo) a IPv4 e IPv6 (stack doppio). In questo documento, solo IPv4 (stack singolo) si riferisce alle risorse che utilizzano solo indirizzi IPv4 e IPv4 e IPv6 (stack doppio) si riferisce alle risorse che utilizzano sia indirizzi IPv4 che IPv6.

Vantaggi

La conversione dei bilanciatori del carico in stack doppio offre diversi vantaggi:

  • Il vantaggio principale di IPv6 è che un pool di indirizzi IP molto più grande sono state assegnate.

  • Molti clienti che utilizzano già bilanciatori del carico solo IPv4 possono convertire dalle risorse solo IPv4 alle risorse IPv4 e IPv6 (stack doppio) sfruttare metodi specifici per il cloud.

  • Puoi configurare il bilanciatore del carico per terminare il traffico IPv6 in entrata puoi inviare questo traffico tramite proxy ai tuoi backend tramite IPv4 o IPv6, in base la tua preferenza. Per ulteriori informazioni, vedi IPv6.

Limitazioni

  • Non puoi aggiornare il tipo di stack IP di una subnet da Solo da IPv4 e da IPv6 (stack doppio) a IPv4.

  • Quando configuri il criterio di selezione dell'indirizzo IP sul servizio di backend come Solo IPv6, puoi comunque configurare backend solo IPv4. Tuttavia, un la configurazione causa backend in stato non integro, i client ricevono il codice di risposta 503, e il traffico non sale a monte. I log mostrano failed_to_pick_backend in statusDetails dei messaggi di errore HTTP.

  • Puoi configurare il criterio di selezione degli indirizzi IP del servizio di backend per Solo IPv6, ma il tipo di stack IP dei backend è sempre IPv4 e IPv6 (stack doppio).

  • Solo backend di gruppi di istanze VM e gruppo di endpoint di rete (NEG) di zona con GCE_VM_IP_PORT endpoint supporta IPv4 e IPv6 (stack doppio).

  • Bilanciatori del carico delle applicazioni interni tra regioni, bilanciatori del carico delle applicazioni esterni regionali e I bilanciatori del carico delle applicazioni interni regionali non supportano le regole di forwarding con IPv6. In entrata Il traffico IPv4 viene inviato tramite proxy a backend a doppio stack tramite una connessione IPv4 o IPv6.

  • I bilanciatori del carico delle applicazioni classici non supportano i backend a doppio stack. Il bilanciatore del carico termina il traffico IPv6 in entrata ricevuto dai client IPv6 e trasferire questo traffico tramite la connessione IPv4 ai tuoi backend IPv4.

Prima di iniziare

Devi aver già configurato un bilanciatore del carico delle applicazioni con stack solo IPv4 con un gruppo di istanze o backend NEG a livello di zona.

Per saperne di più su come configurare i bilanciatori del carico delle applicazioni esterni globali, consulta le documentazione seguente:

Per saperne di più su come configurare i bilanciatori del carico delle applicazioni esterni regionali, consulta le documentazione seguente:

Per saperne di più su come configurare i bilanciatori del carico delle applicazioni interni tra regioni, consulta documentazione seguente:

Per saperne di più su come configurare i bilanciatori del carico delle applicazioni interni regionali, consulta le documentazione seguente:

Identifica le risorse da convertire

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

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

    gcloud compute networks subnets list
    

    Prendi nota del nome della subnet con indirizzi solo IPv4 da convertire in doppio stack. Questo nome sarà indicato in seguito come SUBNET. La rete VPC verrà definita più avanti come NETWORK.

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

    gcloud beta compute backend-services list
    

    Prendi nota del nome del servizio di backend da convertire in dual stack. Questo nome sarà indicato in seguito come BACKEND_SERVICE.

  3. Per elencare tutte le mappe URL, utilizza la classe Comando gcloud beta compute url-maps list:

    gcloud beta compute url-maps list
    

    Prendi nota del nome della mappa URL associata al tuo bilanciatore del carico. Questo nome sarà indicato in seguito come URL_MAP.

  4. Se hai già un bilanciatore del carico, per visualizzare il tipo di stack IP del tuo utilizza 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)"
    
  5. Per elencare tutte le istanze VM e tutti i modelli di istanza, utilizza 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 stack doppio. Questo nome sarà chiamato in seguito VM_INSTANCE e INSTANCE_TEMPLATES.

  6. Per elencare tutti i gruppi di endpoint di rete (NEG) a livello di zona, utilizza Comando gcloud compute network-endpoint-groups list:

    gcloud compute network-endpoint-groups list
    

    Prendi nota dei nomi dei backend NEG a livello di zona da convertire al dual stack. Questo nome sarà indicato in seguito come ZONAL_NEG.

  7. Per elencare tutti i proxy di destinazione, utilizza la classe Comando gcloud compute target-http-proxies list:

    gcloud compute target-http-proxies list
    

    Prendi nota del nome del proxy di destinazione associato al bilanciatore del carico. Questo nome sarà indicato in seguito come TARGET_PROXY.

Converti da backend a stack singolo a backend a doppio stack

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

Aggiorna la subnet

Le subnet a doppio stack sono supportate sulle reti VPC in modalità personalizzata . Le subnet a doppio stack non sono supportate nel VPC in modalità automatica reti o reti legacy. Sebbene le reti in modalità automatica possano essere utili di esplorazione, i VPC in modalità personalizzata sono più adatti ambienti di produzione. Ti consigliamo di utilizzare i VPC in modalità personalizzata.

Per aggiornare il VPC all'impostazione a doppio stack:

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

  2. Per attivare IPv6, consulta Cambiare il tipo di stack di una subnet in doppio stack.

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

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

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

Aggiorna la subnet solo proxy

Se utilizzi un bilanciatore del carico basato su Envoy, ti consigliamo di cambiare il tipo di stack di subnet solo proxy impostandolo su doppio stack. Per informazioni su Per i bilanciatori del carico che supportano subnet solo proxy, vedi Bilanciatori del carico supportati.

Per cambiare il tipo di stack della subnet solo proxy in doppio stack:

Console

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

    Vai alle reti VPC

  2. Fai clic sul nome di una rete per visualizzare la pagina Dettagli rete VPC.

  3. Fai clic sulla scheda Subnet.

  4. Nella sezione Subnet solo proxy riservate per il bilanciamento del carico, fai clic su il nome della subnet solo proxy che vuoi modificare.

  5. Nella pagina Dettagli subnet, fai clic su Modifica.

  6. Per Tipo di stack IP, seleziona IPv4 e IPv6 (stack doppio). Il Tipo di accesso IPv6 è Interno.

  7. Fai clic su Salva.

gcloud

Utilizza la Comando subnets update.

gcloud compute networks subnets update PROXY_ONLY_SUBNET \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=INTERNAL \
    --region=REGION

Sostituisci quanto segue:

  • PROXY_ONLY_SUBNET: il nome della subnet solo proxy.
  • REGION: la regione della subnet.
  • IPv6_ACCESS_TYPE: il tipo di accesso IPv6 della subnet è INTERNAL.

Aggiorna l'istanza o i modelli VM

Puoi configurare indirizzi IPv6 su un'istanza VM se la subnet alla quale è connessa la VM ha un intervallo IPv6 configurato. Solo i seguenti backend possono supportare indirizzi IPv6:

  • Backend di gruppi di istanze: uno o più gestiti, non gestiti o di backend di gruppi di istanze gestite e non gestite.
  • NEG a livello di zona: uno o più di tipo GCE_VM_IP_PORT a livello di zona NEG.

Aggiorna istanze VM

Non puoi modificare istanze VM che fanno parte di un ambiente gestito o non gestito gruppo di istanze gestite. Per aggiornare le istanze VM a stack doppio:

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

Aggiorna modelli di istanza VM

Non puoi aggiornare un modello di istanza esistente. Se devi apportare modifiche, puoi creare un altro modello con proprietà simili. Per aggiornare i modelli di istanza VM in modo che sia a doppio stack, segui questi passaggi:

Console

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

    Vai a Modelli di istanza

    1. Fai clic sul modello di istanza che vuoi 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 il VPC in modalità personalizzata in ogni rete.
    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 sull'istanza gestita gruppo MIG associato al bilanciatore del carico.

Aggiorna il NEG a livello di zona

Impossibile 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 a livello di zona (con endpoint di tipo GCE_VM_IP_PORT) nella regione REGION_A, crea prima le VM la zona GCP_NEG_ZONE. Poi aggiungi gli endpoint della 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 il Nome su vm-a1.

  4. In corrispondenza di Regione, scegli REGION_A e qualsiasi valore per il campo Zone. Questa zona è denominata GCP_NEG_ZONE in questa procedura.

  5. Nella sezione Disco di avvio, assicurati che Per il disco di avvio è selezionata l'opzione Debian GNU/Linux 12 (bookworm) le opzioni di CPU e memoria disponibili. 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 passaggi seguenti per creare una seconda VM, utilizzando quanto segue: 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 della sua zona. La i contenuti dello script sono identici per entrambe le VM.

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

    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 a livello di zona:

  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 il token precedente creato l'endpoint NEG. Fai clic su Rimuovi endpoint.

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

  5. Seleziona l'istanza VM.

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

  7. Nel campo Indirizzo IPv4, inserisci l'indirizzo IPv4 della nuova rete endpoint.

  8. Nel campo Indirizzo IPv6, inserisci l'indirizzo IPv6 della nuova rete endpoint.

  9. 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. È sufficiente del nostro esempio, perché il server Apache gestisce le richieste porta 80.
    2. Se selezioni Personalizzato, inserisci il Numero di porta per l'endpoint per l'utilizzo.
  10. Per aggiungere altri endpoint, fai clic su Aggiungi endpoint di rete e ripeti il comando 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'IPv4 deve appartenere a una VM in Compute Engine (l'IP principale o come parte di un intervallo IP con alias). Se l'indirizzo IP non è specificato, viene utilizzato l'indirizzo IP principale della VM nella rete a cui appartiene il gruppo di endpoint di rete.

IPv6_ADDRESS: Indirizzo IPv6 dell'endpoint di rete. Il protocollo IPv6 deve appartenere a un'istanza VM nella rete che l'endpoint di rete gruppo appartiene (indirizzo IPv6 esterno).

Crea una regola firewall per il controllo di integrità IPv6

Assicurati di avere una regola in entrata applicabile alle istanze il bilanciamento del carico consenta il traffico proveniente dall'integrità di Google Cloud sistemi di controllo (2600:2d00:1:b029::/64). Questo esempio utilizza il tag di destinazione allow-health-check-ipv6 per identificare le istanze VM ai quali si applica.

Senza questa regola firewall, il campo di blocco predefinito La regola in entrata blocca l'IPv6 in entrata alle istanze di backend.

Console

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

    Vai a Criteri firewall

  2. Per consentire il traffico della 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: ingress
    • 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, bilanciatore del carico delle applicazioni interno regionale, bilanciatore del carico di rete proxy interno tra regioni, Network Load Balancer proxy esterno regionale e Network Load Balancer 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 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, bilanciatore del carico delle applicazioni interno regionale, 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 questo 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
    

Aggiungi una regola firewall di subnet solo proxy

Se utilizzi un bilanciatore del carico basato su Envoy, devi aggiornare il traffico in entrata regola firewall fw-allow-lb-access-ipv6 per consentire il traffico solo dal proxy una subnet ai backend.

Per recuperare internalIpv6Prefix dalla subnet solo proxy, esegui seguente comando:

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

Prendi nota dell'indirizzo IPv6 interno, chiamato in seguito come IPv6_PROXY.

Per aggiornare la regola firewall fw-allow-lb-access-ipv6 per la subnet solo proxy, esegui le seguenti:

Console

  1. Nella console Google Cloud, vai alla pagina Criteri 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
  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,2600:2d00:1:1::/64,
          IPv6_PROXY \
    

Crea un nuovo servizio di backend e una regola di forwarding per IPv6

Questa sezione descrive la procedura per creare un nuovo servizio di backend e un una regola di forwarding per IPv6.

Sia BACKEND_SERVICE che BACKEND_SERVICE_IPV6 sono in grado di gestire traffico. Per evitare interruzioni del traffico, crea un nuovo servizio di backend con l'indirizzo IP criterio di selezione impostato su Prefer IPv6. Dopo aver creato il nuovo servizio di backend, puoi indirizzare il traffico al nuovo servizio di backend IPv6.

La regola di forwarding con IPv6 può essere creata solo per gli Application Load Balancer esterni globali. La regola di forwarding con IPv6 non è supportata per i bilanciatori del carico delle applicazioni interni tra regioni. Bilanciatori del carico delle applicazioni esterni regionali e bilanciatori del carico delle applicazioni 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:

  1. Fai clic su Configurazione backend.
  2. Nel campo Servizio di backend, seleziona Crea un servizio di backend.
  3. Imposta BACKEND_SERVICE_IPV6 come Nome.
  4. Per Tipo di backend, seleziona Gruppo di endpoint di rete a livello di zona.
  5. Nell'elenco Criterio di selezione degli indirizzi IP, seleziona Preferenza IPv6.
  6. Nel campo Protocollo, seleziona HTTP.
  7. Nel riquadro Nuovo backend, segui questi passaggi:
      .
    1. Nell'elenco del gruppo di endpoint di rete, seleziona ZONAL_NEG.
    2. In Numero massimo di RPS, inserisci 10.
  8. Nell'elenco Controllo di integrità, seleziona un controllo di integrità HTTP.
  9. Fai clic su Fine.

Configura il frontend IPv6:

La regola di forwarding con IPv6 non è supportata per i bilanciatori del carico delle applicazioni interni tra regioni. Bilanciatori del carico delle applicazioni esterni regionali e bilanciatori del carico delle applicazioni 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, seleziona HTTP.
  5. Imposta Versione IP su IPv6.
  6. Fai clic su Fine.
  7. Fai clic su Aggiorna.

Configura le regole di routing

  1. Fai clic su Regole di routing.
  2. Fai clic su Regola host e percorso avanzata.
  3. Fai clic su Aggiorna.

gcloud

  1. Crea un controllo di integrità:

    gcloud compute health-checks create http HEALTH_CHECK \
       --port 80
    
  2. Crea il servizio di backend per il traffico HTTP:

    globale

    Per il bilanciatore del carico delle applicazioni esterno globale, utilizza il comando:

    gcloud beta compute backend-services create BACKEND_SERVICE_IPV6 \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --protocol=HTTP \
       --ip-address-selection-policy=PREFER_IPV6 \
       --health-checks=HEALTH_CHECK \
       --global
    

    Per il bilanciatore del carico delle applicazioni interno tra regioni, utilizza il comando:

    gcloud beta compute backend-services create BACKEND_SERVICE_IPV6 \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --protocol=HTTP \
       --ip-address-selection-policy=PREFER_IPV6 \
       --health-checks=HEALTH_CHECK \
       --global
    

    regionale

    Per il bilanciatore del carico delle applicazioni esterno regionale, utilizza il comando:

    gcloud beta compute backend-services create BACKEND_SERVICE_IPV6 \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --protocol=HTTP \
       --ip-address-selection-policy=PREFER_IPV6 \
       --health-checks=HEALTH_CHECK \
       --region=REGION
    

    Per il bilanciatore del carico delle applicazioni interno regionale, utilizza il comando:

    gcloud beta compute backend-services create BACKEND_SERVICE_IPV6 \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --protocol=HTTP \
       --ip-address-selection-policy=PREFER_IPV6 \
       --health-checks=HEALTH_CHECK \
       --region=REGION
    
  3. Aggiungi NEG a livello di zona come backend del servizio di backend.

    globale

    Per il bilanciatore del carico delle applicazioni esterno globale e il bilanciatore del carico delle applicazioni interno tra regioni, utilizza il comando:

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

    regionale

    Per il bilanciatore del carico delle applicazioni esterno regionale e il bilanciatore del carico delle applicazioni interno regionale, utilizza il comando:

    gcloud beta compute backend-services add-backend BACKEND_SERVICE_IPV6 \
      --network-endpoint-group=ZONAL_NEG \
      --max-rate-per-endpoint=10 \
      --region=REGION
    
  4. Prenota un indirizzo IPv6 esterno che i tuoi clienti utilizzano per connettersi con il bilanciatore del carico di rete passthrough esterno regionale.

    globale

    Per il bilanciatore del carico delle applicazioni esterno globale, utilizza il comando:

    gcloud compute addresses create lb-ipv6-1 \
       --ip-version=IPV6 \
       --network-tier=PREMIUM \
       --global
    
  5. Creare una regola di forwarding per il servizio di backend. Quando crei di una regola di forwarding, specifica l'indirizzo IP esterno nella una subnet.

    globale

    Per il bilanciatore del carico delle applicazioni esterno globale, utilizza il comando:

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

Instrada il traffico al nuovo servizio di backend IPv6

aggiorna la mappa URL per indirizzare una frazione del client traffico al nuovo servizio di backend IPv6 BACKEND_SERVICE_IPV6.

  1. Utilizza il seguente comando per modificare le mappe URL:

    globale

    Per il bilanciatore del carico delle applicazioni esterno globale e il bilanciatore del carico delle applicazioni interno tra regioni, utilizza il comando:

       gcloud compute url-maps edit URL_MAP \
           --global
       

    regionale

    Per il bilanciatore del carico delle applicazioni esterno regionale e il bilanciatore del carico delle applicazioni interno regionale, utilizza il comando:

       gcloud compute url-maps edit URL_MAP \
           --region=REGION
       
  2. Nell'editor di testo visualizzato, aggiungi routeRule con un Azione weightedBackendServices che indirizza una percentuale del traffico IPv6 a BACKEND_SERVICE_IPV6.

    defaultService: global/backendServices/BACKEND_SERVICE
    hostRules:
    - hosts:
      - '*'
      pathMatcher: matcher1
    name: URL_MAP
    pathMatchers:
    - defaultService: global/backendServices/BACKEND_SERVICE
      name: matcher1
      routeRules:
      - matchRules:
        - prefixMatch: ''
        priority: 1
        routeAction:
          weightedBackendServices:
          - backendService: global/backendServices/BACKEND_SERVICE
            weight: 95
          - backendService: global/backendServices/BACKEND_SERVICE_IPV6
            weight: 5
    

Per implementare la migrazione graduale a IPv6, aumenta la percentuale di ponderazione per il parametro nuovo servizio di backend BACKEND_SERVICE_IPV6in modo incrementale al 100% modificando più volte la mappa URL.

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 degli indirizzi IP per specificare il tipo di traffico inviato dal servizio di backend ai tuoi backend.

Sostituisci IP_ADDRESS_SELECTION_POLICY con uno dei i seguenti valori:

Criterio di selezione degli indirizzi IP Descrizione
Solo IPv4 Invia solo traffico IPv4 ai backend del servizio di backend, a prescindere dal traffico dal client al GFE. Solo IPv4 per controllare l'integrità dei backend.
Preferenza per IPv6

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

I controlli di integrità monitorano periodicamente IPv6 e IPv4 e altre connessioni. Il GFE tenta prima la connessione IPv6. se il protocollo IPv6 la connessione è interrotta o lenta, occhi felici per eseguire il fallback e la connessione a IPv4.

Anche se una delle connessioni IPv6 o IPv4 non è integro, il backend trattate come integre ed entrambe le connessioni possono essere provate dal GFE, con occhi felici che alla fine scelgono quale usare.

Solo IPv6

Invia solo traffico IPv6 ai backend del servizio di backend, a prescindere dal traffico dal client al proxy. Solo IPv6 per controllare l'integrità dei backend.

Non esiste una convalida per verificare se il tipo di traffico di backend corrisponde alla Criterio di selezione dell'indirizzo IP. Ad esempio, se hai backend IPV4 seleziona Only IPv6 come criterio di selezione degli indirizzi IP, non potrai o non osservare errori di configurazione, ma il traffico non arriva al tuo di backend.

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

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

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

  8. Fai clic su Fine.

gcloud

  1. Aggiorna il servizio di backend:

    globale

    Per il bilanciatore del carico delle applicazioni esterno globale, utilizza il comando:

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

    Per il bilanciatore del carico delle applicazioni interno tra regioni, utilizza il comando:

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

    regionale

    Per il bilanciatore del carico delle applicazioni esterno regionale, utilizza il comando:

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

    Per il bilanciatore del carico delle applicazioni interno regionale, utilizza il comando:

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

Testa il bilanciatore del carico

Devi verificare che tutte le risorse richieste siano aggiornate in modalità a doppio stack. Dopo aver aggiornato tutte le risorse, il traffico deve passare automaticamente dai backend. Puoi controllare i log e verificare che la conversione risulta completata.

Testa il bilanciatore del carico per confermare che la migrazione sia riuscita il traffico in entrata raggiunge i backend come previsto.

Cerca l'indirizzo IP esterno 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 è chiamato IP_ADDRESS_IPV4 e l'indirizzo IPv6 è denominato IP_ADDRESS_IPV6.

  4. Nella sezione Backend, quando il criterio di selezione degli indirizzi IP è Prefer IPv6 per cui è visualizzato lo stato del controllo di integrità due dai backend.

Invia traffico alle istanze

In questo esempio, le richieste provenienti dal comando curl vengono distribuite in modo casuale di backend.

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

    curl http://IP_ADDRESS_IPV4
    
    curl http://IP_ADDRESS_IPV6
    

    Ad esempio, se l'indirizzo IPv6 è [fd20:1db0:b882:802:0:46:0:0]:80, la classe simile al seguente:

    curl http://[fd20:1db0:b882:802:0:46:0:0]
    

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

È possibile verificare che il traffico vada a IPv6 o che non vada a IPv4 la visualizzazione dei log.

L'elemento HttpRequest contiene l'indirizzo backend_ip associato al backend. Esaminando i log e confrontando i protocolli IPv4 e IPv6 di destinazione di backend_ip, puoi confermare quale indirizzo IP viene utilizzato.