Você pode atribuir endereços IP externos estáticos à sua máquina virtual (VM) e às instâncias bare metal. Você também pode alterar, listar e liberar endereços IP estáticos para suas instâncias. Para reservar um endereço IP externo estático, consulte Reservar um endereço IP externo estático .
Os endereços IP externos podem ser estáticos ou efêmeros . Se uma instância exigir um endereço IP externo fixo que não mude, faça o seguinte:
- Obtenha um endereço IP externo estático. Você pode reservar novos endereços IP externos ou promover endereços IP externos temporários existentes.
- Atribua o endereço IP reservado a uma instância existente ou atribua-o ao criar uma nova instância.
Se você precisar de um endereço IP estático na rede interna do Compute Engine, consulte Reservar um endereço IP interno estático .
Para obter informações sobre como reservar um endereço IP externo estático ou criar um endereço IP externo global, consulte Reservar um endereço IP externo estático .
Antes de começar
- Leia sobre endereços IP .
- Leia sobre cotas e limites para endereços IP externos estáticos .
- Leia sobre preços de endereços IP externos .
- 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
-
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.
- Set a default region and zone.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Para criar e atualizar instâncias: Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) -
compute.instances.update
na instância -
compute.instances.updateNetworkInterface
na instância -
compute.instances.addAccessConfig
na instância -
compute.instances.deleteAccessConfig
na instância -
compute.networks.list
na rede -
compute.subnetworks.use
na sub-rede -
compute.subnetworks.list
na sub-rede - Para criar instâncias:
-
compute.instances.create
no projeto - Para usar uma imagem personalizada para criar a VM:
compute.images.useReadOnly
na imagem - Para usar um instantâneo para criar a VM:
compute.snapshots.useReadOnly
no instantâneo - Para usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnly
no modelo de instância - Para atribuir uma rede legada à VM:
compute.networks.use
no projeto - Para especificar um endereço IP estático para a VM:
compute.addresses.use
no projeto - Para atribuir um endereço IP externo à VM ao usar uma rede legada:
compute.networks.useExternalIp
no projeto - Para especificar uma sub-rede para a VM:
compute.subnetworks.use
no projeto ou na sub-rede escolhida - Para atribuir um endereço IP externo à VM ao usar uma rede VPC:
compute.subnetworks.useExternalIp
no projeto ou na sub-rede escolhida - Para definir metadados de instância de VM para a VM:
compute.instances.setMetadata
no projeto - Para definir tags para a VM:
compute.instances.setTags
na VM - Para definir rótulos para a VM:
compute.instances.setLabels
na VM - Para definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccount
na VM - Para criar um novo disco para a VM:
compute.disks.create
no projeto - Para anexar um disco existente no modo somente leitura ou leitura-gravação:
compute.disks.use
no disco - Para anexar um disco existente no modo somente leitura:
compute.disks.useReadOnly
no disco
-
Apenas um recurso por vez pode usar um endereço IP externo estático.
Não há como verificar se um endereço IP é estático ou efêmero depois de ter sido atribuído a um recurso. Você pode comparar o endereço IP com a lista de endereços IP externos estáticos reservados para esse projeto. Use o subcomando
gcloud compute addresses list
para ver uma lista de endereços IP externos estáticos disponíveis para o projeto.Cada VM pode ter múltiplas interfaces de rede, e cada interface pode ter os seguintes endereços IP atribuídos de acordo com seu tipo de pilha :
- Interfaces somente IPv4:
- Um endereço IPv4 interno (obrigatório)
- Um endereço IPv4 externo (opcional)
- Interfaces de pilha dupla (IPv4 e IPv6):
- Um endereço IPv4 interno (obrigatório)
- Um endereço IPv4 externo (opcional)
- Um intervalo de endereços IPv6
/96
, interno ou externo, mas não ambos (obrigatório)
- Interfaces somente IPv6 ( Visualização ):
- Um intervalo de endereços IPv6
/96
, interno ou externo, mas não ambos (obrigatório)
- Um intervalo de endereços IPv6
- Interfaces somente IPv4:
Não é possível cancelar a atribuição ou alterar o endereço IPv6 externo de uma VM com uma interface de rede somente IPv6. No entanto, você pode promover um endereço IP externo efêmero de um recurso para um endereço IP externo estático para que o endereço permaneça reservado mesmo depois que o recurso for excluído.
Você não pode alterar o nome de um endereço IP estático.
No console do Google Cloud, acesse a página de endereços IP .
Clique em Endereços IP externos .
Para listar todos os endereços IP, use o seguinte comando:
gcloud compute addresses list
Para listar todos os endereços IP globais, use o seguinte comando:
gcloud compute addresses list --global
Para listar todos os endereços IP regionais em uma determinada região, use o seguinte comando:
gcloud compute addresses list \ --regions=REGION
Substitua
REGION
pela região para a qual você deseja listar os endereços. Você pode listar endereços de diversas regiões especificando nomes de regiões separados por vírgula:gcloud compute addresses list \ --regions=REGION1,REGION2,..REGION_n_
Para listar endereços IPv4 ou IPv6 regionais, chame o método
addresses.list
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
Substitua o seguinte:
-
PROJECT_ID
: o ID do projeto para esta solicitação -
REGION
: o nome da região para esta solicitação
-
Para listar todos os endereços em todas as regiões, chame o método
addresses.aggregatedList
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/addresses
Para listar endereços IPv4 ou IPv6 globais, chame o método
globalAddresses.list
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
Substitua o seguinte:
PROJECT_ID
: o ID do projeto para esta solicitaçãoNo console do Google Cloud, acesse a página Criar uma instância .
Para atribuir um endereço IP externo estático à instância, faça o seguinte:
No menu de navegação, clique em Rede .
Na seção Interfaces de rede , especifique as interfaces de rede desejadas para a instância usando as seguintes opções:
Para adicionar uma interface de rede, clique em Adicionar uma interface de rede . Em seguida, na lista Rede , selecione uma rede.
Para excluir uma interface de rede, clique em
Excluir .
Selecione uma das seguintes opções:
Para atribuir um endereço IPv4 externo estático, faça o seguinte:
- Expanda uma interface de rede.
- Selecione o endereço IP na lista de endereços IPv4 externos .
Para atribuir um endereço IPv6 externo estático, faça o seguinte:
- Expanda uma interface de rede que contenha uma sub-rede com um intervalo de endereços IPv6 externo.
- Selecione essa sub-rede na lista Sub-rede .
- Para o tipo de pilha IP , selecione IPv4 e IPv6 (pilha dupla) ou IPv6 (pilha única) .
- Selecione o endereço IPv6 externo recentemente reservado na lista de endereços IPv6 externos . Como alternativa, selecione Reservar endereço IPv6 externo estático e reserve um novo endereço IPv6 externo estático.
- Para Nível de serviço de rede , selecione Premium .
Para finalizar a modificação da interface de rede, clique em Concluído .
Continue com o processo de criação da instância.
Para atribuir um endereço IPv4 externo estático, faça o seguinte:
gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --address=IPV4_ADDRESS
Para atribuir um endereço IPv6 externo estático, faça o seguinte:
gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --subnet=SUBNET \ --stack-type=STACK_TYPE \ --external-ipv6-address=IPV6_ADDRESS \ --external-ipv6-prefix-length=96 \ --ipv6-network-tier=PREMIUM
Substitua o seguinte:
-
INSTANCE_NAME
: o nome da instância de computação. -
ZONE
: a zona na qual criar a instância -
IPV4_ADDRESS
: o endereço IPv4 a ser atribuído à instância. Use o endereço IP externo estático reservado, não o nome do endereço. -
SUBNET
: uma sub-rede que contém endereços IPv6 externos -
STACK_TYPE
: o tipo de pilha da instância,IPV4_IPV6
(pilha dupla) ouIPV6_ONLY
-
IPV6_ADDRESS
: o endereço IPv6 a ser atribuído à instância. Use o endereço IP externo estático reservado, não o nome do endereço.
-
Para atribuir um endereço IPv4 externo estático a uma nova instância de computação, faça o seguinte:
Em sua solicitação para criar uma nova instância , forneça explicitamente a
networkInterfaces[].accessConfigs[].natIP
e o endereço IPv4 externo que você deseja usar, por exemplo:{ "name": "INSTANCE_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT", "natIP": "IPV4_ADDRESS" }], "network": "global/networks/default" }], "disks": [{ "autoDelete": "true", "boot": "true", "type": "PERSISTENT", "initializeParams": { "sourceImage": "SOURCE_IMAGE" } }] }
Substitua o seguinte:
-
INSTANCE_NAME
: o nome da instância de computação -
ZONE
: a zona na qual criar a instância -
MACHINE_TYPE
: Opcional: uma URL completa ou parcial do recurso de tipo de máquina a ser usado ao criar a instância, no formato:zones/ ZONE /machineTypes/ MACHINE_TYPE
-
IPV4_ADDRESS
: o endereço IPv4 a ser atribuído à instância. Use o endereço IP externo estático reservado, não o nome do endereço. -
SOURCE_IMAGE
: uma versão específica de uma imagem pública, comoprojects/debian-cloud/global/images/debian-10-buster-v20200309
ou uma família de imagens, comoprojects/debian-cloud/global/images/family/debian-10
-
Para atribuir um endereço IPv6 externo estático a uma nova instância, faça o seguinte:
Em sua solicitação para criar uma nova instância , forneça explicitamente a propriedade
networkInterfaces[].ipv6AccessConfigs[].externalIpv6
e o endereço IPv6 externo que você deseja usar, por exemplo:{ "name": "INSTANCE_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "networkInterfaces": [{ "ipv6AccessConfigs": [{ "externalIpv6": "IPV6_ADDRESS", "externalIpv6PrefixLength": 96, "name": "external-ipv6-access-config", "networkTier": "PREMIUM", "type": "DIRECT_IPV6" }], "stackType": "STACK_TYPE", "subnetwork":"SUBNETWORK" }], "disks": [{ "autoDelete": "true", "boot": "true", "mode": "READ_WRITE", "type": "PERSISTENT", "initializeParams": { "sourceImage": "SOURCE_IMAGE" }, }], }
Substitua o seguinte:
-
INSTANCE_NAME
: o nome da instância de computação -
ZONE
: a zona na qual criar a instância -
MACHINE_TYPE
: Opcional: uma URL completa ou parcial do recurso de tipo de máquina a ser usado ao criar a instância, no formato:zones/ ZONE /machineTypes/ MACHINE_TYPE
-
IPV6_ADDRESS
: o endereço IPv6 a ser atribuído à instância. Use o endereço IP externo estático reservado, não o nome do endereço. -
STACK_TYPE
: o tipo de pilha da instância,IPV4_IPV6
(pilha dupla) ouIPV6_ONLY
-
SUBNET
: uma sub-rede que contém endereços IPv6 externos -
SOURCE_IMAGE
: uma versão específica de uma imagem pública, como"projects/debian-cloud/global/images/debian-10-buster-v20200309"
ou uma família de imagens, como"projects/debian-cloud/global/images/family/debian-10"
-
No console do Google Cloud, acesse a página de instâncias de VM .
Clique no nome da instância à qual você deseja atribuir um IP externo. A página de detalhes da instância é exibida.
Na página de detalhes da instância , conclua as etapas a seguir:
- Clique em Editar .
- Expanda Interfaces de rede .
- Selecione o endereço IP externo necessário para atribuir à instância. Se a instância for somente IPv4 e você quiser atribuir um endereço IPv6, primeiro deverá alterar o tipo de pilha para pilha dupla.
- Para Endereço IPv4 externo , selecione Temporário ou um endereço IPv4 externo estático.
- Para Endereço IPv6 externo , selecione Temporário ou um endereço IPv6 externo estático.
- Clique em Concluído .
Clique em Salvar .
Opcional: Reserve um endereço IP externo estático.
Se quiser atribuir um endereço IP externo estático, você deverá reservar um endereço e certificar-se de que o endereço não esteja em uso por outro recurso. Se necessário, siga as instruções para reservar um novo endereço IP externo estático ou para cancelar a atribuição de um endereço IP externo estático .
Se você pretende usar um endereço IP externo temporário, ignore esta etapa e o Compute Engine atribuirá aleatoriamente um endereço IP externo temporário.
Remova qualquer atribuição de endereço IP existente, conforme descrito em Cancelar atribuição de um endereço IP externo estático .
Atribua o novo endereço IP externo.
Para atribuir um endereço IPv4, use o subcomando
instances add-access-config
:Nota: Não substituaIP_ADDRESS
pelo nome do endereço IP estático. Você deve usar o endereço IP real.gcloud compute instances add-access-config INSTANCE_NAME \ --access-config-name="ACCESS_CONFIG_NAME" --address=IP_ADDRESS
Substitua o seguinte:
-
INSTANCE_NAME
: o nome da instância. -
ACCESS_CONFIG_NAME
: o nome para chamar esta configuração de acesso. Certifique-se de incluir o nome completo entre aspas. -
IP_ADDRESS
: o endereço IP a ser adicionado.
Se você quiser que o Compute Engine atribua um endereço IP externo temporário em vez de usar um endereço IP externo estático, omita a propriedade
--address IP_ADDRESS
:gcloud compute instances add-access-config INSTANCE_NAME \ --access-config-name="ACCESS_CONFIG_NAME"
-
Para alterar uma instância para pilha dupla e atribuir a ela um endereço IPv6, use o subcomando
instance network-interfaces update
:gcloud compute instances network-interfaces update INSTANCE_NAME \ --network-interface=NIC \ --ipv6-network-tier=PREMIUM \ --stack-type=STACK_TYPE \ --external-ipv6-address=IPV6_ADDRESS \ --external-ipv6-prefix-length=96 \ --zone=ZONE
Substitua o seguinte:
-
INSTANCE_NAME
: o nome da instância. -
NIC
: o nome da interface de rede. -
STACK_TYPE
: o tipo de pilha da instância, que deve serIPV4_IPV6
. Você não pode alterar o tipo de pilha para IPV6_ONLY. -
IPV6_ADDRESS
: o endereço IPv6 a ser atribuído à instância. Especifique o primeiro endereço IPv6 no intervalo/96
. -
ZONE
: a zona da instância.
-
Remova qualquer atribuição de endereço IP existente, conforme descrito em Cancelar atribuição de um endereço IP externo estático .
Exclua a configuração de acesso existente fazendo uma solicitação
POST
para o métodoinstances.deleteAccessConfig
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/deleteAccessConfig
Adicione uma nova configuração de acesso à interface de rede da instância fazendo uma solicitação
POST
ao métodoinstances.addAccessConfig
.Para endereços IPv4, faça a seguinte solicitação:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addAccessConfig { "natIP": "IPV4_ADDRESS", "name": "ACCESS_CONFIG_NAME" }
Para endereços IPv6, atualize o
stackType
da interface de rede paraIPV4_IPV6
e atualize anetworkInterfaces[].ipv6AccessConfigs[].externalIpv6
e o endereço IPv6 externo que você deseja usar.Para obter mais informações, consulte Atribuir um endereço IP externo estático a uma nova instância .
- Você pode aplicar essa restrição de lista somente a instâncias.
- Você não pode aplicar a restrição retroativamente. Todas as instâncias que possuem endereços IP externos antes de você ativar a política mantêm seus endereços IP externos.
- Esta restrição aceita uma
allowedList
ou umadeniedList
, mas não ambas na mesma política. - Cabe a você ou a um administrador com as permissões necessárias gerenciar e manter o ciclo de vida e a integridade da instância. A restrição verifica apenas o URI da instância e não impede que as instâncias na lista de permissões sejam alteradas, excluídas ou recriadas.
- Vá para a página Políticas Organizacionais .
- Se necessário, selecione a organização necessária no menu suspenso do projeto.
- Clique em Definir IPs externos permitidos para instâncias de VM .
- Clique em Editar para editar a política de IP externa. Se não conseguir acessar a ferramenta Editar , você não tem as permissões corretas.
Selecione Personalizar para definir a política da organização para instâncias específicas.
Selecione a aplicação da política e o tipo de política necessários.
Para Valores de política , selecione Personalizado .
Insira um URI para uma instância. O URI deve estar no seguinte formato:
projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Clique em Novo valor de política e insira URIs para instâncias conforme necessário.
Clique em Salvar para aplicar a restrição.
-
PROJECT_ID
: o ID do projeto para esta solicitação, comoexample-project
. Observe que isso é diferente de configurar políticas da organização, que exigem o ID numérico da organização. -
ZONE
: a zona da instância -
INSTANCE_NAME
: o nome da instância -
PROJECT_ID
: o ID do projeto para esta solicitação, comoexample-project
. Observe que isso é diferente de configurar políticas da organização, que exigem o ID numérico da organização. -
ZONE
: a zona da instância. -
INSTANCE_NAME
: o nome da instância. Evite usar a lista
deniedValues
com esta restrição. Se você definir valores na listadeniedValues
, isso significa que apenas as instâncias na listadeniedValues
terão acesso restrito ao uso de endereços IP externos. Isso pode ser uma preocupação de segurança se você quiser controlar exatamente quais instâncias podem ter endereços IP externos. Se você quiser remover determinadas instâncias da listaallowedValues
, atualize a política existente para remover as instâncias daallowedList
em vez de colocar as instâncias na listadeniedValues
em uma hierarquia inferior.Se você quiser definir uma política em uma grande parte da hierarquia de recursos, mas isentar determinados projetos, restaure a política padrão usando o método
setOrgPolicy
especificando o objetorestoreDefault
para permitir que todas as instâncias nos projetos sejam associadas a endereços IP externos. As políticas atuais para projetos não são afetadas pela configuração padrão.Use a política organizacional junto com as funções do IAM para controlar melhor seu ambiente. Esta política se aplica apenas a instâncias, mas se você quiser controlar melhor e restringir endereços IP externos em dispositivos de rede, poderá conceder a função
compute.networkAdmin
às partes apropriadas.Todos os serviços e produtos em execução no Compute Engine na organização ou no projeto com a política ativada estão sujeitos a esta política da organização. Especificamente, serviços como Google Kubernetes Engine, Dataflow, Dataproc e Cloud SQL são afetados por esta política. Se isso for um problema, o Google recomenda que você configure outros serviços e produtos em um projeto diferente que não tenha a política da organização aplicada e use a VPC compartilhada , se necessário.
No console do Google Cloud, acesse a página de endereços IP .
Encontre o endereço na lista e verifique a coluna Tipo para o tipo de endereço IP.
No console do Google Cloud, acesse a página de endereços IP .
Clique em Endereços IP externos .
Selecione o endereço IP estático cuja atribuição você deseja cancelar.
Clique em
Exibir ações e selecione a opção Reatribuir a outro recurso .Na lista suspensa Anexar a , selecione Nenhum .
Clique em OK .
Verifique se um endereço IP estático está em uso usando o comando
gcloud compute addresses list
:gcloud compute addresses list
A saída é semelhante à seguinte:
NAME REGION ADDRESS STATUS example-address-ipv4 REGION 198.51.100.1 RESERVED example-address-new-ipv4 REGION 203.0.113.1 IN_USE example-address-ipv6 REGION 2001:db8:1:1:1:1:1:1 RESERVED example-address-new-ipv6 REGION 2001:db8:4:4:4:4:4:4 IN_USE
- Se o endereço IP não estiver em uso, o status será
RESERVED
. - Se o endereço IP estiver em uso, o status será
IN_USE
.
- Se o endereço IP não estiver em uso, o status será
Recupere o nome da instância que está usando o endereço IP:
gcloud compute addresses describe ADDRESS_NAME \ --region=REGION
Substitua o seguinte:
-
ADDRESS_NAME
: o nome do recurso de endereço IPv6. -
REGION
: a região do recurso de endereço IPv6.
A saída é semelhante à seguinte:
address: IP_ADDRESS addressType: EXTERNAL ... region: https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/addresses/ADDRESS_NAME status: IN_USE subnetwork: https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET users: - https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/INSTANCE_NAME
O campo
users
exibe o nome da instância que está usando o endereço IP.-
Cancele a atribuição do endereço IP da instância.
Para cancelar a atribuição de um endereço IPv4, exclua o arquivo de configuração de acesso da instância:
Obtenha o nome da configuração de acesso a ser excluída. Para obter o nome, use o comando
gcloud compute instances describe
. SubstituaINSTANCE_NAME
pelo nome da instância.gcloud compute instances describe INSTANCE_NAME
A configuração de acesso aparece no seguinte formato:
networkInterfaces: - accessConfigs: - kind: compute#accessConfig name: external-nat natIP: 203.0.113.1 type: ONE_TO_ONE_NAT
Exclua a configuração de acesso usando o comando
gcloud compute instances delete-access-config
:gcloud compute instances delete-access-config INSTANCE_NAME \ --access-config-name="ACCESS_CONFIG_NAME"
Substitua o seguinte:
-
INSTANCE_NAME
: o nome da instância. -
ACCESS_CONFIG_NAME
: o nome da configuração de acesso a ser excluída. Certifique-se de incluir o nome completo entre aspas.
-
Para cancelar a atribuição de um intervalo de endereços IPv6, use o comando
instance network-interfaces update
:gcloud compute instances network-interfaces update INSTANCE_NAME \ --network-interface=nic0 \ --stack-type=IPV4_ONLY \ --zone=ZONE
Substitua o seguinte:
-
INSTANCE_NAME
: o nome da instância que está usando o endereço IP. -
ZONE
: a zona da instância.
-
Verifique se o seu endereço IP externo estático agora está disponível e marcado como
RESERVED
em vez deIN_USE
.gcloud compute addresses list \ --filter="ADDRESS_NAME AND region=REGION"
Substitua o seguinte:
-
ADDRESS_NAME
: o nome do recurso de endereço IP. -
REGION
: a região do recurso de endereço IP.
-
Para endereços IPv4, exclua a configuração de acesso anexada à instância que está usando o endereço.
Para verificar os detalhes de configuração de acesso de uma instância, faça uma solicitação
GET
ao métodoinstances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Exclua a configuração de acesso existente fazendo uma solicitação
POST
para o métodoinstances.deleteAccessConfig
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/deleteAccessConfig
Substitua o seguinte:
-
PROJECT_ID
: o ID do projeto para esta solicitação -
ZONE
: a zona onde a instância está localizada -
INSTANCE_NAME
: o nome da instância
-
Para endereços IPv6, atualize o tipo de pilha da interface de rede da instância à qual o endereço IPv6 está anexado.
Faça uma solicitação
PATCH
para o métodoinstances.updateNetworkInterface
.No corpo da solicitação, atualize o valor do campo
stackType
paraIPV4_ONLY
.Por exemplo:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateNetworkInterface { "networkInterfaces": [{ ... "stackType" : "IPV4_ONLY" ... }] }
- Saiba mais sobre endereços IP .
- Saiba mais sobre redes e firewalls .
- Saiba como lidar com instâncias do Compute Engine usando DNS interno .
- Revise os preços da VPC .
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.
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 configurar e gerenciar endereços IP estáticos, peça ao administrador para conceder a você as seguintes funções do IAM em seu projeto:
Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .
Essas funções predefinidas contêm as permissões necessárias para configurar e gerenciar endereços IP estáticos. Para ver 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 configurar e gerenciar endereços IP estáticos:
Você também poderá obter essas permissões com funções personalizadas ou outras funções predefinidas .
Limitações
Observação: as interfaces de rede podem receber tráfego de diversas regras de encaminhamento , que podem servir outros endereços IP externos. Qualquer número de endereços IP externos pode fazer referência a uma interface de rede por meio dessas regras de encaminhamento, mas cada interface de rede pode receber apenas um endereço IPv4 externo e um intervalo de endereços IPv6
/96
externo.Para obter mais informações sobre balanceamento de carga e regras de encaminhamento, leia a documentação de balanceamento de carga .
Ver endereços IP externos estáticos disponíveis
Para listar endereços IP externos estáticos que você reservou para o seu projeto, siga estas etapas.
Console
gcloud
Use o comando
gcloud compute addresses list
:API
Ir
Java
Pitão
Configurar endereços IP externos estáticos
As seções a seguir descrevem como configurar endereços IP externos estáticos para suas instâncias.
Crie uma instância que use um endereço IP externo estático
Depois de reservar um endereço IP externo estático , você poderá atribuí-lo a uma instância.
Console
gcloud
Você pode criar uma instância e atribuir um endereço IP externo regional estático que você já reservou.
Terraforma
Você pode usar o recurso
google_compute_instance
para atribuir um endereço IP externo.DESCANSAR
Ir
Java
Pitão
Alterar ou atribuir um endereço IP externo a uma instância existente
Você pode alterar ou atribuir um endereço IP externo, temporário ou estático, a uma instância existente somente IPv4 ou de pilha dupla. Este procedimento não é compatível com instâncias somente IPv6.
Uma instância de computação pode ter diversas interfaces. Uma interface de pilha única pode ter um endereço IP externo. Uma interface de pilha dupla pode ter um endereço IPv4 externo e um endereço IPv6 externo. Se a instância já tiver um endereço IP externo, você deverá primeiro remover esse endereço . Em seguida, você poderá atribuir um novo endereço IP externo à instância existente.
Console
gcloud
DESCANSAR
Você pode alterar o endereço IPv4 ou IPv6 externo de uma instância adicionando uma nova configuração de acesso para essa instância.
Ir
Java
Pitão
Restringir endereços IP externos a instâncias específicas
Para determinadas cargas de trabalho, você pode ter requisitos essenciais que incluem restrições de segurança e de rede. Por exemplo, talvez você queira restringir endereços IP externos para que apenas instâncias de computação específicas possam usá-los. Esta opção pode ajudar a evitar a exfiltração de dados ou manter o isolamento da rede. Usando uma Política da Organização , você pode restringir endereços IP externos a instâncias específicas com restrições para controlar o uso de endereços IP externos para suas instâncias em uma organização ou projeto.
A restrição para controlar o endereço IP externo nas instâncias é:
constraints/compute.vmExternalIpAccess
Para usar a restrição, você especifica uma política com uma
allowedList
de instâncias que podem ter endereços IP externos. Se você não especificar uma política, todos os endereços IP externos serão permitidos para todas as instâncias. Quando a política estiver em vigor, somente as instâncias listadas na listaallowedValues
poderão receber um endereço IP externo, seja efêmero ou estático, e outras instâncias do Compute Engine na organização ou no projeto que não estejam explicitamente definidas na política serão proibidas de usar endereços IP externos.As instâncias são identificadas nas listas de permissão e negação usando o URI da instância:
projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Especificações para restringir endereços IP externos
Permissões necessárias para restringir endereços IP externos
Para definir uma restrição no nível do projeto ou da organização, você deve ter recebido a função
orgpolicy.policyAdmin
na organização.Defina a restrição política no nível da organização
Console
gcloud
Para definir uma restrição para acesso IP externo, primeiro você precisa do ID da sua organização. Você pode encontrar o ID da organização executando o comando
organizations list
e procurando o ID numérico na resposta:gcloud organizations list
A CLI gcloud retorna uma lista de organizações no seguinte formato:
DISPLAY_NAME ID example-organization1 29252605212 example-organization2 1234567890
Use o comando
gcloud resource-manager org-policies set-policy
para definir a política. Você precisa fornecer sua política como um arquivo JSON. Crie um arquivo JSON no seguinte formato:{ "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allowedValues": [ "projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME", "projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME", "projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME" ] } }
Substitua o seguinte:
Alternativamente, você pode especificar uma lista
deniedValues
para indicar instâncias que você deseja proibir explicitamente de terem um endereço IP externo. Qualquer instância que não estivesse na lista teria permissão implícita para ter um endereço IP externo. Você só pode especificarallowedValues
oudeniedValues
, mas não ambos.Em seguida, passe o arquivo com sua solicitação:
gcloud resource-manager org-policies set-policy MY_POLICY.JSON --organization=ORGANIZATION_ID
Substitua
ORGANIZATION_ID
pelo ID numérico da organização.Se não quiser que nenhuma instância tenha acesso IP externo, você pode definir uma política com
allValues
definido comoDENY
:{ "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allValues": "DENY" } }
DESCANSAR
Use a API
setOrgPolicy()
para definir sua restrição. As instâncias na listaallowedValue
especificada podem ter endereços IP externos. Como alternativa, você pode especificar uma listadeniedValues
para expressar instâncias que você deseja proibir explicitamente de terem um endereço IP externo. Qualquer instância que não estivesse na lista teria permissão implícita para ter um endereço IP externo. Você só pode especificarallowedValues
oudeniedValues
, mas não ambos.Por exemplo, a seguir está uma solicitação para aplicar a restrição
compute.vmExternalIpAccess
a uma organização onde instâncias de determinados projetos dentro da organização podem ter endereços IP externos:POST https://cloudresourcemanager.googleapis.com/v1/organizations/ORGANIZATION_ID:setOrgPolicy
onde
ORGANIZATION_ID
é o ID numérico da organização.Agora, no corpo da sua solicitação, forneça a política para esta restrição:
{ "policy": { "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allowedValues": [ "projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME", "projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME", "projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME" ] } } }
Se não quiser que nenhuma instância tenha acesso IP externo, você pode definir uma política com
allValues
definido comoDENY
:{ "policy": { "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allValues": "DENY" } } }
Defina a política no nível do projeto
Definir uma política no nível do projeto substitui a política no nível da organização. Por exemplo, se o nível da organização tiver
example-vm-1
na listaallowedValues
, mas a política no nível do projeto tiver a mesma instância na listadeniedValues
, a instância não poderá ter um endereço IP externo.Console
Siga o mesmo processo documentado em Definir uma restrição de política no nível da organização, mas escolha seu projeto no seletor de projetos em vez da organização.
gcloud
Use o comando
gcloud resource-manager org-policies set-policy
para definir a política. Você precisa fornecer sua política como um arquivo JSON. Crie um arquivo JSON no seguinte formato:{ "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allowedValues": [ "projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME" ] } }
Substitua o seguinte:
Como alternativa, você pode especificar uma lista
deniedValues
de instâncias que deseja proibir explicitamente de terem um endereço IP externo. Qualquer instância que não estivesse na lista teria permissão implícita para ter um endereço IP externo. Você só pode especificarallowedValues
oudeniedValues
, mas não ambos.Em seguida, passe o arquivo com sua solicitação:
gcloud resource-manager org-policies set-policy MY_POLICY.JSON --project=example-project
DESCANSAR
Use a API
setOrgPolicy
para definir sua restrição. As instâncias na listaallowedValue
especificada podem ter endereços IP externos. Como alternativa, você pode especificar uma listadeniedValues
para expressar instâncias que você deseja proibir explicitamente de terem um endereço IP externo. Qualquer instância que não esteja na lista pode implicitamente ter um endereço IP externo. Você pode especificar apenasallowedValues
oudeniedValues
, mas não ambos.Por exemplo, veja a seguir uma solicitação para definir a restrição
compute.vmExternalIpAccess
em um projeto para permitir que instâncias específicas tenham endereços IP externos:POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setOrgPolicy
Substitua
PROJECT_ID
pelo ID do projeto desta solicitação.O corpo da solicitação contém a política para esta restrição:
{ "policy": { "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allowedValues": [ "projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME" ] } } }
Melhores práticas para restringir endereços IP externos
Gerenciar endereços IP externos estáticos
As seções a seguir descrevem como gerenciar endereços IP externos estáticos para suas instâncias.
Determinar se um endereço IP interno é efêmero ou estático
Endereços IP internos estáticos e efêmeros se comportam e aparecem da mesma forma na maioria dos contextos. No entanto, com endereços IP internos estáticos, você pode usar o mesmo endereço IP para o mesmo recurso, mesmo se excluir e recriar o recurso. Em geral, um endereço IP temporário é liberado se você interromper ou excluir o recurso.
Para determinar se um endereço é estático ou efêmero, faça o seguinte:
Cancelar atribuição de um endereço IP externo estático
Cancelar a atribuição de um endereço IP remove-o do recurso, mas mantém o endereço IP reservado. Após a atribuição do endereço IP, você poderá reatribuir o endereço IP a outro recurso. Este procedimento é compatível com instâncias de pilha dupla, mas não com instâncias somente IPv6.
Você também pode cancelar a atribuição do endereço IPv4 ou IPv6 excluindo a instância .
Console
gcloud
Agora que seu endereço IP externo estático está disponível, você pode optar por atribuí-lo a outra instância .
DESCANSAR
Para cancelar a atribuição de um endereço IPv4 ou IPv6 externo estático, execute as seguintes etapas:
Java
Pitão
Liberar um endereço IP externo estático
Se você não precisar mais de um endereço IPv4 ou IPv6 externo estático, poderá liberar o endereço IP excluindo o recurso de endereço IP. A exclusão de uma instância não libera automaticamente um endereço IP externo estático. Você deverá liberar manualmente endereços IP externos estáticos quando não precisar mais deles.
Para liberar um endereço IP externo estático, consulte Liberar um endereço IP externo estático na documentação da VPC.
O que vem 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 2025-04-21 UTC.
-