Configurar endereços IPv6 para instâncias e modelos de instância

É 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) está 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 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.
  • Para configurar endereços IPv6 em uma interface de rede, a interface precisa estar conectada a uma sub-rede de pilha dupla ou somente IPv6 subnet.

  • 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 são compatíveis apenas com imagens de SO Ubuntu e Debian.

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 Regras de firewall da VPC e Políticas de firewall hierárquicas.

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 da instância e envia o primeiro endereço IPv6 (/128) do intervalo /96 alocado.

  • O servidor de metadados usa o anúncio 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 à instância 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 Visualizar e consultar metadados de instâncias.

  • As instâncias de computação são configuradas com endereços IP locais de link, que são atribuídos com base no fe80::/10 intervalo, 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. Saiba mais em Unidade de transmissão máxima.

Criar uma instância que usa endereços IPv6

É possível criar uma instância que usa uma combinação de endereços IPv4 e IPv6 (pilha dupla) ou 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

É possível alterar o tipo de pilha de uma instância 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 precisará 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, será possível alterar o tipo de pilha de IP da instância.

Não é possível mudar o tipo de pilha de uma instância somente IPv6.

Console

  1. Acesse a página Instâncias da VM.

    Acessar instâncias de VM

  2. Clique no nome da instância à qual você quer atribuir um endereço IPv6.

  3. Na página de detalhes da instância, conclua as etapas a seguir:

    1. Clique em Editar.
    2. Em Interfaces de rede, expanda a interface que você quer editar.
    3. Selecione o Tipo de pilha de IP: somente IPv4 (pilha única) ou IPv4 e IPv6 (pilha dupla).
    4. Clique em Concluído.
  4. Clique em Salvar.

gcloud

Atualize o tipo de pilha de uma instância usando o gcloud compute instances network-interfaces update comando

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 ou IPV4_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 instances.updateNetworkInterface método.

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 somente IPv6. Para mais informações, consulte Criar modelos de instâncias.

Use a Google Cloud CLI ou 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 regionInstanceTemplates.insert método, ou, para criar um modelo de instância global, use o instanceTemplates.insert método.

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 para a imagem que você quer 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 os parâmetros de solicitação, consulte o instanceTemplates.insert método.