Configurazione di IPv6 per istanze e modelli di istanza

Puoi configurare indirizzi IPv6 su un'istanza di macchina virtuale (VM) se la subnet a cui è connessa la VM presenta un intervallo IPv6 configurato.

Per ulteriori informazioni su IPv6, consulta Intervalli di subnet IPv6.

Specifiche

  • Le VM con configurazioni IPv4 e IPv6 sono a doppio stack. Alle interfacce sulle VM a doppio stack viene allocato un singolo intervallo /96 di indirizzi IPv6; il primo indirizzo IPv6 dell'intervallo (/128) è configurato sull'interfaccia. L'indirizzo IPv6 si aggiunge a qualsiasi indirizzo IPv4 configurato nell'interfaccia. Non puoi configurare una VM in modo che abbia solo indirizzi IPv6.

  • Qualsiasi interfaccia sulla VM può avere indirizzi IPv6 configurati. Per saperne di più sulla configurazione di più interfacce di rete, consulta Panoramica delle interfacce di rete multiple.

  • Per configurare indirizzi IPv6 su un'interfaccia VM, l'interfaccia deve essere connessa a una subnet a doppio stack.

  • La configurazione del tipo di accesso IPv6 di una subnet determina se la subnet ha un intervallo IPv6 interno o esterno. Le VM connesse ereditano il tipo di accesso IPv6 dalla subnet.

Accesso alle VM tramite indirizzi IPv6

La regola firewall in entrata di negazione IPv6 protegge le istanze bloccando le connessioni in entrata ai relativi indirizzi IPv6. Per accedere alle VM utilizzando i relativi indirizzi IPv6, devi avere una regola di priorità più elevata che consenta l'accesso in entrata.

Per ulteriori informazioni sulle regole firewall, consulta la panoramica dei firewall VPC e la panoramica dei criteri firewall gerarchici.

Ad esempio, consulta le regole firewall VPC, consulta Configurare le regole firewall per i casi d'uso comuni.

Assegnazione indirizzo IPv6

  • Alle VM viene assegnato un indirizzo IPv6 tramite DHCPv6. Il server dei metadati risponde alle richieste DHCPv6 della VM e invia in risposta il primo indirizzo IPv6 (/128) dall'intervallo /96 allocato.

  • Il server dei metadati utilizza annuncio di route per pubblicare la route predefinita sulla VM. La VM può quindi utilizzare questa route predefinita per tutto il traffico IPv6.

    Puoi trovare la route predefinita per l'interfaccia di una VM eseguendo una query sul server dei metadati per la voce gateway-ipv6.

    curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/gateway-ipv6 -H "Metadata-Flavor: Google"
    

    Per ulteriori informazioni sul server dei metadati, consulta la sezione Esecuzione di query sui metadati delle VM.

  • Le VM sono configurate con indirizzi IP locali collegati che sono assegnati dall'intervallo fe80::/10, ma vengono utilizzate solo per il rilevamento dei dispositivi vicini.

  • La configurazione MTU sull'interfaccia di rete della VM si applica ai pacchetti IPv4 e IPv6, ma non tutti i valori MTU sono supportati in tutte le circostanze. Per ulteriori dettagli, consulta la panoramica sull'unità di trasmissione massima.

Crea una VM a doppio stack

Per creare una VM a doppio stack, connettila a una subnet a doppio stack.

Se utilizzi un VPC condiviso e vuoi creare una VM a doppio stack connessa a una subnet condivisa, consulta Creazione di un'istanza nella documentazione del VPC condiviso.

Console

  1. Vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Inserisci un nome per l'istanza.

  3. Seleziona una regione contenente una subnet con un intervallo IPv6 configurato.

  4. Seleziona una zona.

  5. Espandi la sezione Opzioni avanzate.

  6. Espandi Networking ed esegui le seguenti operazioni:

    1. Nella sezione Interfacce di rete, espandi l'interfaccia di rete per modificarla.

    2. Per Rete e Subnet, seleziona la rete e la subnet che vuoi utilizzare.

      Seleziona una subnet con un intervallo IPv6 configurato. Il tipo di accesso IPv6 della subnet determina se la VM riceve un indirizzo IPv6 interno o un indirizzo IPv6 esterno.

    3. Per Tipo di stack IP, seleziona IPv4 e IPv6 (stack doppio).

    4. Per IP interno principale, seleziona una delle seguenti opzioni:

      • Temporaneo per assegnare un nuovo indirizzo IPv4 temporaneo
      • Un indirizzo IPv4 riservato nell'elenco
      • Statico per assegnare un nuovo indirizzo IPv4 statico
    5. Per Indirizzo IPv4 esterno, seleziona una delle seguenti opzioni:

      • Temporaneo per assegnare un nuovo indirizzo IPv4 temporaneo
      • Nessuno per non assegnare un indirizzo IPv4 esterno
      • Un indirizzo IPv4 riservato nell'elenco
      • Crea un nuovo indirizzo IP per assegnare un nuovo indirizzo IPv4 statico.
    6. Per completare la modifica dell'interfaccia di rete, fai clic su Fine.

  7. Continua con il processo di creazione della VM.

  8. Fai clic su Crea.

gcloud

Crea un'istanza utilizzando il comando gcloud compute instances create.

gcloud compute instances create INSTANCE_NAME \
  --subnet=SUBNET_NAME \
  --zone=ZONE \
  --stack-type=IPV4_IPV6

Sostituisci quanto segue:

  • INSTANCE_NAME: nome dell'istanza.
  • SUBNET_NAME: la subnet a cui connettere l'istanza. La subnet deve avere un intervallo di subnet IPv6.
  • ZONE: la zona in cui eseguire il deployment dell'istanza.

REST

  1. Seleziona un'immagine. Prendi nota del nome dell'immagine o della famiglia di immagini e del nome del progetto che contiene l'immagine.
  2. Utilizza il metodo instances.insert per creare una VM da una famiglia di immagini o da una versione specifica di un'immagine del sistema operativo:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
    

    Sostituisci quanto segue:

    • PROJECT_ID: ID del progetto in cui creare la VM
    • ZONE: zona in cui creare la VM

    Esempio di corpo della richiesta:

    {
     "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
     "name": "INSTANCE_NAME",
     "networkInterfaces": [
       {
         "subnetwork": "regions/REGION/subnetworks/SUBNET",
         "stackType": "IPV4_IPV6"
       }
     ],
     "disks": [
       {
         "initializeParams": {
           "sourceImage": "IMAGE_URI"
         },
         "boot": true
       }
     ],
    }
    

    Sostituisci quanto segue:

    • MACHINE_TYPE_ZONE: zona contenente il tipo di macchina da utilizzare per la nuova VM
    • MACHINE_TYPE: tipo di macchina predefinita o personalizzata per la nuova VM. Ad esempio: n1-standard-1.
    • INSTANCE_NAME: il nome della nuova VM.
    • SUBNET: una subnet in cui è configurato IPv6.
    • REGION: la regione della subnet.
    • IMAGE_URI: l'URI dell'immagine che vuoi utilizzare.

      Ad esempio, se specifichi "sourceImage": "projects/debian-cloud/global/images/family/debian-10", Compute Engine crea una VM dall'ultima versione dell'immagine del sistema operativo nella famiglia di immagini Debian 10.

Modifica il tipo di stack di una VM

Puoi modificare il tipo di stack di una VM esistente. Il tipo di stack può essere impostato su uno dei seguenti valori:

  • Solo IPv4 (stack singolo)
  • IPv4 e IPv6 (stack doppio)

Se modifichi il tipo di stack in dual stack, la VM deve essere connessa a una subnet a doppio stack. Se devi cambiare la subnet a cui è connessa la VM, arresta la VM e cambia la subnet. Dopo aver aggiornato la subnet, puoi modificare il tipo di stack IP della VM.

Console

  1. Vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic sul nome dell'istanza a cui vuoi assegnare un indirizzo IPv6.
  3. Dalla pagina dei dettagli dell'istanza, completa i seguenti passaggi:
    1. Fai clic su Modifica.
    2. In Interfacce di rete, espandi l'interfaccia che vuoi modificare.
    3. Seleziona il Tipo di stack IP: Solo IPv4 (stack singolo) o IPv4 e IPv6 (stack doppio).
    4. Fai clic su Fine.
  4. Fai clic su Salva.

gcloud

Aggiorna il tipo di stack di una VM utilizzando il comando gcloud compute instances network-interfaces update

gcloud compute instances network-interfaces update INSTANCE_NAME \
  --stack-type=STACK_TYPE \
  --zone=ZONE

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza.
  • ZONE: la zona in cui viene eseguito il deployment dell'istanza.
  • STACK_TYPE: il tipo di stack per la VM: IPV4_ONLY o IPV4_IPV6.

REST

Aggiorna il tipo di stack di una VM effettuando una richiesta PATCH al metodo instances.updateNetworkInterface.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONEinstances/INSTANCE_NAME/updateNetworkInterface

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto che contiene l'istanza.
  • ZONE: la zona in cui viene eseguito il deployment dell'istanza.
  • INSTANCE_NAME: il nome dell'istanza.

Esempio di corpo della richiesta:

{
  "stackType": "STACK_TYPE",
}

Sostituisci STACK_TYPE con il tipo di stack per la VM: IPV4_ONLY o IPV4_IPV6.

Crea un modello di istanza con indirizzi IPv6

Puoi creare un modello di istanza a livello di regione o globale da utilizzare per creare VM a doppio stack. Per ulteriori informazioni, consulta la sezione Creazione di modelli di istanza.

Devi utilizzare Google Cloud CLI o REST per creare un modello di istanza che crei VM a doppio stack.

gcloud

Per creare un modello di istanza a livello di regione o globale, utilizza il comando gcloud compute instance-templates create. Se vuoi creare un modello di istanza a livello di regione, devi utilizzare il flag --instance-template-region per specificare la regione per il modello di istanza.

L'esempio seguente crea un modello di istanza globale:

gcloud compute instance-templates create TEMPLATE_NAME \
    --subnet=SUBNET \
    --stack-type=IPV4_IPV6

Sostituisci quanto segue:

  • TEMPLATE_NAME: il nome del modello.
  • SUBNET: una subnet con un intervallo di subnet IPv6.

REST

Per creare un modello di istanza a livello di regione, utilizza il metodo regionInstanceTemplates.insert oppure il metodo instanceTemplates.insert per creare un modello di istanza globale.

L'esempio seguente crea un modello di istanza globale:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

Sostituisci PROJECT_ID con l'ID progetto.

Esempio di corpo della richiesta:

{
  "name": "INSTANCE_TEMPLATE_NAME"
  "properties": {
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "subnetwork": "regions/REGION/subnetworks/SUBNET",
        "stackType": "IPV4_IPV6",
      },
    ],
    "disks":
    [
      {
        "type": "PERSISTENT",
        "boot": true,
        "mode": "READ_WRITE",
        "initializeParams":
        {
          "sourceImage": "IMAGE_URI"
        }
      }
    ]
  }
}

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.
  • MACHINE_TYPE: il tipo di macchina delle VM. Ad esempio, n1-standard-1.
  • SUBNET: una subnet con un intervallo di subnet IPv6.
  • REGION: la regione della subnet.
  • IMAGE_URI: l'URI dell'immagine che vuoi utilizzare.

    Ad esempio, se specifichi "sourceImage": "projects/debian-cloud/global/images/family/debian-10", Compute Engine crea una VM dall'ultima versione dell'immagine del sistema operativo nella famiglia di immagini Debian 10.

Per scoprire di più sui parametri della richiesta, consulta il metodo instanceTemplates.insert.