Puoi configurare gli indirizzi IPv6 su un'istanza Compute Engine se la subnet a cui è connessa l'istanza ha un intervallo IPv6 configurato.
Per ulteriori informazioni su IPv6, consulta Intervalli di subnet IPv6.
Specifiche
Le istanze Compute con configurazioni sia IPv4 che IPv6 sono a doppio stack. L'indirizzo IPv6 si aggiunge a eventuali indirizzi IPv4 configurati sull'interfaccia di rete.
Alle interfacce delle istanze a doppio stack o solo IPv6 viene allocato un singolo
/96
intervallo di indirizzi IPv6; il primo indirizzo IPv6 nell'intervallo (/128
) è configurato sull'interfaccia.In qualsiasi interfaccia dell'istanza è possibile configurare indirizzi IPv6. Per ulteriori informazioni sulla configurazione di più interfacce di rete, consulta la panoramica di più interfacce di rete.
Il tipo di stack dell'interfaccia di rete di una VM determina il tipo di subnet a cui può connettersi:
- Le interfacce solo IPv4 possono connettersi a subnet a doppio stack e solo IPv4.
- Le interfacce a doppio stack possono connettersi a subnet a doppio stack.
- Le interfacce solo IPv6 possono connettersi a subnet a doppio stack e solo IPv6 (anteprima).
Per configurare gli indirizzi IPv6 su un'interfaccia di rete, l'interfaccia deve essere collegata a una subnet a doppio stack o solo IPv6 (anteprima).
La configurazione del tipo di accesso IPv6 di una subnet determina se la subnet ha un intervallo IPv6 interno o esterno. Le istanze connesse ereditano il tipo di accesso IPv6 dalla subnet.
Le istanze solo IPv6 (anteprima) sono supportate solo con i sistemi operativi Ubuntu e Debian.
Accesso alle istanze tramite indirizzi IPv6
La regola firewall di traffico in entrata IPv6 implicita protegge le istanze bloccando le connessioni in arrivo ai relativi indirizzi IPv6. Per accedere alle istanze utilizzando i relativi indirizzi IPv6, devi avere una regola con priorità più elevata che consenta l'accesso in entrata.
Per ulteriori informazioni sulle regole firewall, consulta la panoramica del firewall VPC e la panoramica dei criteri firewall gerarchici.
Per esempi di regole firewall VPC, consulta Configurare le regole firewall per i casi d'uso comuni.
Assegnazione di indirizzi IPv6
L'elenco seguente descrive come vengono assegnati gli indirizzi IPv6 alle istanze di calcolo.
Alle istanze Compute viene assegnato un indirizzo IPv6 utilizzando DHCPv6. Il server dei metadati risponde alle richieste DHCPv6 delle istanze e invia come risposta il primo
/128
indirizzo IPv6 dall'intervallo/96
allocato.Il server di metadati utilizza l'annuncio di route per pubblicare il route predefinito nell'istanza. L'istanza può quindi utilizzare questa route predefinita per tutto il traffico IPv6.
Per trovare la route predefinita per l'interfaccia di rete di un'istanza, collega l'istanza ed esegui 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 Eseguire query sui metadati delle istanze.
Le istanze Compute sono configurate con indirizzi IP link-local, assegnati dall'intervallo
fe80::/10
, ma vengono utilizzati solo per la scoperta dei vicini.La configurazione MTU sull'interfaccia di rete dell'istanza si applica sia ai pacchetti IPv4 che a quelli IPv6, ma non tutti i valori MTU sono supportati in tutte le circostanze. Per maggiori dettagli, consulta la panoramica delle unità massime di trasmissione.
Crea un'istanza che utilizza indirizzi IPv6
Puoi creare un'istanza che utilizzi una combinazione di indirizzi IPv4 e IPv6 (a doppio stack) oppure un'istanza che utilizzi solo indirizzi IPv6.
Creare un'istanza dual-stack
Per creare un'istanza a doppio stack, connetti l'istanza di calcolo a una subnet a doppio stack.
Se utilizzi VPC condiviso e vuoi creare un'istanza a doppio stack collegata a una subnet condivisa, consulta Creare un'istanza nella documentazione di VPC condiviso.
Console
Vai alla pagina Crea un'istanza.
Inserisci un nome per l'istanza.
Seleziona una regione contenente una subnet con un intervallo IPv6 configurato.
Seleziona una Zona.
Espandi la sezione Opzioni avanzate.
Espandi Networking ed esegui i seguenti passaggi:
Nella sezione Interfacce di rete, fai clic sull'interfaccia di rete per espanderla e modificarla.
In 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 l'istanza riceve un indirizzo IPv6 interno o un indirizzo IPv6 esterno.
Per Tipo di stack IP, seleziona IPv4 e IPv6 (stack doppio).
Per Indirizzo IPv4 interno principale, seleziona una delle seguenti opzioni:
- Ephemeral per assegnare un nuovo indirizzo IPv4 interno temporaneo
- * Un indirizzo IPv4 riservato dall'elenco
- * Statico per assegnare un nuovo indirizzo IPv4 statico
Per gli indirizzi IPv6, a seconda del tipo di accesso della subnet utilizzata dall'interfaccia di rete:
Per Indirizzo IPv6 interno principale, seleziona una delle seguenti opzioni:
- Allocato automaticamente per assegnare un nuovo indirizzo IPv6 interno temporaneo
- Un indirizzo IPv6 interno statico prenotato dall'elenco
- Prenota indirizzo IPv6 interno statico per prenotare e assegnare un nuovo indirizzo IPv6 interno statico
Per Indirizzo IPv6 esterno, seleziona una delle seguenti opzioni:
- Allocazione automatica per assegnare un nuovo indirizzo IPv6 esterno temporaneo
- Un indirizzo IPv6 esterno statico prenotato dall'elenco
- Prenota indirizzo IPv6 esterno statico per prenotare e assegnare un nuovo indirizzo IPv6 esterno statico
Per Indirizzo IPv4 esterno, seleziona una delle seguenti opzioni:
- Ephemeral per assegnare un nuovo indirizzo IPv4 temporaneo
- Nessuno per non assegnare un indirizzo IPv4 esterno
- Un indirizzo IPv4 riservato dall'elenco
- Crea nuovo indirizzo IP per assegnare un nuovo indirizzo IPv4 statico.
Per completare la modifica dell'interfaccia di rete, fai clic su Fine.
Continua con la procedura di creazione dell'istanza.
Fai clic su Crea.
gcloud
Crea un'istanza utilizzando il
gcloud compute instances create
comando.
gcloud compute instances create INSTANCE_NAME \ --subnet=SUBNET_NAME \ --zone=ZONE \ --stack-type=IPV4_IPV6
Sostituisci quanto segue:
INSTANCE_NAME
: il 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
- Seleziona un'immagine. Prendi nota del nome dell'immagine o della famiglia di immagini e del nome del progetto contenente l'immagine.
Utilizza il metodo
instances.insert
per creare un'istanza 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 l'istanzaZONE
: la zona in cui creare l'istanza
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 istanzaMACHINE_TYPE
: tipo di macchina, predefinito o personalizzato, per la nuova istanza. Ad esempio:n1-standard-1
.INSTANCE_NAME
: il nome della nuova istanza.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 un'istanza di calcolo dalla versione più recente dell'immagine del sistema operativo nella famiglia di immagini Debian 10.
Creare un'istanza solo IPv6
Per creare un'istanza solo IPv6, segui i passaggi descritti in questa sezione.
Un'istanza Compute Engine con un'unica interfaccia di rete può avere un indirizzo IPv6 interno o esterno, a seconda del tipo di accesso IPv6 della subnet a cui è connessa la sua interfaccia. Devi creare una rete VPC in modalità personalizzata con una subnet che abbia un intervallo di indirizzi IPv6.
Prima di poter creare un'istanza VM multi-NIC che utilizzi indirizzi IPv6 sia interni che esterni, devi creare quanto segue:
- Una rete VPC in modalità personalizzata con ULA IPv6 abilitato, una subnet con un intervallo di indirizzi IPv6 e il tipo di accesso impostato su
internal
. - Una seconda rete VPC in modalità personalizzata, una seconda subnet con un intervallo di indirizzi IPv6 e il tipo di accesso impostato su
external
.
Quando crei l'istanza, configuri due interfacce di rete, una che si connette alla subnet con l'intervallo di indirizzi IPv6 interno e una che si connette alla subnet con l'intervallo di indirizzi esterno.
Se utilizzi la Rete VPC condiviso e vuoi creare un'istanza solo IPv6 collegata a una subnet condivisa, consulta la sezione Creare un'istanza nella documentazione della Rete VPC condiviso.
Console
Vai alla pagina Crea un'istanza.
Inserisci un nome per l'istanza.
Seleziona una regione contenente le subnet con gli intervalli IPv6 configurati.
(Facoltativo) Modifica la Zona per questa istanza. Se selezioni Qualsiasi, Google sceglie automaticamente una zona in base al tipo di macchina e alla disponibilità.
Espandi la sezione Opzioni avanzate.
Espandi Networking ed esegui i seguenti passaggi:
Nella sezione Interfacce di rete, fai clic sul nome dell'interfaccia di rete per modificarne le impostazioni.
In 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 l'istanza riceve un indirizzo IPv6 interno o un indirizzo IPv6 esterno.
Per Tipo di stack IP, seleziona IPv6 (stack singolo).
Per Indirizzo IPv6 interno principale, seleziona una delle seguenti opzioni:
- Assegnato automaticamente (/96) per assegnare un nuovo indirizzo IPv6 temporaneo
- Un indirizzo IPv6 riservato dall'elenco
- Prenota indirizzo IPv6 interno statico per assegnare un nuovo indirizzo IPv6 statico
(Facoltativo) Per aggiungere un indirizzo IPv6 esterno, seleziona Aggiungi un'interfaccia di rete.
- Per Rete e Subnet, seleziona la rete e la subnet configurate per gli indirizzi IPv6 esterni.
Per Indirizzo IPv6 esterno, seleziona una delle seguenti opzioni:
- Allocazione automatica per assegnare un nuovo indirizzo IPv6 temporaneo
- Un indirizzo IPv6 riservato dall'elenco
- Prenota indirizzo IPv6 esterno statico per assegnare un nuovo indirizzo IPv6 statico.
Per completare la modifica dell'interfaccia di rete, fai clic su Fine.
Continua con la procedura di creazione dell'istanza.
Fai clic su Crea.
gcloud
Crea un'istanza utilizzando il comando gcloud compute instances create
.
Per assegnare indirizzi IPv6 sia interni che esterni, devi creare l'istanza con almeno due interfacce di rete.
gcloud compute instances create INSTANCE_NAME \ --zone ZONE \ --machine-type=MACHINE_TYPE \ --create-disk=boot=yes,image='projects/IMAGE_PROJECT/global/images/IMAGE',size=SIZE \ --network-interface=network=NETWORK_INTERNAL_NAME,subnet=SUBNET_INTERNAL_NAME,stack-type=IPV6_ONLY \ --network-interface=network=NETWORK_EXTERNAL_NAME,subnet=SUBNET_EXTERNAL_NAME,stack-type=IPV6_ONLY,ipv6-network-tier=PREMIUM
Sostituisci quanto segue:
INSTANCE_NAME
: un nome per l'istanzaZONE
: la zona in cui viene creata l'istanza, comeeurope-west1-b
. La regione dell'istanza viene dedotta dalla zona.MACHINE_TYPE
: facoltativo, il tipo di macchina da utilizzare per l'istanza.IMAGE_PROJECT
: facoltativo, il progetto di immagini che contiene l'immagineIMAGE
: facoltativo. Specifica uno dei seguenti valori:- Una versione specifica dell'immagine del sistema operativo, ad esempio
debian-12-bookworm-v202410095
. - Una famiglia di immagini,
che deve essere formattata come
family/IMAGE_FAMILY
. In questo modo viene creata l'istanza dall'immagine del sistema operativo più recente e non deprecata. Ad esempio, se specifichifamily/debian-12
, Compute Engine crea un'istanza utilizzando la versione più recente dell'immagine del sistema operativo nella famiglia di immagini Debian 12. Per ulteriori informazioni sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.
- Una versione specifica dell'immagine del sistema operativo, ad esempio
SIZE
: facoltativo, le dimensioni del nuovo disco. Il valore deve essere un numero intero. L'unità di misura predefinita è GiB.NETWORK_EXTERNAL_NAME
oNETWORK_INTERNAL_NAME
: il nome della rete configurata per gli indirizzi IP interni o esterniSUBNET_EXTERNAL_NAME
oSUBNET_INTERNAL_NAME
: il nome della subnet configurata per gli indirizzi IP interni o esterni da utilizzare con l'istanza.
REST
- Seleziona un'immagine. Prendi nota del nome dell'immagine o della famiglia di immagini e del nome del progetto contenente l'immagine.
Utilizza il metodo
instances.insert
per creare un'istanza 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 l'istanzaZONE
: la zona in cui creare l'istanza
Esempio di corpo della richiesta:
{ "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "INSTANCE_NAME", "disks": [ { "initializeParams": { "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "networkInterfaces": [ { "subnetwork": "regions/REGION/subnetworks/SUBNET_INTERNAL", "stackType": "IPV6_ONLY" }, { "subnetwork": "regions/REGION/subnetworks/SUBNET_EXTERNAL", "stackType": "IPV6_ONLY" } ] }
Sostituisci quanto segue:
MACHINE_TYPE_ZONE
: zona contenente il tipo di macchina da utilizzare per la nuova istanzaMACHINE_TYPE
: tipo di macchina, predefinito o personalizzato, per la nuova istanza. Ad esempio:c3-standard-4
.INSTANCE_NAME
: il nome della nuova istanza.IMAGE_PROJECT
: facoltativo, il progetto di immagini che contiene l'immagineIMAGE
: facoltativo. Specifica uno dei seguenti valori.- Una versione specifica dell'immagine del sistema operativo, ad esempio
debian-12-bookworm-v20241009
. - Una famiglia di immagini,
che deve essere formattata come
family/IMAGE_FAMILY
. In questo modo viene creata l'istanza dall'immagine del sistema operativo più recente e non deprecata. Ad esempio, se specifichifamily/debian-12
, Compute Engine crea un'istanza utilizzando la versione più recente dell'immagine del sistema operativo nella famiglia di immagini Debian 12. Per ulteriori informazioni sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.
- Una versione specifica dell'immagine del sistema operativo, ad esempio
REGION
: la regione della subnet.SUBNET_INTERNAL
: una subnet con indirizzi IPv6 interni configurati.SUBNET_EXTERNAL
: una subnet con indirizzi IPv6 esterni configurati.
Modificare il tipo di stack di un'istanza
Puoi modificare il tipo di stack di un'istanza Compute Engine esistente. Il tipo di stack può essere impostato su uno dei seguenti valori:
- Solo IPv4 (stack singolo)
- IPv4 e IPv6 (stack doppio)
Se stai modificando il tipo di stack in dual-stack, l'istanza deve essere collegata a una subnet dual-stack. Se devi modificare la subnet a cui è collegata l'istanza, interrompila e modifica la subnet. Dopo aver aggiornato la subnet, puoi modificare il tipo di stack IP dell'istanza.
Non puoi modificare il tipo di stack di un'istanza solo IPv6 (anteprima).
Console
Vai alla pagina Istanze VM.
Fai clic sul nome dell'istanza a cui vuoi assegnare un indirizzo IPv6.
Nella pagina dei dettagli dell'istanza, completa i seguenti passaggi:
- Fai clic su Modifica.
- In Interfacce di rete, espandi l'interfaccia che vuoi modificare.
- Seleziona il tipo di stack IP: Solo IPv4 (stack singolo) o IPv4 e IPv6 (stack doppio).
- Fai clic su Fine.
Fai clic su Salva.
gcloud
Aggiorna il tipo di stack di un'istanza utilizzando il
gcloud compute instances network-interfaces update
comando
gcloud compute instances network-interfaces update INSTANCE_NAME \ --stack-type=STACK_TYPE \ --zone=ZONE
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanza.STACK_TYPE
: il tipo di stack per l'istanza:IPV4_ONLY
oIPV4_IPV6
.ZONE
: la zona in cui è stato eseguito il deployment dell'istanza.
REST
Aggiorna il tipo di stack di un'istanza inviando una richiesta PATCH
al
instances.updateNetworkInterface
metodo.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateNetworkInterface
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto che contiene l'istanza.ZONE
: la zona in cui è stato 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 l'istanza:
IPV4_ONLY
o IPV4_IPV6
.
Crea un modello di istanza con indirizzi IPv6
Puoi creare un modello di istanza regionale o globale che può essere utilizzato per creare istanze a doppio stack o solo IPv6 (anteprima). Per saperne di più, consulta la sezione Creare modelli di istanze.
Devi utilizzare Google Cloud CLI o REST per creare un modello di istanza che crei istanze che utilizzano indirizzi IPv6.
gcloud
Per creare un modello di istanza regionale o globale, utilizza il
comando gcloud compute instance-templates create
.
Se vuoi creare un modello di istanza regionale, 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=STACK_TYPE
Sostituisci quanto segue:
TEMPLATE_NAME
: il nome del modello.SUBNET
: una subnet con un intervallo di subnet IPv6.STACK_TYPE
: il tipo di stack, IPV4_IPV6 per un'istanza dual-stack o IPV6_ONLY per un'istanza con indirizzo IPv6 esterno.
REST
Per creare un modello di istanza regionale, utilizza il
metodo regionInstanceTemplates.insert
oppure, per creare un modello di istanza globale, utilizza il
metodo instanceTemplates.insert
.
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": "STACK_TYPE", }, ], "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 istanze. Ad esempio,c3-standard-4
.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-12"
, Compute Engine crea un'istanza dalla versione più recente dell'immagine del sistema operativo nella famiglia di immagini Debian 12.
Per scoprire di più sui parametri di richiesta, consulta il
metodo instanceTemplates.insert
.