Por padrão, as instâncias do Compute Engine são criadas com endereços IPv4. Você pode criar instâncias de computação que usam endereços IPv6. As instâncias de computação que têm configurações IPv4 e IPv6 são chamadas de instâncias de pilha dupla. O endereço IPv6 é adicionado a todos os endereços IPv4 configurados na interface de rede.
É 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.
Qualquer interface de rede na instância de computação 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 instância determina o tipo de sub-redes a que 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 (Pré-lançamento).
Além disso, 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.
Para mais informações sobre endereços IPv6, consulte Visão geral do IPv6.
Limitações
- As instâncias somente IPv6 (Pré-lançamento) são compatíveis apenas com o Ubuntu e o Debian OS.
Antes de começar
- É necessário criar a rede e as sub-redes antes de criar a instância de computação.
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud .
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
-
Funções exigidas
Para receber as permissões necessárias para criar uma instância com endereços IPv6, peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (v1) (roles/compute.instanceAdmin.v1
) no projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
Permissões exigidas para a tarefa
Para executar esta tarefa, é necessário ter as seguintes permissões:
compute.instances.create
no projeto- Para usar uma imagem personalizada para criar a VM:
compute.images.useReadOnly
na imagem - Usar um snapshot para criar a VM:
compute.snapshots.useReadOnly
no snapshot - Usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnly
no modelo de instância - Atribuir uma rede legada à VM:
compute.networks.use
no projeto - Especificar um endereço IP estático para a VM:
compute.addresses.use
no projeto - Atribuir um endereço IP externo à VM ao usar uma rede legada:
compute.networks.useExternalIp
no projeto - Especificar uma sub-rede para a VM:
compute.subnetworks.use
no projeto ou na sub-rede escolhida - Atribuir um endereço IP externo à VM ao usar uma rede VPC:
compute.subnetworks.useExternalIp
no projeto ou na sub-rede escolhida - Definir os metadados da instância de VM para a VM:
compute.instances.setMetadata
no projeto - Definir tags para a VM:
compute.instances.setTags
na VM - Definir rótulos para a VM:
compute.instances.setLabels
na VM - Definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccount
na VM - Criar um disco para a VM:
compute.disks.create
no projeto - Anexar um disco atual no modo somente leitura ou de leitura e gravação:
compute.disks.use
no disco - Anexar um disco atual no modo somente leitura:
compute.disks.useReadOnly
no disco
Criar 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 a 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.
Acesse a página Criar uma instância.
Se solicitado, selecione o projeto e clique em Continuar. A página Criar uma instância é exibida e mostra o painel Configuração da máquina.
No painel Configuração da máquina, faça o seguinte:
- No campo Nome, especifique um nome para a instância. Para mais informações, consulte Nomeação de recursos.
- Opcional: no campo Zona, selecione uma zona para a instância. Escolha uma zona em uma região que contenha uma sub-rede com um intervalo IPv6 configurado.
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ília de máquinas estão disponíveis:
- Uso geral
- Otimizado para computação
- Otimização de memória
- Otimizado para armazenamento
- GPUs
Na coluna Série, selecione a série de máquinas da sua instância.
Na seção Tipo de máquina, selecione o tipo de máquina para sua instância.
No menu de navegação, clique em Rede. No painel Networking exibido, 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 têm um intervalo IPv6 configurado.
Em Tipo de pilha de IP, selecione IPv4 e IPv6 (pilha dupla).
Em Endereço IPv4 interno principal, selecione uma das seguintes opções:
- Para atribuir um novo endereço IPv4 interno temporário, escolha Temporário.
- Para atribuir um endereço IP externo estático, escolha o nome de um endereço IPv4 reservado na lista.
- Para criar e atribuir um novo endereço IPv4 interno estático, selecione Reservar endereço IPv4 interno estático.
Opcional: em Endereço IPv4 externo, selecione uma das seguintes opções:
- Para atribuir um endereço IPv4 externo temporário, escolha Temporário.
- Para criar uma instância sem um endereço IPv4 externo, escolha Nenhum.
- Para atribuir um endereço IP externo estático, 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.
Opcional: para configurar um endereço IPv6 externo, em Endereço IPv6 externo, selecione uma das seguintes opções:
- Para atribuir um novo endereço IPv6 externo temporário, escolha Alocação automática.
- Para atribuir um endereço IP externo estático, escolha o nome de um endereço IPv6 reservado na lista.
- Para criar e atribuir um novo endereço IPv6 externo estático, escolha Reservar endereço IPv6 externo estático.
Para concluir a modificação da interface de rede, clique em Concluído.
Opcional: para configurar outra interface de rede, clique em Adicionar uma interface de rede e repita as etapas anteriores para o painel Rede.
Opcional: especifique outras opções de configuração. Para mais informações, consulte Opções de configuração durante a criação de instâncias.
Para criar e iniciar a instância, clique em Criar.
Crie uma instância usando o
comando
gcloud compute instances create
.
gcloud compute instances createINSTANCE_NAME \ --subnet=SUBNET_NAME \ --zone=ZONE \ --stack-type=IPV4_IPV6
Substitua:
INSTANCE_NAME
: o nome da instânciaSUBNET_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 será implantada
- 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:Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
: o ID do projeto em que a instância será criada.PROJECT_ID
: a zona em que a instância será criada.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 em que a instância será criada.MACHINE_TYPE_ZONE
: tipo de máquina, predefinido ou personalizado, para a nova instância. Por exemplo,MACHINE_TYPE n4-standard-2
.
: um nome para a nova instância.INSTANCE_NAME
: a região que contém a sub-redeREGION
: uma sub-rede de pilha duplaSUBNET
: opcional: o projeto de imagem que contém a imagemIMAGE_PROJECT
: opcional: especifique uma das seguintes opções:IMAGE - 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/
. Isso cria a instância a partir da imagem do SO mais recente e não descontinuada. Por exemplo, se você especificarIMAGE_FAMILY family/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,
Método HTTP e URL:
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID /zones/ZONE /instancesCorpo JSON 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": "projects/IMAGE_PROJECT /global/images/IMAGE " }, "boot": true } ], }Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /instances"PowerShell (Windows)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /instances" | Select-Object -Expand ContentVocê 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" }
Criar 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 a que a interface está conectada. É necessário 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 com várias NICs que use endereços IPv6 internos e externos, é necessário criar o seguinte:
- A rede e a sub-rede internas: uma rede VPC de modo personalizado
com ULA IPv6 ativada, uma sub-rede com um intervalo de endereço IPv6 e o tipo de acesso
definido como
internal
. - A rede e a 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.
Acesse a página Criar uma instância.
Se solicitado, selecione o projeto e clique em Continuar. A página Criar uma instância é exibida e mostra o painel Configuração da máquina.
No painel Configuração da máquina, faça o seguinte:
- No campo Nome, especifique um nome para a instância. Para mais informações, consulte Nomeação de recursos.
- Opcional: no campo Zona, selecione uma zona para a instância. Escolha uma zona em uma região que contenha uma sub-rede com um intervalo IPv6 configurado.
Selecione a família de máquinas para sua instância. O console do Google Cloud mostra as séries de máquinas que estão disponíveis para a família de máquinas selecionada. As seguintes opções de família de máquinas estão disponíveis:
- Uso geral
- Otimizado para computação
- Otimização de memória
- Otimizado para armazenamento
- GPUs
Na coluna Série, selecione a série de máquinas da sua instância.
Na seção Tipo de máquina, selecione o tipo de máquina para sua instância.
No menu de navegação, clique em Rede. No painel Rede exibido, 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 têm 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. Para atribuir um endereço IPv6 interno, selecione uma rede que foi criada com a opção Configurar um intervalo IPv6 interno ULA para esta rede VPC. Caso contrário, só será possível configurar endereços IPv6 externos.
Em Tipo de pilha de IP, selecione IPv6 (pilha única).
Se você selecionou uma sub-rede com um tipo de acesso de
Internal
, selecione uma das seguintes opções em Endereço IPv6 interno principal:- Para atribuir um novo endereço IPv6 temporário, escolha Alocado automaticamente (/96).
- Para atribuir um endereço IP interno estático, 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.
Se você selecionou uma sub-rede com um tipo de acesso
External
, selecione uma das seguintes opções em Endereço IPv6 externo:- Para atribuir um novo endereço IPv6 externo temporário, escolha Alocação automática.
- Para atribuir um endereço IP externo estático, escolha o nome de um endereço IPv6 reservado na lista.
- Para criar e atribuir um novo endereço IPv6 externo estático, escolha Reservar endereço IPv6 externo estático.
Para concluir a modificação da interface de rede, clique em Concluído.
Opcional: para adicionar outro endereço IPv6, faça o seguinte:
- Selecione Adicionar uma interface de rede.
- Repita as etapas anteriores desta tarefa para o painel Networking.
Opcional: especifique outras opções de configuração. Para mais informações, consulte Opções de configuração durante a criação de instâncias.
Para criar e iniciar a instância, clique em Criar.
Crie uma instância usando o
comando gcloud beta compute instances create
.
Para atribuir endereços IPv6 internos e externos, crie a
instância com pelo menos duas interfaces de rede.
gcloud beta compute instances createINSTANCE_NAME \ --zoneZONE \ --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:
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: tipo de máquina, predefinido ou personalizado, 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 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.SUBNET_INTERNAL_NAME
: nome da sub-rede que é configurada para que os endereços IP internos sejam usados com a instância.SUBNET_EXTERNAL_NAME
: nome da sub-rede que é configurada para que endereços IP externos sejam usados com a instância.
- 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:Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
: o ID do projeto em que a instância será criada.PROJECT_ID
: a zona em que a instância será criada.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 em que a instância será criada.MACHINE_TYPE_ZONE
: tipo de máquina, predefinido ou personalizado, para a nova instância. Por exemplo,MACHINE_TYPE n4-standard-2
.
: um nome para a nova instância.INSTANCE_NAME
: a região que contém a sub-redeREGION
: uma sub-rede somente IPv6. A rede dessa sub-rede precisa ter um tipo de acessoSUBNET_INTERNAL INTERNAL
e ter o ULA IPv6 ativado.
: uma sub-rede somente IPv6. A rede dessa sub-rede precisa ter um tipo de acessoSUBNET_EXTERNAL INTERNAL
.
: opcional: o projeto de imagem que contém a imagemIMAGE_PROJECT
: opcional: especifique uma das seguintes opções:IMAGE - 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/
. Isso cria a instância a partir da imagem do SO mais recente e não descontinuada. Por exemplo, se você especificarIMAGE_FAMILY family/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,
Método HTTP e URL:
POST https://compute.googleapis.com/compute/beta/projects/
PROJECT_ID /zones/ZONE /instancesCorpo JSON da solicitação:
{ "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 a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://compute.googleapis.com/compute/beta/projects/PROJECT_ID /zones/ZONE /instances"PowerShell (Windows)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://compute.googleapis.com/compute/beta/projects/PROJECT_ID /zones/ZONE /instances" | Select-Object -Expand ContentVocê 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" }
A seguir
- Configurar endereços IPv6 para instâncias e modelos de instância
- Criar VMs com várias interfaces de rede