Crie uma instância que use endereços IPv6


Por padrão, as instâncias do Compute Engine são criadas com endereços IPv4. Opcionalmente, você pode criar instâncias de computação que usam endereços IPv6. As instâncias de computação que possuem configurações IPv4 e IPv6 são chamadas de instâncias de pilha dupla . O endereço IPv6 é um acréscimo a quaisquer endereços IPv4 configurados na interface de rede.

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 .

Qualquer interface de rede na instância de computação 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 instância determina o tipo de sub-redes às quais ela pode se conectar:

  • As interfaces de rede somente IPv4 podem se conectar a sub-redes de pilha dupla e somente IPv4.
  • As interfaces de rede de pilha dupla podem se conectar a sub-redes de pilha dupla.
  • As interfaces de rede somente IPv6 podem se conectar a sub-redes de pilha dupla e somente IPv6 ( Visualização ).

Além disso, 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.

Você pode criar instâncias com endereços IPv6 atribuídos automaticamente porGoogle Cloud ou com endereços IPv6 especificados por você:

  • Para IPv6 interno, você pode especificar um endereço IPv6 interno estático ou um endereço IPv6 interno efêmero personalizado.
  • Para IPv6 externo, você pode especificar um endereço IPv6 externo estático.

Para obter mais informações sobre endereços IPv6, consulte Visão geral do IPv6 .

Limitações

  • Instâncias somente IPv6 ( Preview ) são suportadas apenas com Ubuntu e Debian OS.

Antes de começar

  • Você deve criar a rede e as sub-redes antes de criar a instância de computação.
  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Funções obrigatórias

Para obter as permissões necessárias para criar uma instância com endereços IPv6, peça ao administrador para conceder a você a função do IAM Compute Instance Admin (v1) ( roles/compute.instanceAdmin.v1 ) no projeto. Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .

Você também poderá obter as permissões necessárias por meio de funções personalizadas ou outras funções predefinidas .

Crie uma instância de pilha dupla

Para criar uma instância com um endereço IPv4 interno e um endereço IPv6 externo, conecte a instância de computação a uma sub-rede de pilha dupla .

Se você estiver usando uma VPC compartilhada e quiser criar uma instância de pilha dupla conectada a uma sub-rede compartilhada, consulte Criar uma instância na documentação da VPC compartilhada.

Console

  1. Vá para a página Criar uma instância .

    Vá para Criar uma instância

  2. Se solicitado, selecione seu projeto e clique em Continuar . A página Criar uma instância é exibida e exibe o painel Configuração da máquina .

  3. No painel Configuração da máquina , faça o seguinte:

    1. No campo Nome , especifique um nome para sua instância. Para obter mais informações, consulte Nomeando recursos .
    2. Opcional: No campo Zona , selecione uma zona para esta instância. Escolha uma zona em uma região que contenha uma sub-rede com um intervalo IPv6 configurado.
    3. Selecione a família de máquinas para sua instância. O console do Google Cloud exibe as séries de máquinas disponíveis para a família de máquinas selecionada. As seguintes opções de famílias de máquinas estão disponíveis:

      • Uso geral
      • Computação otimizada
      • Memória otimizada
      • Armazenamento otimizado
      • GPU

    4. Na coluna Série , selecione a série de máquinas da sua instância.

    5. Na seção Tipo de máquina , selecione o tipo de máquina da sua instância.

  4. No menu de navegação, clique em Rede . No painel Rede exibido, faça o seguinte:

    1. Na seção Interfaces de rede , clique na interface de rede para expandi-la e editá-la.

    2. Para Rede e Sub-rede , selecione a rede e a sub-rede que possui um intervalo IPv6 configurado.

    3. Para o tipo de pilha IP , selecione IPv4 e IPv6 (pilha dupla) .

    4. Para Endereço IPv4 interno primário , selecione uma das seguintes opções:

      • Para atribuir um novo endereço interno IPv4 efêmero, escolha Efêmero .
      • Para atribuir um endereço IP externo estático existente, escolha o nome de um endereço IPv4 reservado na lista.
      • Para criar e atribuir um novo endereço IPv4 interno estático, escolha Reservar endereço IPv4 interno estático .
    5. Opcional: para Endereço IPv4 externo , selecione um dos seguintes:

      • Para atribuir um endereço IPv4 externo efêmero, escolha Efêmero .
      • Para criar uma instância sem um endereço IPv4 externo, escolha None .
      • Para atribuir um endereço IP externo estático existente, escolha o nome de um endereço IPv4 reservado na lista.
      • Para criar e atribuir um novo endereço IPv4 externo estático, escolha Reservar endereço IPv4 externo estático .
    6. Opcional: Para configurar um endereço IPv6 externo, para Endereço IPv6 externo , selecione um dos seguintes:

      • Para atribuir um novo endereço IPv6 externo efêmero, escolha Auto-allocate .
      • Para atribuir um endereço IP externo estático existente, escolha o nome de um endereço IPv6 reservado na lista.
      • Para criar e atribuir um novo endereço IPv6 externo estático, escolha Reserve static external IPv6 address .
    7. Para finalizar a modificação da interface de rede, clique em Concluído .

    8. Opcional: Para configurar uma interface de rede adicional, clique em Adicionar uma interface de rede e repita as etapas anteriores para o painel Rede .

  5. Opcional: Especifique outras opções de configuração. Para obter mais informações, consulte Opções de configuração durante a criação da instância .

  6. Para criar e iniciar a instância, clique em Criar .

gcloud

Crie uma instância usando o comando gcloud compute instances create . Para especificar endereços IPv6 personalizados, inclua os sinalizadores internal-ipv6-address e external-ipv6-address . Se não for especificado, os endereços IPv6 efêmeros serão atribuídos automaticamente à instância por Google Cloud.

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

Substitua o seguinte:

  • INSTANCE_NAME : o nome da instância
  • SUBNET_NAME : a sub-rede à qual conectar a instância; a sub-rede deve ter um intervalo de sub-rede IPv6
  • ZONE : a zona na qual implantar a instância

DESCANSAR

  1. Selecione uma imagem . Anote o nome da imagem ou família de imagens e o nome do projeto que contém a imagem.
  2. 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 de sistema operacional. Para especificar endereços IPv6 personalizados, inclua os campos networkInterfaces[].ipv6Address e networkInterfaces[].ipv6AccessConfigs[].externalIpv6 . Se não for especificado, os endereços IPv6 efêmeros serão atribuídos automaticamente à instância por Google Cloud.

    Antes de usar qualquer um dos dados da solicitação, faça as seguintes substituições:

    • PROJECT_ID : ID do projeto no qual criar a instância.
    • ZONE : zona para criar a instância.
    • MACHINE_TYPE_ZONE : se estiver usando um tipo de máquina personalizado, especifique a zona que contém o tipo de máquina personalizado a ser usado para a nova instância; caso contrário, especifique a zona na qual criar a instância.
    • MACHINE_TYPE : tipo de máquina, predefinido ou personalizado , para a nova instância — por exemplo, n4-standard-2
    • INSTANCE_NAME : um nome para a nova instância
    • REGION : a região que contém a sub-rede
    • SUBNET : uma sub-rede de pilha dupla
    • IMAGE_PROJECT : Opcional: o projeto de imagem que contém a imagem
    • IMAGE : Opcional: especifique um dos seguintes:

      • Uma versão específica da imagem do sistema operacional — por exemplo, debian-12-bookworm-v20241009
      • Uma família de imagens , que deve ser formatada como family/ IMAGE_FAMILY . Isso cria a instância a partir da imagem de sistema operacional mais recente e não obsoleta. Por exemplo, se você especificar family/debian-12 , o Compute Engine criará uma instância usando a versão mais recente da imagem do sistema operacional na família de imagens Debian 12. Para obter mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens .

    Método HTTP e URL:

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

    Solicitar corpo JSON:

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

    Para enviar sua solicitação, expanda uma destas opções:

    Você deverá receber uma resposta JSON semelhante a esta:

    {
      "kind": "compute#operation",
      "id": "9216044482154695709",
      "name": "operation-1739207409646-62dccc7d7bc58-d1350b42-64fdb7f7",
      "zone": "https://www.googleapis.com/compute/{api_version}/projects/`PROJECT_ID`/zones/`ZONE`",
      "operationType": "insert",
      "targetLink": "https://www.googleapis.com/compute/{api_version}/projects/`PROJECT_ID`/zones/`ZONE`/instances/`INSTANCE_NAME`",
      "targetId": "2679381553616227357",
      "status": "RUNNING",
      "user": "USER_ID",
      "progress": 0,
      "insertTime": "2025-02-10T09:10:10.551-08:00",
      "startTime": "2025-02-10T09:10:10.551-08:00",
      "selfLink": "https://www.googleapis.com/compute/{api_version}/projects/`PROJECT_ID`/zones/`ZONE`/operations/operation-1565289606387-58f9f62f5989c-e582f586-6d22f38"
     "kind": "compute#operation"
    }
    

Crie uma instância somente IPv6

Para criar uma instância somente IPv6, siga as etapas desta seção.

Para uma instância do Compute Engine com uma única interface de rede, a instância pode ter um endereço IPv6 interno ou externo, dependendo do tipo de acesso da rede à qual a interface está conectada. Você deve criar uma rede de nuvem privada virtual (VPC) de modo personalizado com uma sub-rede que tenha um intervalo de endereços IPv6.

Antes de criar uma instância de VM multi-NIC que use endereços IPv6 internos e externos, você deve criar o seguinte:

  • A rede interna e a sub-rede : 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 .
  • A rede e sub-rede externas : 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 Criar uma instância na documentação da VPC compartilhada.

Console

  1. Vá para a página Criar uma instância .

    Vá para Criar uma instância

  2. Se solicitado, selecione seu projeto e clique em Continuar . A página Criar uma instância é exibida e exibe o painel Configuração da máquina .

  3. No painel Configuração da máquina , faça o seguinte:

    1. No campo Nome , especifique um nome para sua instância. Para obter mais informações, consulte Nomeando recursos .
    2. Opcional: No campo Zona , selecione uma zona para esta instância. Escolha uma zona em uma região que contenha uma sub-rede com um intervalo IPv6 configurado.
    3. Selecione a família de máquinas para sua instância. O console do Google Cloud exibe as séries de máquinas disponíveis para a família de máquinas selecionada. As seguintes opções de famílias de máquinas estão disponíveis:

      • Uso geral
      • Computação otimizada
      • Memória otimizada
      • Armazenamento otimizado
      • GPU

    4. Na coluna Série , selecione a série de máquinas da sua instância.

    5. Na seção Tipo de máquina , selecione o tipo de máquina da sua instância.

  4. No menu de navegação, clique em Rede . No painel Rede exibido, faça o seguinte:

    1. Na seção Interfaces de rede , clique na interface de rede para expandi-la e editá-la.

    2. Para Rede e Sub-rede , selecione a rede e a sub-rede que possui um intervalo IPv6 configurado.

      O tipo de acesso IPv6 da sub-rede determina se a instância recebe um endereço IPv6 interno ou um endereço IPv6 externo. Para atribuir um endereço IPv6 interno, você deve selecionar uma rede que foi criada com a opção Configurar um intervalo IPv6 interno de ULA para esta rede VPC . Caso contrário, você poderá configurar apenas endereços IPv6 externos.

    3. Para tipo de pilha IP , selecione IPv6 (pilha única) .

    4. Se você selecionou uma sub-rede com um tipo de acesso Internal , em Endereço IPv6 interno primário , selecione um dos seguintes:

      • Para atribuir um novo endereço IPv6 efêmero, escolha Alocado automaticamente (/96)
      • Para atribuir um endereço IP interno estático existente, escolha o nome de um endereço IPv6 reservado na lista.
      • Para criar e atribuir um novo endereço IPv6 interno estático, escolha Reservar endereço IPv6 interno estático .
    5. Se você selecionou uma sub-rede com um tipo de acesso External , em Endereço IPv6 externo , selecione um dos seguintes:

      • Para atribuir um novo endereço IPv6 externo efêmero, escolha Auto-allocate .
      • Para atribuir um endereço IP externo estático existente, escolha o nome de um endereço IPv6 reservado na lista.
      • Para criar e atribuir um novo endereço IPv6 externo estático, escolha Reserve static external IPv6 address .
    6. Para finalizar a modificação da interface de rede, clique em Concluído .

    7. Opcional: Para adicionar um endereço IPv6 adicional, faça o seguinte:

      1. Selecione Adicionar uma interface de rede .
      2. Repita as etapas anteriores desta tarefa para o painel Rede .
  5. Opcional: Especifique outras opções de configuração. Para obter mais informações, consulte Opções de configuração durante a criação da instância .

  6. Para criar e iniciar a instância, clique em Criar .

gcloud

Crie uma instância usando o comando gcloud beta compute instances create . Para atribuir endereços IPv6 internos e externos, você deve criar a instância com pelo menos duas interfaces de rede. Para especificar endereços IPv6 personalizados, inclua os sinalizadores internal-ipv6-address e external-ipv6-address . Se não for especificado, os endereços IPv6 efêmeros serão atribuídos automaticamente à instância por Google Cloud.

gcloud beta 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=subnet=SUBNET_INTERNAL_NAME,stack-type=IPV6_ONLY \
    --network-interface=subnet=SUBNET_EXTERNAL_NAME,stack-type=IPV6_ONLY,ipv6-network-tier=PREMIUM

Substitua o seguinte:

  • INSTANCE_NAME : um nome para a instância
  • ZONE : a zona onde a instância é criada, como europe-west1-b . A região da instância é inferida da zona.
  • MACHINE_TYPE : Opcional: tipo de máquina, predefinido ou customizado , para a nova instância. Por exemplo, n4-standard-2 .
  • IMAGE_PROJECT : Opcional: o projeto de imagem que contém a imagem
  • IMAGE : Opcional: especifique um dos seguintes:
    • Uma versão específica da imagem do sistema operacional — por exemplo, debian-12-bookworm-v202410095 .
    • Uma família de imagens , que deve ser formatada como family/ IMAGE_FAMILY . Isso cria a instância a partir da imagem de sistema operacional mais recente e não obsoleta. Por exemplo, se você especificar family/debian-12 , o Compute Engine criará uma instância usando a versão mais recente da imagem do sistema operacional na família de imagens Debian 12. Para obter mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens .
  • SIZE : Opcional: o tamanho do novo disco. O valor deve ser um número inteiro. A unidade de medida padrão é GiB.
  • SUBNET_INTERNAL_NAME : nome da sub-rede que está configurada para endereços IP internos usarem com a instância.
  • SUBNET_EXTERNAL_NAME : nome da sub-rede que está configurada para endereços IP externos usarem com a instância.

DESCANSAR

  1. Selecione uma imagem . Anote o nome da imagem ou família de imagens e o nome do projeto que contém a imagem.
  2. 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 de sistema operacional. Para especificar endereços IPv6 personalizados, inclua os campos networkInterfaces[].ipv6Address e networkInterfaces[].ipv6AccessConfigs[].externalIpv6 . Se não for especificado, os endereços IPv6 efêmeros serão atribuídos automaticamente à instância por Google Cloud.

    Antes de usar qualquer um dos dados da solicitação, faça as seguintes substituições:

    • PROJECT_ID : ID do projeto no qual criar a instância.
    • ZONE : zona para criar a instância.
    • MACHINE_TYPE_ZONE : se estiver usando um tipo de máquina personalizado, especifique a zona que contém o tipo de máquina personalizado a ser usado para a nova instância; caso contrário, especifique a zona na qual criar a instância.
    • MACHINE_TYPE : tipo de máquina, predefinido ou customizado , para a nova instância — por exemplo, n4-standard-2 .
    • INSTANCE_NAME : um nome para a nova instância
    • REGION : a região que contém a sub-rede
    • SUBNET_INTERNAL : uma sub-rede somente IPv6. A rede para esta sub-rede deve ter um tipo de acesso INTERNAL e ter IPv6 ULA habilitado.
    • SUBNET_EXTERNAL : uma sub-rede somente IPv6. A rede desta sub-rede deve ter um tipo de acesso INTERNAL .
    • IMAGE_PROJECT : Opcional: o projeto de imagem que contém a imagem
    • IMAGE : Opcional: especifique um dos seguintes:

      • Uma versão específica da imagem do sistema operacional — por exemplo, debian-12-bookworm-v20241009
      • Uma família de imagens , que deve ser formatada como family/ IMAGE_FAMILY . Isso cria a instância a partir da imagem de sistema operacional mais recente e não obsoleta. Por exemplo, se você especificar family/debian-12 , o Compute Engine criará uma instância usando a versão mais recente da imagem do sistema operacional na família de imagens Debian 12. Para obter mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens .

    Método HTTP e URL:

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

    Solicitar corpo JSON:

    {
        "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
        "name": "INSTANCE_NAME",
        "networkInterfaces": [
          {
            "subnetwork": "regions/REGION/subnetworks/SUBNET_INTERNAL",
            "stackType": "IPV6_ONLY"
          },
          {
            "subnetwork": "regions/REGION/subnetworks/SUBNET_EXTERNAL",
            "stackType": "IPV6_ONLY"
          }
        ],
        "disks": [
          {
            "initializeParams": {
              "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
    
            },
            "boot": true
          }
        ]
    }
    

    Para enviar sua solicitação, expanda uma destas opções:

    Você deverá receber uma resposta JSON semelhante a esta:

    {
      "kind": "compute#operation",
      "id": "9216044482154695709",
      "name": "operation-1739207409646-62dccc7d7bc58-d1350b42-64fdb7f7",
      "zone": "https://www.googleapis.com/compute/beta/projects/`PROJECT_ID`/zones/`ZONE`",
      "operationType": "insert",
      "targetLink": "https://www.googleapis.com/compute/beta/projects/`PROJECT_ID`/zones/`ZONE`/instances/`INSTANCE_NAME`",
      "targetId": "2679381553616227357",
      "status": "RUNNING",
      "user": "USER_ID",
      "progress": 0,
      "insertTime": "2025-02-10T09:10:10.551-08:00",
      "startTime": "2025-02-10T09:10:10.551-08:00",
      "selfLink": "https://www.googleapis.com/compute/beta/projects/`PROJECT_ID`/zones/`ZONE`/operations/operation-1565289606387-58f9f62f5989c-e582f586-6d22f38"
     "kind": "compute#operation"
    }
    

O que vem a seguir