Como reservar um endereço IP interno estático

Se uma instância exigir um endereço IP interno fixo que não é alterado, será possível conseguir um endereço IP interno estático para ela usando uma das opções a seguir:

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 sobre endereços IP, leia a documentação Endereços IP.

Os IPs internos estáticos oferecem a possibilidade de reservar endereços IP internos do intervalo particular de IPs RFC 1918 configurado na sub-rede e, em seguida, atribuir esses endereços internos reservados a 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. A reserva de endereços IP internos estáticos exige permissões do IAM específicas. Dessa maneira, somente usuários autorizados podem reservar um endereço IP interno estático.

Com a possibilidade de reservar endereços IP internos estáticos, é possível 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, leia Como reservar um endereço externo estático.

Antes de começar

Permissões

Para reservar e gerenciar endereços IP internos estáticos, você precisa receber o papel compute.networkAdmin. Para saber mais sobre papéis, leia Papéis do IAM do Compute Engine.

Restrições

  • Não é possível alterar o endereço IP interno de um recurso atual. Por exemplo, não é possível atribuir um novo endereço IP interno estático a uma instância de VM em execução. No entanto, é possível promover o endereço IP interno efêmero de um recurso para um IP interno estático. Dessa maneira, o endereço permanecerá reservado, mesmo depois que o recurso for excluído.

  • Por padrão, só é possível reservar até 200 endereços IP internos estáticos por região.

  • Somente um recurso por vez pode usar um endereço IP interno estático.

  • Não há como saber se um endereço IP é estático ou efêmero depois que ele é atribuído a um recurso, exceto se comparar o endereço IP com a lista de endereços IP internos estáticos reservados para esse projeto. Use o subcomando addresses list para ver uma lista de endereços IP internos estáticos disponíveis para o projeto.

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

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. Consulte Como usar redes VPC para saber como criar uma rede VPC.

Reservar um endereço específico e, em seguida, associá-lo a um recurso específico

Neste cenário, você reserva separadamente um endereço IP interno estático e o atribui a um recurso. Em resumo:

  1. Crie uma sub-rede a partir da rede VPC.

  2. Reserve um endereço IP interno do intervalo de IPs da sub-rede. Esta etapa cria um recurso de endereço IP interno que contém esse endereço específico.

  3. Crie o recurso e use o endereço IP interno reservado associando-o a uma instância de VM ou a um balanceador de carga interno no momento da criação.

Especificar um endereço IP interno temporário para um recurso e, em seguida, promover o endereço

Neste cenário, o endereço IP interno temporário ainda anexado a um recurso é promovido a endereço IP interno estático.

  1. Crie uma instância de VM ou um balanceador de carga interno com um endereço IP efêmero alocado automaticamente ou um endereço IP escolhido especificamente.

  2. Crie uma sub-rede.

  3. Promova o endereço IP interno a endereço IP interno estático.

Os dois métodos são descritos no diagrama abaixo.

Diagrama da reserva de IP interno

Como reservar um novo endereço IP interno estático

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

Para reservar um novo endereço IP interno estático, seja ele alocado automaticamente ou um endereço não utilizado de uma sub-rede atual, use o Console, o comando gcloud compute addresses create ou o método addresses.insert na API Compute Engine.

Console

  1. Acesse a página de redes VPC no console do GCP.

    Acessar a página “Redes VPC”

  2. Identifique a rede VPC que você quer associar à instância.
  3. Acesse a página "Instâncias de VM".

    Acessar a página "Instâncias de VM"

  4. Selecione o projeto.
  5. Clique em Criar uma instância e especifique um nome para a instância.
  6. Selecione a Região em que a rede VPC está localizada.
  7. Selecione uma Zona dentro dessa região.
  8. Preencha os outros campos da sua instância.
  9. Expanda o menu Gerenciamento, segurança, discos, rede, locatário único.
  10. Clique em Rede.
  11. Clique em Interfaces de rede para editar.
  12. Em Rede, selecione a rede VPC criada.
  13. Escolha a sub-rede.
  14. Em IP interno primário, selecione Reservar endereço IP estático.
  15. Complete as outras opções de rede.
  16. Clique em Concluído.
  17. Complete os requisitos da instância.
  18. Clique em Criar.

gcloud

Usando a ferramenta gcloud, execute o comando compute addresses create:

gcloud compute addresses create [ADDRESS_NAME] [[ADDRESS_NAME]..] \
    --region [REGION] --subnet [SUBNETWORK] \
    --addresses [IP_ADDRESS]

em que:

  • [ADDRESS_NAME] é o nome desejado de um ou mais endereços a serem criados;
  • [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 dentro do intervalo de IPs da sub-rede. Se não for especificado, um será alocado automaticamente pela sub-rede.

Por exemplo, para reservar um endereço IP interno alocado automaticamente de uma sub-rede:

gcloud compute addresses create example-address-1 \
    --region us-central1 --subnet subnet-1

Para reservar um endereço IP 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

Você pode criar vários endereços passando o nome de mais de um endereço. No entanto, todos os endereços serão reservados na mesma sub-rede. Por exemplo:

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

API

Na API, faça uma solicitação POST para o seguinte URL:

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

O corpo da solicitação precisa incluir o addressType, que precisa ser INTERNAL, o name do endereço e a subnetwork a que o endereço IP pertence. Você pode permitir que o sistema aloque automaticamente um endereço IP na sub-rede para você ou especificar o address de um endereço IP específico:

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

Por exemplo:

POST https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/addresses

{
 "name": "example-address-1",
 "addressType": "INTERNAL",
 "subnetwork": "regions/us-central1/subnetworks/my-custom-subnet",
 "address": "10.128.0.12"
}

Como promover um endereço IP interno efêmero em uso a um endereço estático

Se tiver endereços IP efêmeros em uso no momento, você poderá 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 reservar um endereço IP existente, você precisará do valor do endereço IP que quer promover. Faça uma solicitação describe para o recurso a fim de saber o endereço IP. Por exemplo, se você estiver promovendo um endereço IP atualmente em uso por uma instância de VM, use:

gcloud compute instances describe [INSTANCE_NAME] --zone [ZONE] | grep "networkIP"

A ferramenta gcloud retorna o valor networkIP, que é o IP interno usado pelo recurso. Por exemplo:

networkIP: 10.240.0.2

Em seguida, promova o endereço.

Console

Para promover um endereço IP interno efêmero para um endereço IP estático no console, siga estas etapas:

  1. Acesse a página "Instâncias de VM".

    Acessar a página "Instâncias de VM"

  2. Selecione o projeto.
  3. Selecione a instância que você quer alterar.
  4. Clique na ferramenta Editar, no topo da página.
  5. Clique na ferramenta de edição para Interfaces de rede.
  6. Em Tipo de IP interno, selecione Estático.
  7. Preencha as informações para um endereço IP estático.
  8. Clique em Concluído para salvar as alterações.
  9. Clique em Salvar para atualizar a instância.

gcloud

Para promover um ou mais endereços IP existentes, use o comando compute addresses create e forneça à sinalização --addresses os IPs internos explícitos a serem promovidos:

gcloud compute addresses create [ADDRESS_NAME_1] [[ADDRESS_NAME_2]..] \
    --addresses [IP_ADDRESS_1],[[IP_ADDRESS_2],..] \
    --region [REGION] \
    --subnet [SUBNETWORK]

em que:

  • [ADDRESS_NAME] são os nomes desejados do endereço. Declare os nomes na mesma ordem em que você vai declarar os endereços IP. Nesse caso, [ADDRESS_NAME_1] corresponde a [IP_ADDRESS_1] e [ADDRESS_NAME_2] corresponde a [IP_ADDRESS_2];
  • [IP_ADDRESS],[[IP_ADDRESS_2],...] são os endereços IP a serem promovidos. Por exemplo, 10.128.1.9;
  • [REGION] é a região para reservar o endereço;
  • [SUBNETWORK] é a sub-rede da solicitação.

Por exemplo:

gcloud compute addresses create example-address-1 example-address-2 \
    --addresses 10.128.4.90,10.128.0.232 \
    --region us-central1 \
    --subnet subnet-1

API

Na API, faça uma solicitação POST para o seguinte URL:

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

É necessário que o corpo da solicitação inclua o addressType, que precisa ser INTERNAL, o name do endereço, o address a ser promovido e a subnetwork a que o endereço IP pertence:

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

Por exemplo:

POST https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/addresses

{
 "name": "example-address-1",
 "addressType": "INTERNAL",
 "address": "10.128.0.2",
 "subnetwork": "regions/us-central1/subnetworks/my-custom-subnet"
}

Como criar uma instância de VM com um endereço IP interno estático

Você pode atribuir um endereço IP interno estático reservado ao criar uma nova VM.

Console

  1. No Console do GCP, acesse a página "Instâncias de VM".

    Acessar a página "Instâncias da VM"

  2. Clique em Criar instância.
  3. Na página Criar uma nova instância, preencha as propriedades desejadas da instância.
  4. Expanda a seção Gerenciamento, segurança, discos, rede, locatário único.
  5. Clique em Rede.
  6. Clique em Rede e selecione a sub-rede.
  7. Clique na ferramenta de edição em Interfaces de rede.
  8. Em IP interno primário, selecione "Reservar endereço IP interno estático".
  9. Preencha as informações para reservar o endereço IP interno estático.
  10. Clique em Criar para criar a instância.

gcloud

  1. Primeiro, reserve um endereço IP interno estático. O exemplo a seguir reserva um endereço chamado my-vm-ip-address na região "us-central1". Como o comando omite a sinalização --addresses, o Compute Engine reserva um endereço IP aleatório:

    gcloud compute addresses create my-vm-ip-address \
        --region us-central1 --subnet my-subnet
    
  2. Em seguida, use esse endereço ao criar a instância. Por exemplo:

    gcloud compute instances create my-instance \
        --image-family [IMAGE_FAMILY] \
        --image-project [IMAGE_PROJECT] \
        --private-network-ip my-vm-ip-address \
        --subnet my-subnet
    

Como criar um balanceador de carga interno com um endereço IP interno estático

Para criar um balanceador de carga interno que use um endereço IP interno estático, siga as instruções destes links:

Como usar um endereço IP interno estático para uma interface de rede secundária

Ao criar uma instância de VM com várias interfaces de rede, você pode usar um endereço IP interno estático reservado para interfaces de rede principais e secundárias.

Para atribuir um endereço IP interno estático a uma interface de rede secundária, faça o seguinte:

  1. Primeiro, reserve um endereço IP interno estático. Por exemplo, a seguir, reservamos um endereço chamado my-second-ip-address na região "us-central1". Como o comando omite a sinalização --addresses, o Compute Engine reserva um endereço IP aleatório:

    gcloud compute addresses create my-second-ip-address \
        --region us-central1 --subnet subnet-b
    
  2. Use o endereço como o endereço IP da interface secundária ao criar uma instância de VM. Exemplo:

    gcloud compute instances create my-instance \
        --image-family [IMAGE_FAMILY] \
        --image-project [IMAGE_PROJECT] \
        --network-interface subnet=subnet-a,no-address \
        --network-interface \
          subnet=subnet-b,private-network-ip=my-second-ip-address,no-address
    

Como usar um IP interno estático com uma VPC compartilhada

Você pode criar um 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 IPs disponíveis em uma sub-rede compartilhada selecionada da rede VPC compartilhada. Consulte estas páginas para mais informações sobre o caso de uso:

Como excluir um endereço IP interno estático

Você poderá excluir um endereço IP interno estático, se deixar de precisar dele. Você pode excluir um endereço, usado ou não por outro recurso. Se estiver sendo usado por um recurso, o endereço permanecerá anexado ao recurso até o recurso ser excluído, quando o endereço é devolvido ao pool de endereços disponíveis para outros projetos.

Console

  1. Acesse a página "Instâncias de VMs".

    Acessar a página "Instâncias de VM"

  2. Selecione o projeto.
  3. Selecione a instância da VM na lista de projetos.
  4. Selecione a ferramenta Editar no topo da página.
  5. Clique na ferramenta de edição para Interfaces de rede.
  6. Altere o Tipo de IP interno de Estático para Efêmero.
  7. Selecione Liberar para liberar seu endereço IP estático.
  8. Clique em Concluído para salvar as alterações.

    A instância continua a usar o endereço IP estático até ser excluída ou reiniciada. Depois disso, o endereço IP é retornado ao pool padrão de endereços IP internos da sub-rede.

gcloud

Usando a ferramenta gcloud, execute o comando compute addresses delete:

gcloud compute addresses delete [ADDRESS_NAME] \
    --region [REGION]

em que:

  • [ADDRESS_NAME] é o nome do endereço a ser excluído;
  • [REGION] é a região a que o endereço pertence.

Por exemplo:

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

API

Na API, faça uma solicitação DELETE para o seguinte URL:

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

Por exemplo, para excluir um endereço na região us-west1:

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

Próximas etapas

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine