Nesta página, mostramos como configurar e gerenciar endereços IPv4 ou IPv6 internos estáticos para instâncias de máquina virtual (VM) do Compute Engine.
Quando uma instância de VM exige um endereço IP interno fixo que seja inalterável, é possível conseguir um endereço IP interno estático para essa VM usando uma das seguintes opções:
- É possível reservar um endereço IP interno estático e, em seguida, especificar o endereço reservado ao criar uma VM.
- Também é possível criar a VM com um endereço IP interno temporário e, em seguida, promover esse endereço IP temporário a um endereço IP interno estático.
Para saber mais sobre como gerenciar endereços IP internos secundários, leia Intervalos de IP de alias.
No Compute Engine, cada instância de VM pode ter várias interfaces de rede. Cada interface pode ter um endereço IP externo, um endereço IP interno principal e um ou mais endereços IP internos secundários. Para saber mais sobre endereços IP, leia a documentação Endereços IP.
Com endereços IP internos estáticos, é sempre possível usar o mesmo endereço IP para uma VM, mesmo que você precise excluir e recriar a VM.
Para configurar um endereço IP externo estático em vez de um endereço IP interno, consulte Configurar endereços IP externos estáticos.
Antes de começar
- Leia sobre endereços IP.
-
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 da seguinte maneira.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
Para criar e atualizar VMs:
Administrador de instâncias do Compute (v1) (
roles/compute.instanceAdmin.v1
) -
compute.instances.update
na instância de VM -
compute.instances.updateNetworkInterface
na instância de VM -
compute.instances.addAccessConfig
na instância de VM -
compute.instances.deleteAccessConfig
na instância de VM -
compute.networks.list
na rede -
compute.subnetworks.use
na sub-rede -
compute.subnetworks.list
na sub-rede -
Para criar VMs:
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
Não é possível cancelar a atribuição ou alterar o endereço IPv4 interno de um recurso. Por exemplo, não é possível atribuir um novo endereço IP interno estático a uma instância de VM em execução ou interrompida. No entanto, é possível promover o endereço IP interno efêmero de um recurso para um endereço IP interno estático. Dessa maneira, o endereço permanecerá reservado, mesmo depois que o recurso for excluído.
O número de endereços IP internos estáticos que você pode reservar não pode exceder a cota do seu projeto. Para obter mais informações, consulte as cotas por projeto na documentação da VPC.
Somente um recurso por vez pode usar um endereço IP interno estático.
A reserva de um endereço IP interno estático só é aceita para redes VPC. Ela não é compatível com redes de modo legado.
Excluir recursos não libera automaticamente os endereços IP internos estáticos. Será necessário liberá-los manualmente se você não precisar mais deles.
Não é possível alterar o nome de um endereço IP estático.
Os endereços IP internos estáticos são regionais, o que significa que são restritos à região em que estão reservados. Por exemplo, se houver um endereço IP interno estático reservado em
Region A
, você só poderá usar o endereço IP emRegion A
.Escolha uma sub-rede na sua rede VPC. Para endereços IPv6, verifique se é uma sub-rede de pilha dupla.
Reserve um endereço IP interno do intervalo de IPs principal da sub-rede. Esta etapa cria um recurso de endereço IP interno nomeado que contém esse endereço IP interno específico. Reservar o endereço IP impede que o Google Cloud aloque automaticamente esse endereço como temporário.
Use o endereço IP interno reservado associando-o a uma instância de VM ao criar o recurso de VM.
Escolha uma sub-rede na sua rede VPC. Para endereços IPv6, verifique se é uma sub-rede de pilha dupla.
Crie uma instância de VM com um endereço IPv4 ou IPv6 temporário alocado automaticamente ou um endereço IPv4 específico.
Promova o endereço IP interno temporário a um endereço estático.
No console do Google Cloud, acesse a página Endereços IP.
Clique em Endereços IP internos.
PROJECT_ID
: o ID do projeto desta solicitaçãoREGION
: o nome da região para essa solicitação- O Compute Engine atribui um único endereço IPv4 do intervalo de sub-rede IPv4 principal automaticamente.
- É possível atribuir um endereço IPv4 interno específico ao criar uma instância de VM ou reservar um endereço IPv4 interno estático para seu projeto e atribuir esse endereço a uma VM.
- O Compute Engine atribui um único intervalo
/96
do intervalo de sub-rede IPv6 automaticamente. - É possível reservar um intervalo de endereços IPv6 interno estático no intervalo IPv6 interno da sub-rede e atribuí-lo a uma interface de rede de VM.
- Criar uma instância de VM com um endereço IPv4 ou IPv6 interno reservado
- Usar um endereço IPv4 ou IPv6 interno estático para uma interface de rede secundária
No console do Google Cloud, acesse a página Criar uma instância de VM.
Expanda a seção Opções avançadas.
Expanda a seção Rede.
Para atribuir um endereço IPv4 interno, faça o seguinte:
- Selecione uma Rede e uma Sub-rede.
- Selecione um endereço IPv4 interno reservado na lista Endereço IPv4 interno principal.
Como alternativa, selecione Reservar endereço IP interno estático e reserve um novo endereço IPv4 interno estático.
Para atribuir um endereço IPv6 interno, faça o seguinte:
- Selecione uma rede que contenha uma sub-rede IPv6.
- Selecione uma sub-rede de pilha dupla na lista Sub-rede. A sub-rede precisa ter o tipo de acesso
INTERNAL
IPv6. - Em Tipo de pilha de IP, selecione IPv4 e IPv6 (pilha dupla).
- Selecione um endereço IPv6 interno reservado na lista Endereço IPv6 interno principal.
Como alternativa, selecione Reservar endereço IPv6 interno estático e reserve um novo endereço IPv6 interno estático.
Para concluir a modificação da interface de rede padrão, clique em Concluído.
Continue com o processo de criação da VM.
Clique em Criar.
Use o comando
instances create
para criar uma instância de VM com um endereço IPv4 interno reservado e use a sinalização--private-network-ip
para especificar o endereço IP:gcloud compute instances create VM_NAME --private-network-ip IP_ADDRESS
Substitua:
VM_NAME
: o nome da VM que você quer criar.IP_ADDRESS
: o endereço IP que você quer atribuir.
Se você estiver usando uma rede com o modo de sub-rede personalizado, você precisará especificar a sub-rede usando o parâmetro
--subnet SUBNET
.Para criar uma instância com um endereço IPv6 interno reservado, use a sinalização
--internal-ipv6-address
para especificar o endereço IP:gcloud compute instances create VM_NAME --subnet SUBNETWORK --stack-type IPV4_IPV6 --internal-ipv6-address INTERNAL_IPV6_ADDRESS --zone ZONE
Substitua:
VM_NAME
: o nome da VM que você quer criar.SUBNETWORK
: a sub-rede do endereço IPv6 interno.INTERNAL_IPV6_ADDRESS
: o endereço IPv6/96
, o nome do endereço IP ou o URI do recurso de endereço. É preciso reservar o endereço IP para poder usá-lo.ZONE
: a zona para a VM.
Para endereços IPv4 internos, forneça explicitamente a propriedade
networkInterfaces[].networkIP
com o endereço IPv4 interno que você quer atribuir à VM.Exemplo:
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "name": "VM_NAME", "machineType": "zones/us-central1-f/machineTypes/e2-micro", "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT", }], "network": "global/networks/default", "networkIP": "IPV4_ADDRESS" }], "disks": [{ "autoDelete": "true", "boot": "true", "type": "PERSISTENT", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/v20150818" } }] }Substitua:
PROJECT_ID
: ID do projeto em que a VM será criada.ZONE
: zona em que a VM será criada.VM_NAME
: o nome da instância da máquina virtualIPV4_ADDRESS
: o endereço IPv4 interno a ser atribuído à VM.
Para endereços IPv6 internos, especifique explicitamente os valores das seguintes propriedades:
networkInterfaces[].stackType
networkInterfaces[].ipv6Address
networkInterfaces[].internalIpv6PrefixLength
networkInterfaces[].ipv6AccessType
Exemplo:
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "name": "VM_NAME", "machineType": "zones/us-central1-f/machineTypes/e2-micro", "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT", }], "network": "global/networks/default", "stackType": "IPV4_IPV6" "ipv6Address": ""IPV6_ADDRESS"", "internalIpv6PrefixLength": 96 "ipv6AccessType": INTERNAL, }], "disks": [{ "autoDelete": "true", "boot": "true", "type": "PERSISTENT", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/v20150818" } }] }Substitua:
PROJECT_ID
: ID do projeto em que a VM será criada.ZONE
: zona em que a VM será criada.VM_NAME
: o nome da VM.IPV6_ADDRESS
: o endereço IPv6 que será atribuído à VM.
- Reserve um endereço IPv6 interno estático.
- No console do Google Cloud, acesse a página Instâncias de VMs.
- Clique no nome da instância cujo endereço IPv6 interno você quer alterar.
Na página de detalhes da instância, conclua estas etapas:
- Clique em Editar.
- Abra Interfaces de rede.
- Na lista Endereço IPv6 interno principal, selecione Alocado automaticamente (/96) ou um endereço IPv6 interno estático reservado.
- Clique em Concluído.
Clique em Salvar.
VM_NAME
: o nome da VM que você quer criar.NIC
: o nome da interface de rede a ser atualizada.INTERNAL_IPV6_ADDRESS
: o endereço IPv6 interno/96
a ser atribuído à interface, o nome do endereço IP ou o URI do recurso de endereço.ZONE
: a zona para a VM.PROJECT_ID
: o ID do projeto em que a VM está.ZONE
: zona em que a VM será criada.VM_NAME
: o nome da VM.IPV6_ADDRESS
: o endereço IPv6 que será atribuído à VM.Se você especificar o URI do recurso de endereço IPv6 interno ou um intervalo de endereços IPv6 como o valor de IPV6_ADDRESS, deixe o valor de
internalIpv6PrefixLength
em branco.- Determinar se um endereço IPv4 ou IPv6 interno é temporário ou estático
- Listar endereços IPv4 ou IPv6 internos estáticos
- Cancelar a atribuição de um endereço IPv6 interno estático
- Liberar um endereço IPv6 interno estático
No console do Google Cloud, acesse a página Endereços IP.
Localize o endereço na lista e verifique o tipo de endereço IP na coluna Tipo.
- No console do Google Cloud, acesse a página Instâncias de VMs.
- Clique no nome da instância cujo endereço IPv6 interno você quer remover.
Na página de detalhes da instância, conclua estas etapas:
- Clique em Editar.
- Abra Interfaces de rede.
- Em Tipo de pilha de IP, selecione IPv4 (pilha única).
- Clique em Concluído.
Clique em Salvar.
VM_NAME
: o nome da VM cuja interface de rede você quer atualizar.NIC
: o nome da interface de rede a ser atualizada.ZONE
: a zona para a VM.- Faça uma solicitação
PATCH
ao métodoinstances.updateNetworkInterface
. No corpo da solicitação, atualize o valor do campo
stackType
paraIPV4_ONLY
.Exemplo:
PATCH https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME
/updateNetworkInterface { "networkInterfaces": [{ ... "stackType" : "IPV4_ONLY" ... }] }Substitua:
PROJECT_ID
: o ID do projeto em que a VM está.ZONE
: zona em que a VM será criada.VM_NAME
: o nome da VM.
- Saiba mais sobre endereços IP.
- Saiba como configurar um endereço IP externo estático.
- Saiba como atribuir vários endereços IP internos usando endereços IP de alias.
Terraform
Para usar os exemplos do Terraform nesta página em um ambiente de desenvolvimento local, instale e inicialize a gcloud CLI e, em seguida, configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
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.
Papéis obrigatórios
Para receber as permissões necessárias a fim de configurar e gerenciar endereços IP estáticos, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Esses papéis predefinidos têm as permissões necessárias para configurar e gerenciar endereços IP estáticos. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para reservar e gerenciar endereços IP estáticos:
Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.
Limitações
Como configurar um endereço IP interno estático
É possível reservar um endereço IP interno estático e, em seguida, especificar o endereço reservado ao criar uma VM. Também é possível criar a VM com um endereço IP interno temporário e, em seguida, promover esse endereço IP temporário a um endereço IP interno estático.
Para usar um endereço IP interno estático, você precisa de uma rede VPC em vigor para o projeto. Para conferir as redes VPC no projeto, consulte Conferir redes VPC.
Reservar um endereço IPv4 ou IPv6 interno estático e associá-lo a uma VM específica
Nesta situação, você reserva separadamente um endereço IP interno estático e o atribui a uma VM:
Especificar um endereço IPv4 ou IPv6 interno temporário para uma VM e promovê-lo
Neste cenário, você promove um endereço IPv4 ou IPv6 interno temporário que ainda está anexado a uma VM:
Os dois métodos estão descritos na figura 1.
Conferir endereços IP internos estáticos disponíveis
Para visualizar todos os endereços IP internos estáticos atuais, conclua as etapas a seguir.
Console
gcloud
Use o comando
gcloud compute addresses list
:gcloud compute addresses list
API
Use o método
addresses.list
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
Substitua:
Para listar todos os endereços em todas as regiões, use o método
addresses.aggregatedList
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/addresses
Como endereços IP internos são atribuídos
As interfaces de rede de uma VM recebem endereços IP da sub-rede a que estão conectadas. Cada interface de VM tem um endereço IPv4 interno principal, que é atribuído a partir do intervalo IPv4 principal da sub-rede. Se a VM estiver conectada a uma sub-rede de pilha dupla com um intervalo IPv6 interno, será possível atribuir um endereço IPv6 interno a cada interface de rede.
Os endereços IPv4 internos podem ser atribuídos das seguintes maneiras:
Os endereços IPv6 internos podem ser atribuídos das seguintes maneiras:
Usar endereços IP internos estáticos reservados ao criar recursos
Depois de reservar um endereço IP interno estático, atribua o endereço reservado ao criar uma VM ou um balanceador de carga interno.
Os procedimentos a seguir descrevem como usar endereços IP internos estáticos ao criar recursos:
Criar uma instância de VM com um endereço IPv4 ou IPv6 interno reservado
Quando você cria uma VM conectada a uma sub-rede de pilha dupla com um intervalo IPv6 interno sem especificar nenhum endereço IPv6 interno estático reservado, o Compute Engine atribui automaticamente à VM um endereço IPv6 interno temporário do intervalo IPv6 da sub-rede.
Console
gcloud
REST
Para criar uma instância de VM com um endereço IP interno estático, use o método
instances.insert
.Se você excluir uma instância de VM com um endereço IP temporário, o endereço voltará para o pool de endereços não alocados. Se você precisa que um endereço IP interno persista além do período da instância, reserve um endereço IP interno estático.
Atribuir um endereço interno estático à interface de rede secundária de uma VM
Ao criar uma instância de VM com várias interfaces de rede, é possível usar um endereço IPv4 ou IPv6 interno estático reservado para as interfaces de rede primária e secundária.
Para usar um endereço IPv4 ou IPv6 interno estático em uma interface de rede secundária, consulte Criar instâncias de máquina virtual com várias interfaces de rede.
Alterar ou atribuir um endereço IPv6 interno a uma VM atual
É possível alterar ou atribuir um endereço IPv6 interno a uma instância VM.
Se a instância já tiver um endereço IPv6 interno atribuído a ela, primeiro será necessário cancelar a atribuição desse endereço. Em seguida, atribua um novo endereço à instância usando a interface de rede dela.
Para alterar ou atribuir um endereço IPv6 interno estático a uma instância de VM atual, conclua as etapas a seguir.
Console
gcloud
Use o comando
compute instances network-interfaces update
.gcloud compute instances network-interfaces update VM_NAME \ --network-interface NIC \ --ipv6-network-tier PREMIUM \ --stack-type IPV4_IPV6 \ --internal-ipv6-address INTERNAL_IPV6_ADDRESS \ --zone ZONE
Substitua:
REST
Use o método
instances.update
. Atualize a propriedadenetworkInterfaces[].ipv6Address
com o endereço IPv6 interno que você quer atribuir.Por exemplo:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME { ... "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT", }], "stackType": "IPV4_IPV6" "ipv6Address": "IPV6_ADDRESS", "internalIpv6PrefixLength": 96 "subnetwork": "regions/REGION/subnetworks/SUBNETWORK", }], "disks": [{ "autoDelete": "true", "boot": "true", "type": "PERSISTENT", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/v20150818" } }] }
Substitua:
Gerenciar endereços IP internos estáticos
Os seguintes procedimentos permitem gerenciar endereços IP internos estáticos para suas VMs:
Determinar se um endereço IPv4 ou IPv6 interno é temporário ou estático
Os endereços IP internos estáticos e temporários se comportam e aparecem da mesma forma na maioria dos contextos. No entanto, com endereços IP internos estáticos, é possível usar o mesmo endereço IP para o mesmo recurso, mesmo que ele seja excluído e recriado. Em geral, um endereço IP temporário é liberado ao interromper ou excluir o recurso.
Para determinar se um endereço é estático ou temporário, faça o seguinte:
Cancelar a atribuição de um endereço IPv6 interno estático
É possível cancelar a atribuição de um endereço IPv6 interno estático de uma instância de VM de pilha dupla. Basta atualizar o tipo de pilha da interface de rede da instância ou excluir a instância em que está o endereço. é atribuído.
Quando você cancela a atribuição de um endereço IPv6 interno, o sistema o remove do recurso, mas mantém o endereço reservado para o projeto. Posteriormente, você poderá reatribuir o endereço a outro recurso.
Para cancelar a atribuição de um endereço IPv6 interno estático de uma instância de VM, conclua as etapas a seguir.
Console
gcloud
Use o comando
compute instances network-interfaces update
com a sinalização--stack-type
definida comoIPV4_ONLY
:gcloud compute instances network-interfaces update VM_NAME \ --network-interface NIC \ --stack-type IPV4_ONLY \ --zone ZONE
Substitua:
Verifique se o endereço IPv6 externo estático está disponível e marcado como
RESERVED
e nãoIN_USE
.gcloud compute addresses list \ --filter="region=REGION AND name=NAME"
REST
Atualize o tipo de pilha da instância da interface de rede em que o endereço IPv6 interno está anexado:
Liberar um endereço IP interno estático
Se você não precisar mais de um endereço IPv4 ou IPv6 externo estático, libere o endereço IP excluindo o recurso de endereço IP. A exclusão de uma VM não libera automaticamente um endereço IP externo estático. Será necessário liberá-los manualmente se você não precisar mais deles.
Para liberar um endereço IP interno estático, consulte Liberar um endereço IPv4 ou IPv6 interno estático na documentação da VPC.
A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-09-24 UTC.
-