Você poderá 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 obter mais informações sobre IPv6, consulte Intervalos de sub-redes IPv6 .
Especificações
As instâncias de computação que possuem configurações IPv4 e IPv6 são de pilha dupla . O endereço IPv6 é um acréscimo a quaisquer endereços IPv4 configurados na interface de rede.
As interfaces em instâncias de pilha dupla ou somente IPv6 recebem 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 obter mais informações sobre como configurar diversas interfaces de rede, consulte Várias interfaces de rede .
O tipo de pilha da interface de rede de uma VM determina o tipo de sub-redes às quais ela pode se conectar:
- 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.
- Interfaces somente IPv6 podem se conectar a sub-redes de pilha dupla e somente IPv6 ( Visualização ).
Para configurar endereços IPv6 em uma interface de rede, a interface deve estar conectada a uma pilha dupla ou a uma sub -rede somente IPv6 ( Preview ).
A configuração do tipo de acesso IPv6 de uma sub-rede determina se a sub-rede possui um intervalo IPv6 interno ou externo. As instâncias conectadas herdam o tipo de acesso IPv6 da sub-rede.
Instâncias somente IPv6 ( Preview ) são suportadas apenas com Ubuntu e Debian OS.
Acessando instâncias usando endereços IPv6
A regra implícita de firewall de negação de entrada IPv6 protege as instâncias bloqueando conexões de entrada para seus endereços IPv6. Para acessar instâncias usando seus endereços IPv6, você deve ter uma regra de prioridade mais alta que permita acesso de entrada.
Para obter mais informações sobre regras de firewall, consulte Regras de firewall de VPC e Políticas hierárquicas de firewall .
Para obter exemplos de regras de firewall de VPC, consulte Configurar regras de firewall para casos de uso comuns .
Atribuição de endereço IPv6
A lista a seguir descreve como os endereços IPv6 são atribuídos às instâncias de computação.
As instâncias de computação recebem um endereço IPv6 usando DHCPv6. O servidor de metadados responde às solicitações DHCPv6 da instância e envia o primeiro endereço IPv6 (
/128
) do intervalo/96
alocado em resposta.O servidor de metadados usa anúncio de rota para publicar a rota padrão para a instância. A instância poderá então usar essa rota padrão para todo o tráfego IPv6.
Você pode encontrar a rota padrão para a interface de rede de uma instância conectando-se à instância e consultando o servidor de metadados para obter a entrada
gateway-ipv6
.curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/gateway-ipv6 -H "Metadata-Flavor: Google"
Para obter mais informações sobre o servidor de metadados, consulte Visualizar e 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 no intervalo
fe80::/10
, mas são usados apenas para descoberta de vizinhos .A configuração de MTU na interface de rede da instância se aplica a pacotes IPv4 e IPv6, mas nem todos os valores de MTU são suportados em todas as circunstâncias. Para mais informações, veja Unidade máxima de transmissão .
Crie uma instância que use endereços IPv6
Você pode criar uma instância que usa uma combinação de endereços IPv4 e IPv6 ( pilha dupla ) ou pode criar uma instância que usa apenas endereços IPv6.
Para informações sobre como criar uma instância do Compute Engine que usa endereços IPv6, consulte as seguintes tarefas:
Alterar o tipo de pilha de uma instância
Você pode alterar o tipo de pilha de uma instância existente do Compute Engine. O tipo de pilha pode ser definido como um dos seguintes:
- Somente IPv4 (pilha única)
- IPv4 e IPv6 (pilha dupla)
Se você estiver alterando o tipo de pilha para pilha dupla, a instância deverá estar conectada a uma sub-rede de pilha dupla. Se você precisar alterar a qual sub-rede a instância está conectada, interrompa a instância e altere a sub-rede. Depois que a sub-rede for atualizada, você poderá alterar o tipo de pilha IP da instância.
Você não pode alterar o tipo de pilha de uma instância somente IPv6 ( Preview ).
Console
Acesse a página de instâncias de VM .
Clique no nome da instância à qual você deseja atribuir um endereço IPv6.
Na página de detalhes da instância, conclua as etapas a seguir:
- Clique em Editar .
- Em Interfaces de rede , expanda a interface que você deseja editar.
- Selecione o tipo de pilha 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 o seguinte:
-
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.
DESCANSAR
Atualize o tipo de pilha de uma instância fazendo uma solicitação PATCH
ao método instances.updateNetworkInterface
.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateNetworkInterface
Substitua o seguinte:
-
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
.
Crie um modelo de instância com endereços IPv6
Você pode criar um modelo de instância regional ou global que pode ser usado para criar instâncias de pilha dupla ou somente IPv6 ( Visualização ). Para obter mais informações, consulte Criar modelos de instância .
Você deve usar a CLI ou REST do Google Cloud 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 quiser criar um modelo de instância regional, você deverá usar o sinalizador --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 o seguinte:
-
TEMPLATE_NAME
: o nome do modelo. -
SUBNET
: uma sub-rede que possui 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.
DESCANSAR
Para criar um modelo de instância regional, use o método regionInstanceTemplates.insert
ou, 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 o seguinte:
-
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 possui um intervalo de sub-rede IPv6. -
REGION
: a região da sub-rede. IMAGE_URI
: o URI da imagem que você deseja usar.Por exemplo, se você especificar
"sourceImage": "projects/debian-cloud/global/images/family/debian-12"
, o Compute Engine criará uma instância da versão mais recente da imagem do sistema operacional na família de imagens Debian 12.
Para saber mais sobre parâmetros de solicitação, consulte o método instanceTemplates.insert
.