Reservar um endereço IP interno e estático


Nesta página, mostramos como configurar e gerenciar endereços IPv4 ou IPv6 internos estáticos em redes de nuvem privada virtual (VPC).

Se uma instância de máquina virtual (VM) exigir 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:

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. As regras de encaminhamento podem ter endereços IP externos para balanceamento de carga externo ou endereços internos para balanceamento de carga interno. Para saber mais sobre endereços IP, leia a documentação Endereços IP.

Os endereços IP internos estáticos oferecem a capacidade de reservar endereços IP internos do intervalo de endereços IP configurado na sub-rede e, em seguida, atribuir esses endereços IP internos reservados aos recursos conforme necessário. Reservar um endereço IP interno remove esse endereço do pool de alocação dinâmico e impede que ele seja usado em alocações automáticas. Para reservar endereços IP internos estáticos, é necessário ter permissões específicas do Identity and Access Management (IAM) para que apenas usuários autorizados possam reservar um endereço IP interno estático.

Com a possibilidade de reservar endereços IP internos estáticos, você pode sempre usar o mesmo endereço IP para o mesmo recurso, mesmo que precise excluir e recriar o recurso.

Para reservar um endereço IP externo estático em vez de um endereço IP interno, consulte Reservar um endereço IP externo estático.

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.

    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

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

      gcloud init
    2. Defina uma região e uma zona padrão.

    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

    Veja mais informações em: Configurar a autenticação para um ambiente de desenvolvimento local.

    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

Permissões

Para reservar e gerenciar endereços IP internos estáticos, você precisa receber o papel compute.networkAdmin ou uma ou mais das seguintes permissões:

  • compute.addresses.create no endereço IP
  • compute.addresses.createInternal no endereço IP
  • compute.instances.update na instância de VM
  • compute.subnetworks.use na sub-rede

Restrições

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

  • Endereços IP internos estáticos são regionais, o que significa que estão restritos à região em que você reservou o endereço IP interno estático. Por exemplo, se você reservou um endereço IP interno estático na região us-east4, use o endereço IP em us-east4.

Como reservar um endereço IP interno estático

É possível reservar um endereço IP interno estático antes de criar o recurso associado ou criar o recurso com um endereço IP interno efêmero. Depois, promova esse IP efêmero a endereço interno estático.

Para usar um endereço IP interno estático, você precisa de uma rede VPC em vigor para o projeto. Para saber como criar sua rede VPC, consulte Criar e gerenciar redes VPC.

Reservar um endereço IPv4 ou IPv6 interno estático e associá-lo a um recurso específico

Nesta situação, você reserva separadamente um endereço IP interno estático e o atribui a um recurso:

  1. Crie uma sub-rede na sua rede VPC. Para endereços IPv6, crie uma sub-rede de pilha dupla.

  2. Reserve um endereço IP interno do intervalo de IP principal da sub-rede. Esta etapa cria um recurso de endereço IP interno que contém esse endereço IP interno específico. Essa etapa também impede que o Google Cloud aloque automaticamente esse endereço como temporário.

  3. Use o endereço IP interno reservado associando-o a uma instância de VM ou um balanceador de carga interno ao criar o recurso de VM ou balanceador de carga.

Especificar um endereço IPv4 ou IPv6 interno temporário para um recurso e promovê-lo

Neste cenário, você promove um endereço IPv4 ou IPv6 temporário interno que ainda está anexado a um recurso:

  1. Crie uma sub-rede na sua rede VPC. Para endereços IPv6, crie uma sub-rede de pilha dupla.

  2. Crie uma instância de VM ou um balanceador de carga interno com um endereço IPv4 ou IPv6 efêmero alocado automaticamente ou um endereço IPv4 escolhido em específico.

Os dois métodos estão descritos na figura 1.

Estados de reserva de endereço IP interno.
Figura 1. Estados de reserva de endereço IP interno (clique para ampliar).

Configurar e gerenciar endereços internos estáticos

As interfaces de VM recebem endereços IP da sub-rede a que estão conectados. 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:

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

Os endereços IPv6 internos podem ser atribuídos das seguintes maneiras:

Os procedimentos a seguir permitem configurar e gerenciar endereços IP internos estáticos:

Reservar um novo endereço IPv4 interno ou IPv6 estático

Antes de reservar um novo endereço IP interno estático, é preciso criar uma rede VPC com uma sub-rede.

Se você quiser reservar um novo endereço IPv6 interno estático, a rede VPC precisará ter o intervalo IPv6 interno do ULA ativado. Além disso, ela precisa ter uma sub-rede dupla com o tipo de acesso INTERNAL IPv6.

Para reservar um endereço IP interno autônomo, conclua as etapas a seguir.

Console

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

    Acessar endereços IP

  2. Clique em Reservar endereço IP estático interno.
  3. No campo Nome, digite um nome de endereço IP.
  4. Na lista Versão do IP, selecione a versão do IP necessária:
    • Para reservar um endereço IPv4 interno estático, selecione IPv4.
    • Para reservar um endereço IPv6 interno estático, selecione IPv6.
  5. Nas listas Rede e Sub-rede, selecione uma rede VPC e uma sub-rede, respectivamente.
  6. Especifique como você quer reservar o endereço IP:
    • Para endereços IPv4, para especificar um endereço IPv4 interno estático a ser reservado, em Endereço IP estático, selecione Deixe-me escolher e insira um IP personalizado. . Caso contrário, o sistema atribuirá automaticamente um endereço IPv4 interno estático na sub-rede.
    • Para endereços IPv6, o sistema atribui automaticamente um endereço IPv6 interno estático do intervalo de endereços IPv6 interno da sub-rede.
  7. Opcional: para compartilhar o endereço IPv4 interno estático em diferentes front-ends, na lista Objetivo, escolha Compartilhado. A seleção padrão é Não compartilhado.

  8. Clique em Reservar.

gcloud

  • Para reservar um endereço IPv4 interno, use o comando compute addresses create:

    gcloud compute addresses create ADDRESS_NAMES \
        --region REGION --subnet SUBNETWORK \
        --addresses IP_ADDRESS
    

    Substitua:

    • ADDRESS_NAMES: os nomes de um ou mais endereços [--purpose=SHARED_LOADBALANCER_VIP] que você quer criar. No caso de vários endereços, especifique todos como uma lista, separados por espaços. Por exemplo, example-address-1 example-address-2 example-address-3.
    • REGION: a região desta solicitação
    • SUBNETWORK: a sub-rede deste endereço IP interno
    • IP_ADDRESS: o endereço IP a ser reservado, que precisa estar no intervalo de IP principal da sub-rede. Se não for especificado, um endereço IP será alocado automaticamente pela sub-rede.
  • Para reservar um endereço IPv6 interno, use o comando compute addresses create. Especifique IPV6 como o valor de --ip-version.

    gcloud compute addresses create ADDRESS_NAMES \
        --region REGION --subnet SUBNETWORK \
        --ip-version IPV6
    

    Substitua:

    • ADDRESS_NAMES: os nomes de um ou mais endereços que você quer reservar. No caso de vários endereços, especifique todos como uma lista, separados por espaços. Por exemplo: example-address-1 example-address-2 example-address-3
    • REGION: a região desta solicitação
    • SUBNETWORK: a sub-rede deste endereço IPv6 interno

    Ao contrário da reserva IPv4 interna, a reserva IPv6 interna não é compatível com a reserva de um endereço IP específico da sub-rede. Em vez disso, um endereço IPv6 interno /96 é alocado automaticamente do intervalo de endereços IPv6 interno /64 da sub-rede.

Exemplos

  • Reserve um endereço IPv4 interno alocado automaticamente de uma sub-rede:

    gcloud compute addresses create example-address-1 \
        --region us-central1 \
        --subnet subnet-1
    
  • Reserve um endereço IPv4 interno específico de uma sub-rede:

    gcloud compute addresses create example-address-1 \
        --region us-central1 \
        --subnet subnet-1 \
        --addresses 10.128.0.12
    
  • Reserve um endereço IPv6 interno estático de uma sub-rede:

    gcloud compute addresses create example-address-1 \
        --region us-central1 \
        --subnet subnet-1 \
        --ip-version IPV6
    
  • Crie vários endereços IPv4 passando mais de um nome de endereço IPv4. Todos os endereços são reservados na mesma sub-rede:

    gcloud compute addresses create example-address-1 example-address-2 \
        --region us-central1 \
        --subnet subnet-1 \
        --addresses 10.128.0.12,10.128.0.13
    

Terraform

Use um módulo do Terraform (em inglês) para criar um endereço IP interno.

No exemplo a seguir, os argumentos do Terraform têm valores de exemplo que podem ser alterados. No exemplo, dois endereços IP internos específicos são criados:

module "address" {
  source     = "terraform-google-modules/address/google"
  version    = "~> 3.1"
  project_id = var.project_id # Replace this with your project ID in quotes
  region     = "asia-east1"
  subnetwork = "my-subnet"
  names      = ["internal-address1", "internal-address2"]
  addresses  = ["10.0.0.3", "10.0.0.4"]
}

No exemplo a seguir, criamos dois endereços IP internos alocados dinamicamente:

module "address" {
  source     = "terraform-google-modules/address/google"
  version    = "~> 3.1"
  project_id = var.project_id # Replace this with your project ID in quotes
  region     = "asia-east1"
  subnetwork = "my-subnet"
  names      = ["internal-address1", "internal-address2"]
}

REST

Use o método addresses.insert.

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

Para endereços IPv4 e IPv6, o corpo da solicitação precisa incluir o campo addressType, que precisa ser INTERNAL, o name do endereço e o subnetwork ao qual o endereço IP pertence. O corpo da solicitação pode incluir purpose do endereço IP interno.

Além disso, para endereços IPv4 internos, é possível permitir que o sistema aloque automaticamente um endereço IP para você ou use address para especificar um endereço IPv4 interno. O endereço IPV4 precisa pertencer ao intervalo de endereços IP principal da sub-rede.

{
  "addressType": "INTERNAL",
  "name": "IPV4_ADDRESS_NAME",
  "subnetwork": "regions/REGION/subnetworks/SUBNETWORK",
  "address": "IPV4_ADDRESS"
  "purpose": "GCE_ENDPOINT"
}

Exemplo:

POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-central1/addresses
{
  "addressType": "INTERNAL",
  "name": "example-ipv4-address-1",
  "subnetwork": "regions/us-central1/subnetworks/my-custom-subnet",
  "address": "10.128.0.12"
  "purpose": "GCE_ENDPOINT"
}

Para endereços IPv6 internos, você também precisa especificar ipVersion como IPV6. O sistema atribui automaticamente um endereço IPv6 interno estático do intervalo de endereços IPv6 interno da sub-rede.

{
  "addressType": "INTERNAL",
  "name": "IPV6_ADDRESS_NAME",
  "ipVersion": "IPV6",
  "subnetwork": "regions/REGION/subnetworks/SUBNETWORK",
  "purpose": "GCE_ENDPOINT"
}

Exemplo:

POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-central1/addresses
{
  "addressType": "INTERNAL",
  "name": "example-ipv6-address-1",
  "ipVersion": "IPV6"
  "subnetwork": "regions/us-central1/subnetworks/my-custom-subnet",
  "purpose": "GCE_ENDPOINT"
}

Reservar um intervalo de endereços IP internos estáticos para VPN de alta disponibilidade no Cloud Interconnect

É possível reservar um intervalo de endereços IP internos estáticos para usar com a VPN de alta disponibilidade no Cloud Interconnect.

Ao criar o endereço IP interno estático, é preciso especificar a sinalização --purpose=IPSEC_INTERCONNECT e um comprimento de prefixo (--prefix-length) entre 26 e 29.

Os endereços IPv4 internos regionais que você reserva são aplicados aos gateways de VPN de alta disponibilidade usados pelo Cloud Interconnect.

Para mais informações, consulte Atribuir intervalos de endereços IP internos a gateways da VPN de alta disponibilidade.

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. Para determinar se um endereço é estático ou temporário, faça o seguinte:

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

    Acessar endereços IP

  2. Localize o endereço na lista e verifique o tipo de endereço IP na coluna Tipo.

Promover um endereço IPv4 ou IPv6 interno efêmero em uso a um endereço estático

Se tiver endereços IP internos efêmeros em uso, é possível promover esses endereços a endereços IP internos estáticos. Dessa forma, os endereços permanecerão com o projeto até você os remover ativamente.

Para promover um endereço IP interno temporário a um estático, conclua as etapas a seguir.

Console

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

    Acessar endereços IP

  2. Clique em Endereços IP internos.
  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

  1. Antes de promover um endereço IPv6 interno efêmero, você precisa saber o valor desse endereço IP. Use a Google Cloud CLI para fazer uma solicitação describe ao recurso para conseguir o valor do endereço IP.

    • Para endereços IPv4, use o seguinte comando:

      gcloud compute instances describe INSTANCE_NAME --zone ZONE | grep "networkIP"
      
    • Para endereços IPv6, use o seguinte comando:

      gcloud compute instances describe INSTANCE_NAME --zone ZONE | grep "ipv6Address"
      

    A CLI da gcloud retorna o valor networkIP (para IPv4) ou o valor ipv6Address (para IPv6), que é o endereço IP interno que está sendo usado pelo recurso.

  2. Promova o endereço:

    • Para promover um ou mais endereços IPv4, use o comando compute addresses create e forneça a sinalização --addresses com endereços IP internos explícitos para promover:

      gcloud compute addresses create IPV4_ADDRESS_NAMES \
        --addresses IPV4_ADDRESSES \
        --region REGION \
        --prefix-length PREFIX_LENGTH \
        --subnet SUBNETWORK
      

      Substitua:

      • IPV4_ADDRESS_NAMES: os nomes dos endereços IPv4. No caso de vários endereços, especifique todos os nomes de endereço como uma lista, separados por espaços, por exemplo, example-address-name-1 example-address-name-2 example-address-name-3. Declare os nomes na mesma ordem em que você declara os endereços IP. Por exemplo, suponha que você especifique os nomes dos endereços como example-address-name-1 example-address-name-2 example-address-name-3 e os endereços IPv4 como 192.0.2.0 192.0.2.1 192.0.2.2. Nesse cenário, o Compute Engine mapeia os nomes e endereços da seguinte maneira:

        • example-address-name-1: 192.0.2.0
        • example-address-name-2: 192.0.2.1
        • example-address-name-3: 192.0.2.2
      • IPV4_ADDRESSES: os endereços IPv4 a serem promovidos. No caso de vários endereços, especifique todos os endereços como uma lista, separados por espaços. Por exemplo: 192.0.2.0 192.0.2.1 192.0.2.2.

      • REGION: a região para reservar este endereço.

      • PREFIX_LENGTH: opcional. O comprimento do prefixo do intervalo de endereços IPv4. O valor precisa ser um número inteiro entre 7 e 31. Só inclua esse campo se você especificar um intervalo de endereços. Exclua o campo se o endereço IPv4 especificado for um único endereço IP.

      • SUBNETWORK: a sub-rede desta solicitação.

    • Para promover um ou mais endereços IPv6 internos existentes, use o comando compute addresses create e forneça a sinalização --addresses com os endereços IPv6 internos explícitos:

      gcloud compute addresses create IPV6_ADDRESS_NAMES \
       --addresses IPV6_ADDRESSES \
       --region REGION \
       --prefix-length PREFIX_LENGTH \
       --subnet SUBNETWORK
      

      Substitua:

      • IPV6_ADDRESS_NAMES: os nomes do endereço. Declare os nomes na mesma ordem em que você declara os endereços IPv6. Nesse caso, IPV6_ADDRESS_NAME_1 corresponde a IPV6_ADDRESS_1 e IPV6_ADDRESS_NAME_2 corresponde a IPV6_ADDRESS_2.
      • IPV6_ADDRESS_1,[IPV6_ADDRESS_2,...]: os endereços IPv6 a serem promovidos no formato CIDR.
      • PREFIX_LENGTH_1,[PREFIX_LENGTH_2,...]: o tamanho do prefixo dos endereços IPv6.
      • REGION: a região para reservar este endereço.
      • SUBNETWORK: a sub-rede desta solicitação.

      O endereço IPv6 interno permanece anexado à instância, mesmo depois de ser promovido para um endereço IPv6 interno estático. Se você precisar atribuir o endereço IPv6 interno estático recém-promovido a outro recurso, primeiro cancele a atribuição do endereço IPv6 interno estático da instância que já existe.

REST

Use o método addresses.insert.

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

Para endereços IPv4 e IPv6, o corpo da solicitação precisa incluir addressType, que precisa ser INTERNAL, name do endereço e address para promover e o subnetwork ao qual o endereço IP pertence. Para endereços IPv6, o corpo da solicitação precisa incluir prefixLength com 96 como valor.

  • Corpo da solicitação para promover endereços IPv4 internos:

    {
    "name": "ADDRESS_NAME",
    "addressType": "INTERNAL",
    "address": "IP_ADDRESS",
    "subnetwork": "regions/REGION/subnetworks/SUBNETWORK"
    }
    

    Exemplo:

    POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-central1/addresses
    {
    "name": "example-IPv4-address-1",
    "addressType": "INTERNAL",
    "address": "10.128.0.2",
    "subnetwork": "regions/us-central1/subnetworks/my-custom-subnet"
    }
    
  • Corpo da solicitação para promover endereços IPv6 internos:

    {
    "name": "ADDRESS_NAME",
    "addressType": "INTERNAL",
    "address": "IP_ADDRESS",
    "subnetwork": "regions/REGION/subnetworks/SUBNETWORK"
    "prefixLength": 96
    }
    

    Exemplo:

    POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-central1/addresses
    {
    "name": "example-IPv6-address-1",
    "addressType": "INTERNAL",
    "address": "fd20:0:0::",
    "subnetwork": "regions/us-central1/subnetworks/my-custom-subnet"
    "prefixLength": 96
    }
    

Criar uma instância de VM com um endereço IPv4 ou IPv6 interno reservado

Depois de reservar um endereço IP interno estático, é possível atribuí-lo a uma instância de VM ao criá-la.

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

  1. No console do Google Cloud, acesse a página Criar uma instância.

    Acesse "Criar uma instância"

  2. Expanda a seção Opções avançadas.

  3. Expanda a seção Rede.

  4. Para atribuir um endereço IPv4 interno, faça o seguinte:

    1. Selecione uma Rede e uma Sub-rede.
    2. 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.

  5. Para atribuir um endereço IPv6 interno, faça o seguinte:

    1. Selecione uma rede que contenha uma sub-rede IPv6.
    2. Selecione uma sub-rede de pilha dupla na lista Sub-rede. A sub-rede precisa ter o tipo de acesso INTERNAL IPv6.
    3. Em Tipo de pilha de IP, selecione IPv4 e IPv6 (pilha dupla).
    4. 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.

  6. Para concluir a modificação da interface de rede padrão, clique em Concluído.

  7. Continue com o processo de criação da VM.

  8. Clique em Criar.

gcloud

  • Para criar uma instância com um endereço IPv4 interno reservado, use a sinalização --private-network-ip para especificar um endereço IPv4 interno reservado ao criar a instância:

    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 IPv6 interno reservado ao criar a instância:

    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.

REST

Para criar uma instância de VM com um endereço IP interno estático, use o método instances.insert.

  • 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 virtual
    • IPV4_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.

Se você exclui uma instância com um endereço IP especificado, o endereço retorna ao 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.

Criar um balanceador de carga interno com um endereço IPv4 interno estático

Para criar um balanceador de carga interno que use um endereço IPv4 interno estático, consulte:

Usar um endereço IPv4 ou IPv6 interno estático para uma interface de rede secundária

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

É possível alterar ou atribuir um endereço IPv6 interno a uma instância.

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

  1. Reserve um endereço IPv6 interno estático.
  2. No console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar instâncias de VM

  3. Clique no nome da instância cujo endereço IPv6 interno você quer alterar.
  4. Na página de detalhes da instância, conclua estas etapas:

    1. Clique em Editar.
    2. Abra Interfaces de rede.
    3. Na lista Endereço IPv6 interno principal, selecione Alocado automaticamente (/96) ou um endereço IPv6 interno estático reservado.
    4. Clique em Concluído.
  5. Clique em Salvar.

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:

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

REST

Use o método instances.update. Atualize a propriedade networkInterfaces[].ipv6Address com o endereço IPv6 interno que você quer atribuir.

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:

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

Alterar o endereço IP de uma regra de encaminhamento

Se você alterou o endereço IP interno de uma VM e precisa atualizar uma regra de encaminhamento, faça o seguinte:

  1. Cancele a atribuição do endereço IP.

  2. Exclua a regra de encaminhamento usando o comando gcloud compute forwarding-rules delete ou o método forwardingRules.delete.

  3. Crie novamente a regra de encaminhamento usando o comando gcloud compute forwarding-rules create ou o método forwardingRules.insert.

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 a uma instância de VM atualizando a interface de rede da instância ou excluindo a instância à qual 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

  1. No console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar instâncias de VM

  2. Clique no nome da instância cujo endereço IPv6 interno você quer remover.
  3. Na página de detalhes da instância, conclua estas etapas:

    1. Clique em Editar.
    2. Abra Interfaces de rede.
    3. Em Tipo de pilha de IP, selecione IPv4 (pilha única).
    4. Clique em Concluído.
  4. Clique em Salvar.

gcloud

Use o comando compute instances network-interfaces update com a sinalização --stack-type definida como IPV4_ONLY:

gcloud compute instances network-interfaces update VM_NAME \
    --network-interface NIC \
    --stack-type IPV4_ONLY \
    --zone ZONE

Substitua:

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

Verifique se o endereço IPv6 externo estático está disponível e marcado como RESERVED e não IN_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:

  1. Faça uma solicitação PATCH ao método instances.updateNetworkInterface.
  2. No corpo da solicitação, atualize o valor do campo stackType para IPV4_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.

Usar um endereço IPv4 ou IPv6 interno estático com a VPC compartilhada

Você pode criar um endereço IP interno estático reservado em uma sub-rede compartilhada de uma rede VPC compartilhada. O próprio objeto de endereço IP é criado no mesmo projeto de serviço do recurso que o usará, embora o valor do endereço IP venha do intervalo de endereços IP disponíveis em uma sub-rede compartilhada selecionada da rede VPC compartilhada. Para mais informações sobre esse caso de uso, consulte os seguintes recursos:

Listar endereços IPv4 ou IPv6 internos estáticos

Para visualizar todos os endereços IP estáticos atuais, incluindo endereços IP externos e internos, conclua as etapas a seguir.

Console

  1. No Console do Google Cloud, acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique na rede VPC que você quer verificar.
  3. Clique em Endereços IP internos estáticos para ver todos os endereços IP internos estáticos reservados nesta rede VPC.

gcloud

Use o comando compute addresses list:

gcloud compute addresses list

REST

Use 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, use o método aggregatedList:

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

Excluir um endereço IPv4 ou IPv6 interno estático

Se você não precisar mais de um endereço IP interno 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 REST, 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 internos disponíveis.

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

Para liberar um endereço IPv4 ou IPv6 interno e estático, siga as etapas abaixo.

Console

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

    Acessar endereços IP

  2. Clique em Endereços IP internos.
  3. Selecione o endereço IP interno estático que você quer liberar.
  4. Clique em Liberar endereço estático e confirme essa operação clicando em Liberar na caixa de diálogo.

gcloud

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

gcloud compute addresses delete ADDRESS_NAME \
    --region REGION

Substitua:

  • ADDRESS_NAME: o nome do endereço a ser excluído.
  • REGION: a região à qual o endereço pertence.

Exemplo:

gcloud compute addresses delete example-address-to-delete \
    --region us-west1

REST

Use o método addresses.delete.

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

Este exemplo exclui um endereço na região us-west1:

DELETE https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-west1/addresses/example-address-to-delete

A seguir