Reservar endereço IP externo estático

É possível reservar endereços IP externos estáticos. Também é possível listar e liberar os endereços IP externos estáticos reservados. Para atribuir um endereço IP externo estático a uma instância de máquina virtual (VM), consulte Configurar endereços IP externos estáticos.

Os endereços IP externos podem ser estáticos ou temporários. Se uma VM exige um endereço IP externo fixo que não muda, é possível conseguir um endereço IP externo estático. É possível reservar novos endereços IP externos ou promover endereços IP externos temporários já existentes.

Se você precisar de um endereço IP interno estático, consulte Reservar um endereço IP interno estático.

Antes de começar

  • Leia sobre endereços IP.
  • Leia sobre cotas e limites de endereços IP externos estáticos.
  • Leia sobre preços de endereço IP externo.
  • 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ódigo ou amostras em um ambiente de desenvolvimento local, faça a autenticação da maneira a seguir.

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud, não é necessário configurar a autenticação.

    gcloud

    Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

    gcloud init

    Terraform

    Para usar as amostras de Terraform nesta página de um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure o Application Default Credentials com as credenciais de usuário.

    1. Instale a CLI do Google Cloud.
    2. Para inicializar a CLI gcloud, execute o seguinte comando:

      gcloud init
    3. Crie as credenciais de autenticação para sua Conta do Google:

      gcloud auth application-default login

    Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud.

    REST

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

      Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init

Funções exigidas

Para ter as permissões necessárias para reservar e gerenciar endereços IP estáticos, peça ao administrador para conceder a você o Administrador de rede do Compute (roles/compute.networkAdmin) do IAM no projeto. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Esse papel predefinido contém as permissões necessárias para reservar 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 permissões a seguir são necessárias para reservar e gerenciar endereços IP estáticos:

  • compute.addresses.create no endereço IP
  • compute.addresses.createInternal no endereço IP
  • compute.networks.list na rede
  • compute.subnetworks.use na sub-rede
  • compute.subnetworks.list na sub-rede

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Sobre endereços IP externos estáticos

Um endereço IP externo estático é o endereço reservado para seu recurso até que você decida liberá-lo. Se você tiver um endereço IP que os clientes ou usuários usam para acessar seu serviço, reserve-o para que apenas seu recurso possa usá-lo. Também é possível promover um endereço IP externo temporário para um endereço IP externo estático.

Para mais informações, consulte Endereços IP.

A tabela a seguir lista os endereços IP externos estáticos compatíveis com o Google Cloud.

Tipo de endereço IP Recurso Intervalo de IP Origem Associada a
Endereços IPv4 externos regionais VMs e balanceadores de carga regionais /32 Pool de endereços IP externos do Google Projeto
Endereços IPv6 externos regionais VMs e balanceadores de carga regionais compatíveis /96 Intervalo de endereços IPv6 externo da sub-rede Sub-rede
Endereços IPv4 externos globais Balanceadores de carga globais /32 Pool de endereços IP externos do Google Projeto
Endereços IPv6 externos globais Balanceadores de carga globais /64 Pool de endereços IP externos do Google Projeto

Para ver uma lista de balanceadores de carga regionais e globais, consulte o Resumo dos tipos de balanceador de carga.

Limitações

  • Apenas um recurso por vez usa um endereço IP externo estático.

  • Não há como verificar se um endereço IP é estático ou efêmero depois que ele é atribuído a um recurso. É possível 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 várias interfaces de rede e cada interface pode ter os seguintes endereços IP atribuídos:

    • Um endereço IPv4 interno (obrigatório)
    • Um endereço IPv4 externo
    • Um intervalo de endereços IPv6, interno ou externo, mas não ambos
  • Não é possível alterar o nome de um endereço IP estático.

  • Os endereços IP externos atribuídos existem no mesmo host físico que a VM e existem na mesma região que a VM para todos os fins, incluindo roteamento, latência e preços. Isso ocorre independentemente das informações de pesquisa de geolocalização na Internet.

Observação: as interfaces de rede podem receber tráfego de várias regras de encaminhamento, que também disponibilizam outros endereços IP externos. Qualquer número de endereços IP externos pode se referir 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 externo.

Para mais informações sobre balanceamento de carga e regras de encaminhamento, leia a documentação sobre o balanceamento de carga.

Reservar um novo endereço IP externo estático.

Depois de reservar o endereço, atribua-o a uma nova VM ao criá-lo ou a uma VM existente.

Console

  1. No console do Google Cloud, acesse a página Reservar um endereço estático.

    Acessar "Reservar um endereço estático"

  2. Escolha um nome para o novo endereço.

  3. Especifique se o nível de serviço da rede é Premium ou Standard. A reserva de endereços estáticos IPv6 é suportada apenas no nível Premium.

  4. Especifique se o endereço é IPv4 ou IPv6.

  5. Especifique se esse endereço IP é regional ou global.

    • Se você estiver reservando um endereço IP estático para um balanceador de carga global, escolha Global e clique em Reservar.
    • Se você estiver reservando um endereço IP estático para uma VM ou para um balanceador de carga regional, escolha Regional e selecione a região para criar o endereço.
  6. Se você estiver reservando um endereço IPv6 externo regional, escolha também o seguinte:

    • Rede: a rede VPC.
    • Sub-rede: a sub-rede da qual o endereço IPv6 regional será atribuído.
    • Tipo de endpoint: escolha VM instance ou Network Load Balancer
  7. Opcional: se você estiver reservando o endereço IP externo estático de uma VM, selecione uma VM na lista Anexada a para anexar o endereço IP.

  8. Clique em Reservar para reservar o IP.

gcloud

Para reservar um endereço IP externo estático, use o comando gcloud compute addresses create.

Use as instruções a seguir para reservar um endereço IPv4 ou IPv6 estático externo:

Endereço IP global

Para reservar um endereço IP global:
  gcloud compute addresses create ADDRESS_NAME \
      --global \
      --ip-version [IPV4 | IPV6]
  

Endereço IPv4 externo regional

Para reservar um endereço IPv4 externo regional:
   gcloud compute addresses create ADDRESS_NAME \
       --region=REGION
   

Endereço IPv6 externo regional

Para reservar um endereço IPv6 externo regional:
   gcloud compute addresses create ADDRESS_NAME \
       --region=REGION \
       --subnet=SUBNET_NAME \
       --ip-version=IPV6 \
       --endpoint-type=[VM | NETLB]
   

Substitua:

  • ADDRESS_NAME: o nome que você quer associar a esse endereço.
  • REGION: para endereços IP externos regionais, especifique a região em que você quer reservar esse endereço. Ela precisa ser a mesma região do recurso ao qual o endereço IP será anexado.
  • SUBNET_NAME: para endereços IPv6 externos regionais, especifique a sub-rede da qual o endereço IPv6 regional estático será atribuído. A sub-rede precisa ter um intervalo de endereços IPv6 externo atribuído.
  • [IPV4 | IPV6]: para endereços IP globais, especifique a versão do IP, IPv4 ou IPv6. Para endereços IPv6 externos regionais, especifique IPv6. Um intervalo IPv6 /96 é atribuído a partir da sub-rede especificada.
  • VM | NETLB: para endereços IPv6 externos regionais, especifique o tipo de endpoint. seja uma VM ou um balanceador de carga de rede.

Para ver o resultado, use o comando gcloud compute addresses describe:

gcloud compute addresses describe ADDRESS_NAME

Terraform

You can use the google_compute_address resource to create a regional external IP address.

resource "google_compute_address" "default" {
  name   = "my-test-static-ip-address"
  region = "us-central1"
}

Veja na amostra a seguir como usar o recurso google_compute_global_address para criar um endereço IPv6 externo global:

resource "google_compute_global_address" "default" {
  project      = var.project_id # Replace this with your service project ID in quotes
  name         = "ipv6-address"
  address_type = "EXTERNAL"
  ip_version   = "IPV6"
}

API

  • Para criar um endereço IPv4 regional, chame o método addresses.insert regional:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
    

    O corpo da sua solicitação precisa ter:

    {
      "name": "ADDRESS_NAME"
    }
    

    Substitua:

    • PROJECT_ID: o ID do projeto desta solicitação
    • REGION: o nome da região para essa solicitação.
    • ADDRESS_NAME: o nome que você quer associar ao endereço.
  • Para endereços IPv4 estáticos globais, chame o método globalAddresses.insert:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
    

    O corpo da sua solicitação precisa ter:

    {
      "name": "ADDRESS_NAME"
    }
    
  • Para endereços IPv6 estáticos globais, chame o método globalAddresses.insert:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
    

    O corpo da sua solicitação precisa ter:

    {
      "name": "ADDRESS_NAME",
      "ipVersion": "IPV6"
    }
    

    Para ver o resultado, use o método addresses.get.

  • Para endereços IPv6 estáticos regionais, chame o método addresses.insert:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
    

    O corpo da sua solicitação precisa ter:

    {
      "name": "ADDRESS_NAME",
      "ipVersion": "IPV6",
      "ipv6EndpointType": "VM|LB",
      "networkTier": "PREMIUM",
      "subnetwork": "SUBNET"
    }
    

    Substitua SUBNET pela sub-rede do projeto.

    Para ver o resultado, use o método addresses.get.

Promover um endereço IP externo temporário

Se a VM tiver um endereço IP externo temporário e você quiser atribuir o endereço IP permanentemente ao projeto, promova o endereço IP externo temporário a um endereço IP externo estático. Promover um endereço IP externo temporário a reservado não faz com que o Google Cloud ignore pacotes enviados para a VM. Isso inclui pacotes enviados para a VM diretamente ou por meio de um balanceador de carga.

Console

  1. Acesse a página Endereços IP.

    Acessar endereços IP

  2. Clique em Endereços IP externos.
  3. Opcional: no campo Filtro, procure o endereço IP temporário que você quer promover.
  4. No menu Mais ações () do endereço IP que você quer promover, selecione Promover a endereço IP estático.
  5. Insira um nome para o novo endereço IP estático e clique em Reservar.

gcloud

Use as seguintes instruções para promover um endereço IPv4 ou IPv6 externo estático:

  • Para promover um endereço IPv4 externo temporário a um endereço IPv4 externo estático, forneça o endereço IP externo temporário usando a sinalização --addresses com o comando compute addresses create. Use a flag region para promover um endereço IP regional temporário ou a sinalização global para promover um endereço IP global temporário.

    gcloud compute addresses create ADDRESS_NAME --addresses=IP_ADDRESS \
        [--region=REGION | --global]
    

    Substitua:

    • ADDRESS_NAME: o nome que você quer associar a esse endereço.
    • IP_ADDRESS: o endereço IP que você quer promover.
    • REGION: a região a que o endereço IP regional pertence.

    • Para promover um endereço IPv6 externo regional temporário a um endereço IPv6 externo estático, forneça o endereço IP externo temporário usando a sinalização --addresses com o comando compute addresses create.

    gcloud compute addresses create ADDRESS_NAME \
        --region=REGION \
        --addresses=IPV6_ADDRESS \
        --prefix-length=96
    

    Substitua:

    • ADDRESS_NAME: um nome para o recurso de endereço IP.
    • REGION: a região do recurso de endereço IPv6.
    • IPV6_ADDRESS: o endereço IPv6 que você está promovendo.

API

Para promover um endereço IP regional temporário, chame o método addresses.insert:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses

Para promover um endereço IP global temporário, faça uma solicitação POST para o URI a seguir:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses

Especifique os valores dos campos obrigatórios do corpo da solicitação:

  • Para endereços IPv4, o corpo da solicitação deve conter os seguintes campos:

    {
      "name": "ADDRESS_NAME",
      "address": "IPV4_ADDRESS"
      "addressType": "EXTERNAL"
    }
    
  • Para endereços IPv6, o corpo da solicitação precisa conter os seguintes campos:

    {
      "name": "ADDRESS_NAME",
      "address": "IPV6_ADDRESS"
      "prefixLength": 96
      "addressType": "EXTERNAL"
    }
    

    Substitua:

    • ADDRESS_NAME: o nome que você quer associar a esse endereço.
    • IPV4_ADDRESS|IPV6_ADDRESS: o endereço IPv4 ou IPv6 que você quer promover.
    • REGION: a região a que o endereço IPv4 ou IPv6 pertence.
    • PROJECT_ID: o ID do projeto desta solicitação

O endereço IP externo permanece anexado à VM, mesmo depois de ser sido promovido para um endereço IP externo estático. Se você precisar atribuir o endereço estático recém-promovido a outro recurso, cancele a atribuição do endereço IP externo estático da VM.

Listar endereços IP externos estáticos

Para listar endereços IP externos estáticos que você reservou para o projeto, siga estas etapas.

Console

  1. No console do Google Cloud, acesse a página Endereços IP.

    Acessar endereços IP

  2. Clique em Endereços IP externos.

gcloud

Use o comando gcloud compute addresses list:

  • 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 em que você quer listar os endereços. É possível listar endereços de várias regiões especificando nomes de regiões separados por vírgulas:

    gcloud compute addresses list \
        --regions=REGION1,REGION2,..REGION_n_
    

API

  • 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:

    • PROJECT_ID: o ID do projeto desta solicitação
    • REGION: o nome da região para essa 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:

    PROJECT_ID: o ID do projeto desta solicitação

Descrever um endereço IP externo estático

Para informações sobre um endereço IP externo estático, siga estas etapas.

Console

  1. No console do Google Cloud, acesse a página Endereços IP.

    Acessar endereços IP

  2. Clique em Endereços IP externos.

  3. Clique em um endereço IP para ver mais informações sobre ele.

gcloud

Use o comando gcloud compute addresses describe. Substitua ADDRESS_NAME pelo nome do endereço IP externo que você quer descrever.

  • Para um endereço IPv4 ou IPv6 global, use o seguinte comando:

    gcloud compute addresses describe ADDRESS_NAME --global
  • Para um endereço IPv4 ou IPv6 regional, use o seguinte comando:

    gcloud compute addresses describe ADDRESS_NAME --region=REGION

API

  • Para descrever um endereço IPv4 ou IPv6 regional, chame o método addresses.get:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses/ADDRESS_NAME
    

    Substitua:

    • PROJECT_ID: o ID do projeto para a solicitação.
    • REGION: o nome da região para essa solicitação
    • ADDRESS_NAME: o nome do endereço IP
  • Para descrever um endereço IPv4 ou IPv6 global, chame o método globalAddresses.get:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/ADDRESS_NAME
    

    Substitua:

    • PROJECT_ID: o ID do projeto para a solicitação.
    • ADDRESS_NAME: o nome do endereço IP

Liberar um endereço IP externo 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.

Se você estiver usando o console do Google Cloud, só poderá liberar um endereço IP estático se ele não estiver sendo usado por outro recurso.

Se você estiver usando a CLI gcloud ou API, poderá liberar um endereço IP, esteja ele sendo usado ou não por outro recurso.

  • Se o endereço IP não estiver sendo usado por um recurso, ele será retornado ao pool de endereços IP externos disponíveis.

  • Se o endereço IP estiver sendo usado por um recurso, ele permanecerá anexado ao recurso até o recurso ser excluído.

Console

  1. No console do Google Cloud, acesse a página Endereços IP.

    Acessar endereços IP

  2. Clique em Endereços IP externos.

  3. Selecione o endereço IP a ser liberado.

  4. Clique em Liberar endereço estático.

    Se essa opção não estiver disponível, clique no menu Mais ações () na barra de menus superior e selecione Liberar endereço estático da lista.

gcloud

Use o comando compute addresses delete (em inglês).

gcloud compute addresses delete ADDRESS_NAME

Substitua ADDRESS_NAME pelo nome do endereço IPv4 ou IPv6 a ser liberado.

API

  • Para liberar um endereço IPv4 ou IPv6 regional, chame o método addresses.delete:

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses/ADDRESS_NAME
    

    Substitua:

    • PROJECT_ID: o ID do projeto desta solicitação
    • REGION: o nome da região para essa solicitação;
    • ADDRESS_NAME: o nome do endereço IP
  • Para liberar um endereço IPv4 ou IPv6 global, chame o método globalAddresses.delete:

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/ADDRESS_NAME
    

    Substitua:

    • ADDRESS_NAME: o nome do endereço IP
    • PROJECT_ID: o ID do projeto desta solicitação

A seguir