É possível configurar endereços IPv6 em uma instância do Compute Engine se a sub-rede à qual a instância está conectada tiver um intervalo IPv6 configurado.
Para mais informações sobre o IPv6, consulte Intervalos de sub-redes IPv6.
Especificações
As instâncias de computação que têm configurações IPv4 e IPv6 são de pilha dupla. O endereço IPv6 é adicionado a todos os endereços IPv4 configurados na interface de rede.
As interfaces em instâncias de pilha dupla ou somente IPv6 são alocadas para um único intervalo
/96
de endereços IPv6. O primeiro endereço IPv6 no intervalo (/128
) é configurado na interface.Qualquer interface na instância pode ter endereços IPv6 configurados. Para mais informações sobre como configurar várias interfaces de rede, consulte Visão geral de várias interfaces de rede.
O tipo de pilha da interface de rede de uma VM determina o tipo de sub-redes a que ela pode se conectar:
- As interfaces somente IPv4 podem se conectar a sub-redes de pilha dupla e somente IPv4.
- As interfaces de pilha dupla podem se conectar a sub-redes de pilha dupla.
- As interfaces somente IPv6 podem se conectar a sub-redes de pilha dupla e somente IPv6 (Pré-lançamento).
Para configurar endereços IPv6 em uma interface de rede, ela precisa estar conectada a uma sub-rede de pilha dupla ou somente IPv6 (Pré-lançamento).
A configuração do tipo de acesso IPv6 de uma sub-rede determina se a sub-rede tem um intervalo IPv6 interno ou externo. As instâncias conectadas herdam o tipo de acesso IPv6 da sub-rede.
As instâncias somente IPv6 (Pré-lançamento) são compatíveis apenas com o Ubuntu e o Debian OS.
Como acessar instâncias usando endereços IPv6
A regra de firewall de entrada de negação IPv6 implícita protege as instâncias bloqueando as conexões recebidas para os endereços IPv6 delas. Para acessar instâncias usando os endereços IPv6, você precisa ter uma regra de prioridade mais alta que permita o acesso de entrada.
Para mais informações sobre regras de firewall, consulte a visão geral do firewall da VPC e a visão geral das políticas hierárquicas de firewall.
Para exemplos de regras de firewall da VPC, consulte Configurar regras de firewall para casos de uso comuns.
Atribuição de endereços IPv6
A lista a seguir descreve como os endereços IPv6 são atribuídos a instâncias de computação.
As instâncias de computação recebem um endereço IPv6 usando o DHCPv6. O servidor de metadados responde às solicitações DHCPv6 das instâncias e envia o primeiro endereço IPv6 (
/128
) do intervalo/96
alocado em resposta.O servidor de metadados usa a divulgação de rota para publicar a rota padrão na instância. A instância pode usar essa rota padrão para todo o tráfego IPv6.
Para encontrar a rota padrão da interface de rede de uma instância, conecte-se a ela e consulte a entrada
gateway-ipv6
no servidor de metadados.curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/gateway-ipv6 -H "Metadata-Flavor: Google"
Para mais informações sobre o servidor de metadados, consulte Como consultar metadados de instância.
As instâncias de computação são configuradas com endereços IP locais de link, que são atribuídos do intervalo
fe80::/10
, mas são usados apenas para descoberta de vizinhos.A configuração da MTU na interface de rede da instância se aplica aos pacotes IPv4 e IPv6, mas nem todos os valores de MTU são compatíveis em todas as circunstâncias. Consulte a visão geral da unidade de transmissão máxima para detalhes.
Criar uma instância que usa endereços IPv6
É possível criar uma instância que use uma combinação de endereços IPv4 e IPv6 (pilha dupla) ou que use apenas endereços IPv6.
Criar uma instância de pilha dupla
Para criar uma instância de pilha dupla, conecte a instância de computação a uma sub-rede de pilha dupla.
Se você estiver usando a VPC compartilhada e quiser criar uma instância de pilha dupla conectada a uma sub-rede compartilhada, consulte Como criar uma instância na documentação da VPC compartilhada.
Console
Acesse a página Criar uma instância.
Digite um Nome para a instância.
Selecione uma Região que contenha uma sub-rede com um intervalo IPv6 configurado.
Selecione uma Zona.
Expanda a seção Opções avançadas.
Expanda Rede e faça o seguinte:
Na seção Interfaces de rede, clique na interface de rede para abrir e editar.
Em Rede e Sub-rede, selecione a rede e a sub-rede que você quer usar.
Selecione uma sub-rede que tenha um intervalo IPv6 configurado. O tipo de acesso IPv6 da sub-rede determina se a instância recebe um endereço IPv6 interno ou externo.
Em Tipo de pilha de IP, selecione IPv4 e IPv6 (pilha dupla).
Em Endereço IPv4 interno principal, selecione uma das seguintes opções:
- Temporário para atribuir um novo endereço IPv4 interno temporário
- * Um endereço IPv4 reservado da lista
- * Estático para atribuir um novo endereço IPv4 estático
Para endereços IPv6, dependendo do tipo de acesso da sub-rede usada pela interface de rede:
Em Endereço IPv6 interno principal, selecione uma das seguintes opções:
- Alocado automaticamente para atribuir um novo endereço IPv6 interno temporário
- Um endereço IPv6 interno estático reservado da lista
- Reservar endereço IPv6 interno estático para reservar e atribuir um novo endereço IPv6 interno estático
Em Endereço IPv6 externo, selecione uma das seguintes opções:
- Alocação automática para atribuir um novo endereço IPv6 externo temporário
- Um endereço IPv6 externo estático reservado da lista
- Reservar um endereço IPv6 externo estático para reservar e atribuir um novo endereço IPv6 externo estático
Em Endereço IPv4 externo, selecione uma das seguintes opções:
- Temporário para atribuir um novo endereço IPv4 temporário
- Nenhum, para não atribuir um endereço IPv4 externo
- Um endereço IPv4 reservado da lista
- Crie um novo endereço IP para atribuir um novo endereço IPv4 estático
Para concluir a modificação da interface de rede, clique em Concluído.
Continue com o processo de criação de instâncias.
Clique em Criar.
gcloud
Crie uma instância usando o
comando
gcloud compute instances create
.
gcloud compute instances create INSTANCE_NAME \ --subnet=SUBNET_NAME \ --zone=ZONE \ --stack-type=IPV4_IPV6
Substitua:
INSTANCE_NAME
: o nome da instância.SUBNET_NAME
: a sub-rede à qual a instância será conectada. A sub-rede precisa ter um intervalo de sub-rede IPv6.ZONE
: a zona em que a instância de VM será implantada.
REST
- Selecione uma imagem. Anote o nome da imagem ou da família de imagens e o nome do projeto que contém a imagem.
Use o método
instances.insert
para criar uma instância de uma família de imagens ou de uma versão específica de uma imagem do SO:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
Substitua:
PROJECT_ID
: o ID do projeto em que a instância será criada.ZONE
: a zona em que a instância será criada
Exemplo de corpo da solicitação:
{ "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 } ], }
Substitua:
MACHINE_TYPE_ZONE
: a zona que contém o tipo de máquina a ser usado para a nova instância.MACHINE_TYPE
: tipo de máquina, predefinido ou personalizado, para a nova instância. Por exemplo,n1-standard-1
.INSTANCE_NAME
: o nome da nova instância .SUBNET
: uma sub-rede com o IPv6 configurado.REGION
: a região da sub-rede.IMAGE_URI
: o URI da imagem que você quer usar.Por exemplo, se você especificar
"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
, o Compute Engine vai criar uma instância de computação a partir da versão mais recente da imagem do SO na família de imagens Debian 10.
Criar uma instância somente IPv6
Para criar uma instância somente IPv6, siga as etapas desta seção.
Em uma instância do Compute Engine com uma única interface de rede, ela pode ter um endereço IPv6 interno ou externo, dependendo do tipo de acesso IPv6 da sub-rede à qual a interface está conectada. É necessário criar uma rede VPC de modo personalizado com uma sub-rede que tenha um intervalo de endereços IPv6.
Antes de criar uma instância de VM com várias NICs que usa endereços IPv6 internos e externos, é necessário criar o seguinte:
- Uma rede VPC de modo personalizado com ULA IPv6 ativado, uma sub-rede com
um intervalo de endereços IPv6 e o tipo de acesso definido como
internal
. - Uma segunda rede VPC de modo personalizado, uma segunda sub-rede com um intervalo de endereços IPv6 e o tipo de acesso definido como
external
.
Ao criar a instância, você configura duas interfaces de rede: uma que se conecta à sub-rede com o intervalo de endereços IPv6 interno e outra que se conecta à sub-rede com o intervalo de endereços externo.
Se você estiver usando a VPC compartilhada e quiser criar uma instância somente IPv6 conectada a uma sub-rede compartilhada, consulte Como criar uma instância na documentação da VPC compartilhada.
Console
Acesse a página Criar uma instância.
Digite um Nome para a instância.
Selecione uma Região que contenha as sub-redes com os intervalos IPv6 configurados.
Opcional: altere a zona desta instância. Se você selecionar Qualquer uma, o Google vai escolher automaticamente uma zona com base no tipo de máquina e na disponibilidade.
Expanda a seção Opções avançadas.
Expanda Rede e faça o seguinte:
Na seção Interfaces de rede, clique no nome da interface de rede para editar as configurações dela.
Em Rede e Sub-rede, selecione a rede e a sub-rede que você quer usar.
Selecione uma sub-rede que tenha um intervalo IPv6 configurado. O tipo de acesso IPv6 da sub-rede determina se a instância recebe um endereço IPv6 interno ou externo.
Em Tipo de pilha de IP, selecione IPv6 (pilha única).
Em Endereço IPv6 interno principal, selecione uma das seguintes opções:
- Alocado automaticamente (/96) para atribuir um novo endereço IPv6 temporário
- Um endereço IPv6 reservado da lista
- Reservar endereço IPv6 interno estático para atribuir um novo endereço IPv6 estático
Opcional: para adicionar um endereço IPv6 externo, selecione Adicionar uma interface de rede.
- Em Rede e Sub-rede, selecione a rede e a sub-rede que você configurou para endereços IPv6 externos.
Em Endereço IPv6 externo, selecione uma das seguintes opções:
- Alocação automática para atribuir um novo endereço IPv6 temporário
- Um endereço IPv6 reservado da lista
- Reservar um endereço IPv6 externo estático para atribuir um novo endereço IPv6 estático.
Para concluir a modificação da interface de rede, clique em Concluído.
Continue com o processo de criação de instâncias.
Clique em Criar.
gcloud
Crie uma instância usando o
comando gcloud compute instances create
.
Para atribuir endereços IPv6 internos e externos, crie a
instância com pelo menos duas interfaces de rede.
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
Substitua:
INSTANCE_NAME
: um nome para a instânciaZONE
: a zona em que a instância é criada, comoeurope-west1-b
. A região da instância é inferida da zona.MACHINE_TYPE
: opcional: o tipo de máquina a ser usado para a instância.IMAGE_PROJECT
: opcional, o projeto de imagem que contém a imagem.IMAGE
: opcional: especifique uma destas opções:- Uma versão específica da imagem do SO. Por
exemplo:
debian-12-bookworm-v202410095
- Uma família de imagens,
que precisa ser formatada como
family/IMAGE_FAMILY
. Isso cria a instância a partir da imagem do SO mais recente e não descontinuada. Por exemplo, se você especificarfamily/debian-12
, o Compute Engine vai criar uma instância usando a versão mais recente da imagem do SO na família de imagens Debian 12. Para mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
- Uma versão específica da imagem do SO. Por
exemplo:
SIZE
: opcional: o tamanho do novo disco. O valor precisa ser um número inteiro. A unidade de medida padrão é GiB.NETWORK_EXTERNAL_NAME
ouNETWORK_INTERNAL_NAME
: nome da rede configurada para endereços IP internos ou externosSUBNET_EXTERNAL_NAME
ouSUBNET_INTERNAL_NAME
: nome da sub-rede que está configurada para endereços IP internos ou externos para usar com a instância.
REST
- Selecione uma imagem. Anote o nome da imagem ou da família de imagens e o nome do projeto que contém a imagem.
Use o método
instances.insert
para criar uma instância de uma família de imagens ou de uma versão específica de uma imagem do SO:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
Substitua:
PROJECT_ID
: o ID do projeto em que a instância será criada.ZONE
: a zona em que a instância será criada
Exemplo de corpo da solicitação:
{ "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" } ] }
Substitua:
MACHINE_TYPE_ZONE
: a zona que contém o tipo de máquina a ser usado para a nova instância.MACHINE_TYPE
: tipo de máquina, predefinido ou personalizado, para a nova instância. Por exemplo,c3-standard-4
.INSTANCE_NAME
: o nome da nova instância .IMAGE_PROJECT
: opcional, o projeto de imagem que contém a imagem.IMAGE
: opcional: especifique uma das seguintes opções- Uma versão específica da imagem do SO. Por
exemplo:
debian-12-bookworm-v20241009
- Uma família de imagens,
que precisa ser formatada como
family/IMAGE_FAMILY
. Isso cria a instância a partir da imagem do SO mais recente e não descontinuada. Por exemplo, se você especificarfamily/debian-12
, o Compute Engine vai criar uma instância usando a versão mais recente da imagem do SO na família de imagens Debian 12. Para mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
- Uma versão específica da imagem do SO. Por
exemplo:
REGION
: a região da sub-rede.SUBNET_INTERNAL
: uma sub-rede com endereços IPv6 internos configurados.SUBNET_EXTERNAL
: uma sub-rede com endereços IPv6 externos configurados.
Mudar o tipo de pilha de uma instância
É possível mudar o tipo de pilha de uma instância do Compute Engine. O tipo de pilha pode ser definido como:
- Somente IPv4 (pilha única)
- IPv4 e IPv6 (pilha dupla)
Se você estiver mudando o tipo de pilha para pilha dupla, a instância precisará estar conectada a uma sub-rede de pilha dupla. Se você precisar mudar a sub-rede a que a instância está conectada, interrompa a instância e mude a sub-rede. Depois que a sub-rede for atualizada, será possível mudar o tipo de pilha de IP da instância.
Não é possível mudar o tipo de pilha de uma instância somente IPv6 (pré-lançamento).
Console
Acesse a página Instâncias da VM.
Clique no nome da instância à qual você quer atribuir um endereço IPv6.
Na página "Detalhes da instância", conclua as etapas a seguir:
- Clique em Editar.
- Em Interfaces de rede, expanda a interface que você quer editar.
- Selecione o Tipo de pilha de IP: somente IPv4 (pilha única) ou IPv4 e IPv6 (pilha dupla).
- Clique em Concluído.
Clique em Salvar.
gcloud
Atualize o tipo de pilha de uma instância usando o
comando
gcloud compute instances network-interfaces update
.
gcloud compute instances network-interfaces update INSTANCE_NAME \ --stack-type=STACK_TYPE \ --zone=ZONE
Substitua:
INSTANCE_NAME
: o nome da instância.STACK_TYPE
: o tipo de pilha da instância:IPV4_ONLY
ouIPV4_IPV6
.ZONE
: a zona em que a instância está implantada.
REST
Atualize o tipo de pilha de uma instância fazendo uma solicitação PATCH
para o
método
instances.updateNetworkInterface
.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateNetworkInterface
Substitua:
PROJECT_ID
: o ID do projeto que contém a instância.ZONE
: a zona em que a instância está implantada.INSTANCE_NAME
: o nome da instância.
Exemplo de corpo da solicitação:
{ "stackType": "STACK_TYPE", }
Substitua STACK_TYPE
pelo tipo de pilha da instância:
IPV4_ONLY
ou IPV4_IPV6
.
Criar um modelo de instância com endereços IPv6
É possível criar um modelo de instância regional ou global que pode ser usado para criar instâncias de pilha dupla ou apenas IPv6 (pré-lançamento). Para mais informações, consulte Como criar modelos de instância.
Use a Google Cloud CLI ou o REST para criar um modelo de instância que crie instâncias que usam endereços IPv6.
gcloud
Para criar um modelo de instância regional ou global, use o
comando gcloud compute instance-templates create
.
Se você quiser criar um modelo de instância regional, use a sinalização --instance-template-region
para especificar a região do modelo de instância.
O exemplo a seguir cria um modelo de instância global:
gcloud compute instance-templates create TEMPLATE_NAME \ --subnet=SUBNET \ --stack-type=STACK_TYPE
Substitua:
TEMPLATE_NAME
: o nome do modelo.SUBNET
: uma sub-rede que tem um intervalo de sub-rede IPv6.STACK_TYPE
: o tipo de pilha, IPV4_IPV6 para uma instância de pilha dupla ou IPV6_ONLY para uma instância com endereço IPv6 externo.
REST
Para criar um modelo de instância regional, use o
método regionInstanceTemplates.insert
.
Para criar um modelo de instância global, use o
método instanceTemplates.insert
.
O exemplo a seguir cria um modelo de instância global:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
Substitua PROJECT_ID
pelo ID do projeto.
Exemplo de corpo da solicitação:
{ "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" } } ] } }
Substitua:
INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância.MACHINE_TYPE
: o tipo de máquina das instâncias. Por exemplo,c3-standard-4
.SUBNET
: uma sub-rede que tem um intervalo de sub-rede IPv6.REGION
: a região da sub-rede.IMAGE_URI
: o URI da imagem que você quer usar.Por exemplo, se você especificar
"sourceImage": "projects/debian-cloud/global/images/family/debian-12"
, o Compute Engine vai criar uma instância a partir da versão mais recente da imagem do sistema operacional na família de imagens Debian 12.
Para saber mais sobre os parâmetros de solicitação, consulte o
método instanceTemplates.insert
.