Criar e usar intervalos internos

Neste documento, descrevemos como criar, usar e excluir intervalos internos.

Os intervalos internos ajudam a gerenciar um espaço de endereço IP unificado em redes de nuvem privada virtual (VPC), permitindo que você aloque blocos de endereços IP internos e especifique como esses blocos podem ser usados.

Antes de começar

Funções exigidas

Para receber as permissões necessárias para trabalhar com intervalos internos, peça ao administrador para conceder a você o papel do IAM de Administrador da rede do Compute (roles/compute.networkAdmin) no seu projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Criar intervalos internos

Especifique pelo menos duas coisas ao criar um intervalo interno: os endereços IP a serem alocados e a rede em que os endereços serão alocados. É possível criar um intervalo interno com um intervalo CIDR preciso ou fazer com que o Google Cloud escolha o intervalo automaticamente.

Criar um intervalo interno para um bloco CIDR específico

Console

  1. No console do Google Cloud, acesse a página Intervalos internos.

    Acessar "Intervalos internos"

  2. Clique em Reservar intervalo interno.

  3. Digite um Nome.

  4. Opcional: digite uma Descrição.

  5. Na seção Método de reserva, selecione Quero especificar.

  6. No campo Intervalo de IP, insira o intervalo de endereços IP do intervalo interno na notação CIDR.

  7. Selecione uma rede.

  8. Selecione um tipo de Peering.

  9. Selecione um tipo de Uso.

  10. Clique em Reservar.

gcloud

Use o comando internal-ranges create.

gcloud network-connectivity internal-ranges create RANGE_NAME \
    --ip-cidr-range=CIDR_RANGE \
    --network=NETWORK_NAME \
    --description="DESCRIPTION" \
    --peering=PEERING_TYPE \
    --usage=USAGE_TYPE

Substitua:

  • RANGE_NAME: o nome do novo intervalo interno.
  • CIDR_RANGE: o intervalo CIDR que será alocado para o novo intervalo interno.
  • NETWORK_NAME: o nome da rede em que o intervalo interno será criado.
  • DESCRIPTION: uma descrição opcional do intervalo interno.
  • PEERING_TYPE: o tipo de peering do intervalo interno. As opções são FOR_SELF, FOR_PEER e NOT_SHARED. O padrão é FOR_SELF.
  • USAGE_TYPE: o tipo de uso do intervalo interno. As opções são FOR_VPC e EXTERNAL_TO_VPC. O padrão é FOR_VPC.

API

Faça uma solicitação POST ao método internalRanges.create.

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
{
  "ipCidrRange": "CIDR_RANGE",
  "network": "NETWORK_NAME",
  "description": "DESCRIPTION",
  "peering": "PEERING_TYPE",
  "usage": "USAGE_TYPE"
}

Substitua:

  • PROJECT_ID: o ID do projeto pai para o intervalo interno.
  • RANGE_NAME: o nome do intervalo interno.
  • CIDR_RANGE: o intervalo CIDR a ser alocado para o intervalo interno.
  • NETWORK_NAME: o nome da rede em que o intervalo interno será criado.
  • DESCRIPTION: uma descrição opcional do novo intervalo interno.
  • PEERING_TYPE: o tipo de peering do intervalo interno. As opções são FOR_SELF, FOR_PEER e NOT_SHARED. O padrão é FOR_SELF.
  • USAGE_TYPE: o tipo de uso do intervalo interno. As opções são FOR_VPC e EXTERNAL_TO_VPC. O padrão é FOR_VPC.

Criar um intervalo interno com um bloco CIDR alocado automaticamente

Ao criar um intervalo interno com um bloco CIDR alocado automaticamente, você especifica um tamanho de prefixo e um ou mais intervalos CIDR de destino. O Google Cloud considera todas as alocações de endereços IP atuais e aloca um bloco gratuito de endereços IP do tamanho escolhido dentro dos intervalos de CIDR de destino.

Console

  1. No console do Google Cloud, acesse a página Intervalos internos.

    Acessar "Intervalos internos"

  2. Clique em Reservar intervalo interno.

  3. Digite um Nome.

  4. Opcional: digite uma Descrição.

  5. Na seção Método de reserva, selecione Automático.

  6. Selecione um Comprimento do prefixo.

  7. No campo Intervalo de endereços IP de destino 1, insira um intervalo de endereços IP para alocar endereços IP. É possível especificar vários intervalos de endereços IP clicando em Adicionar um intervalo de endereços IP de destino e inserindo cada intervalo.

  8. Selecione uma rede.

  9. Selecione um tipo de Peering.

  10. Selecione um tipo de Uso.

  11. Clique em Reservar.

gcloud

Use o comando internal-ranges create.

gcloud network-connectivity internal-ranges create RANGE_NAME \
    --network=NETWORK_NAME \
    --prefix-length=PREFIX_LENGTH \
    --target-cidr-range=TARGET_CIDR_RANGE \
    --peering=PEERING_TYPE \
    --usage=USAGE_TYPE \
    --description="DESCRIPTION"

Substitua:

  • RANGE_NAME: o nome do intervalo interno.
  • NETWORK_NAME: o nome da rede em que o intervalo interno será criado.
  • PREFIX_LENGTH: o comprimento do prefixo dos endereços IP alocados.
  • TARGET_CIDR_RANGE: o intervalo CIDR de destino do qual um bloco de endereços IP será alocado. É possível inserir vários intervalos CIDR em uma lista separada por vírgulas. O padrão é 10.0.0.0/8 para redes VPC de modo personalizado ou 10.128.0.0/9 para redes VPC de modo automático.
  • PEERING_TYPE: o tipo de peering do intervalo interno. As opções são FOR_SELF, FOR_PEER e NOT_SHARED. O padrão é FOR_SELF.
  • USAGE_TYPE: o tipo de uso do intervalo interno. As opções são FOR_VPC e EXTERNAL_TO_VPC. O padrão é FOR_VPC.
  • DESCRIPTION: uma descrição opcional do novo intervalo interno.

API

Faça uma solicitação POST ao método internalRanges.create.

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
{
  "prefixLength": PREFIX_LENGTH,
  "targetCidrRange": "TARGET_RANGE",
  "network": "NETWORK_NAME",
  "description": "DESCRIPTION",
  "peering": "PEERING_TYPE",
  "usage": "USAGE_TYPE"
}

Substitua:

  • PROJECT_ID: o ID do projeto pai para o intervalo interno.
  • RANGE_NAME: o nome do intervalo interno.
  • PREFIX_LENGTH: o tamanho do prefixo CIDR para o bloco de endereços IP do intervalo.
  • TARGET_RANGE: o intervalo CIDR de destino a partir do qual um bloco de endereços IP será alocado. É possível especificar vários intervalos CIDR em uma matriz JSON. O padrão é 10.0.0.0/8 para redes VPC de modo personalizado ou 10.128.0.0/9 para redes VPC de modo automático.
  • NETWORK_NAME: o nome da rede em que o intervalo interno será criado.
  • DESCRIPTION: uma descrição opcional do novo intervalo interno.
  • PEERING_TYPE: o tipo de peering do intervalo interno. As opções são FOR_SELF, FOR_PEER e NOT_SHARED. O padrão é FOR_SELF.
  • USAGE_TYPE: o tipo de uso do intervalo interno. As opções são FOR_VPC e EXTERNAL_TO_VPC. O padrão é FOR_VPC.

Reservar intervalos internos

A criação de intervalos internos com o tipo de uso e o tipo de peering definidos corretamente permite que o Google Cloud ajude a garantir que os endereços IP alocados sejam usados conforme pretendido. Os intervalos internos são reservados para uso de acordo com as configurações escolhidas para os tipos de uso e peering.

Reservar um intervalo interno para uma rede local

É possível criar um intervalo interno reservado apenas para uso no local. Quando você reserva um intervalo para uso local, o Google Cloud não permite criar sub-redes ou rotas na rede VPC pai se o novo recurso entrar em conflito com o intervalo reservado.

Console

  1. No console do Google Cloud, acesse a página Intervalos internos.

    Acessar "Intervalos internos"

  2. Clique em Reservar intervalo interno.

  3. Digite um Nome.

  4. Opcional: digite uma Descrição.

  5. Na seção Método de reserva, selecione Quero especificar.

  6. No campo Intervalo de IP, insira o intervalo de endereços IP do intervalo interno na notação CIDR.

  7. Selecione uma rede.

  8. Clique em Peering e selecione Não compartilhado.

  9. Clique em Uso e, em seguida, selecione Externo para VPC.

  10. Clique em Reservar.

gcloud

Use o comando internal-ranges create.

gcloud network-connectivity internal-ranges create RANGE_NAME \
    --ip-cidr-range=CIDR_RANGE \
    --network=NETWORK_NAME \
    --description="reserved for on-premises" \
    --usage=EXTERNAL_TO_VPC \
    --peering=NOT_SHARED

Substitua:

  • RANGE_NAME: o nome do intervalo interno a ser reservado para uso local.
  • CIDR_RANGE: o intervalo CIDR a ser alocado para uso local.
  • NETWORK_NAME: o nome da rede em que o intervalo interno será criado.

API

Faça uma solicitação POST ao método internalRanges.create.

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
{
  "ipCidrRange": "CIDR_RANGE",
  "network": "NETWORK_NAME",
  "description": "reserved for on-premises use",
  "usage": "EXTERNAL_TO_VPC",
  "peering": "NOT_SHARED"
}

Substitua:

  • PROJECT_ID: o ID do projeto pai para o intervalo interno.
  • RANGE_NAME: o nome do novo intervalo interno.
  • CIDR_RANGE: o tamanho do prefixo CIDR para o bloco de endereços IP do intervalo.
  • NETWORK_NAME: o nome da rede em que o intervalo interno será criado.

Reservar um intervalo interno para redes de peering

É possível criar um intervalo interno reservado para redes VPC de mesmo nível. Quando você reserva um intervalo para redes VPC de mesmo nível, nenhum recurso na rede VPC pai pode usá-lo. Somente redes VPC com e sem peering podem usar o intervalo.

Console

  1. No console do Google Cloud, acesse a página Intervalos internos.

    Acessar "Intervalos internos"

  2. Clique em Reservar intervalo interno.

  3. Digite um Nome.

  4. Opcional: digite uma Descrição.

  5. Na seção Método de reserva, selecione Quero especificar.

  6. No campo Intervalo de IP, insira o intervalo de endereços IP do intervalo interno na notação CIDR.

  7. Selecione uma rede.

  8. Clique em Peering e selecione Para peering.

  9. Clique em Uso e, em seguida, selecione Para VPC.

  10. Clique em Reservar.

gcloud

Use o comando internal-ranges create.

gcloud network-connectivity internal-ranges create RANGE_NAME \
    --target-cidr-range=TARGET_CIDR_RANGE \
    --prefix-length=PREFIX_LENGTH \
    --network=NETWORK_NAME \
    --peering=FOR_PEER \
    --usage=FOR_VPC

Substitua:

  • RANGE_NAME: o nome do intervalo interno a ser reservado apenas para redes de peering.
  • TARGET_CIDR_RANGE: o intervalo CIDR de destino do qual um bloco de endereços IP será alocado. É possível especificar vários intervalos CIDR em uma lista separada por vírgulas. O padrão é 10.0.0.0/8 para redes VPC de modo personalizado ou 10.128.0.0/9 para redes VPC de modo automático.
  • PREFIX_LENGTH: o comprimento do prefixo dos endereços IP alocados.
  • NETWORK_NAME: o nome da rede em que o intervalo interno será criado.

API

Faça uma solicitação POST ao método internalRanges.create.

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
{
  "prefixLength": PREFIX_LENGTH,
  "targetCidrRange": "TARGET_CIDR_RANGE",
  "network": "NETWORK_NAME",
  "peering": "FOR_PEER",
  "usage": "FOR_VPC"
}

Substitua:

  • PROJECT_ID: o ID do projeto pai para o intervalo interno.
  • RANGE_NAME: o nome do intervalo interno.
  • PREFIX_LENGTH: o tamanho do prefixo CIDR para o bloco de endereços IP do intervalo.
  • TARGET_CIDR_RANGE: o intervalo CIDR de onde o bloco de endereços IP será alocado. É possível especificar vários intervalos CIDR em uma matriz JSON. O padrão é 10.0.0.0/8 para redes VPC de modo personalizado ou 10.128.0.0/9 para redes VPC de modo automático.
  • NETWORK_NAME: o nome da rede em que o intervalo interno será criado.

Reservar um intervalo interno para uma rede VPC local

É possível criar um intervalo interno reservado apenas para uma rede VPC local. O intervalo reservado não é anunciado por redes VPC de mesmo nível, e essas redes não podem usar o intervalo interno de uma maneira visível para a rede VPC pai.

Console

  1. No console do Google Cloud, acesse a página Intervalos internos.

    Acessar "Intervalos internos"

  2. Clique em Reservar intervalo interno.

  3. Digite um Nome.

  4. Opcional: digite uma Descrição.

  5. Na seção Método de reserva, selecione Quero especificar.

  6. No campo Intervalo de IP, insira o intervalo de endereços IP do intervalo interno na notação CIDR.

  7. Selecione uma rede.

  8. Clique em Peering e selecione Não compartilhado.

  9. Clique em Uso e, em seguida, selecione Para VPC.

  10. Clique em Reservar.

gcloud

Use o comando internal-ranges create.

gcloud network-connectivity internal-ranges create RANGE_NAME \
    --ip-cidr-range=CIDR_RANGE \
    --network=NETWORK_NAME \
    --peering=NOT_SHARED \
    --usage=FOR_VPC

Substitua:

  • RANGE_NAME: o nome do intervalo interno a ser reservado para uso em uma rede VPC local.
  • CIDR_RANGE: o tamanho do prefixo CIDR para o bloco de endereços IP do intervalo.
  • NETWORK_NAME: o nome da rede em que o intervalo interno será criado.

API

Faça uma solicitação POST ao método internalRanges.create.

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
{
  "ipCidrRange": "CIDR_RANGE",
  "network": "NETWORK_NAME",
  "peering": "NOT_SHARED",
  "usage": "FOR_VPC"
}

Substitua:

  • PROJECT_ID: o ID do projeto pai para o intervalo interno.
  • RANGE_NAME: o nome do novo intervalo interno.
  • CIDR_RANGE: o tamanho do prefixo CIDR para o bloco de endereços IP do intervalo.
  • NETWORK_NAME: o nome da rede em que o intervalo interno será criado.

Criar sub-redes com intervalos internos

É possível criar uma sub-rede e usar um intervalo interno para especificar o intervalo de endereços IP internos da sub-rede. A sub-rede pode ser associada a todo o intervalo interno ou apenas a parte dele. Intervalos secundários para sub-redes também podem ser associados a intervalos internos.

Para criar uma sub-rede associada a um intervalo interno, use a CLI do Google Cloud ou envie uma solicitação de API.

Criar uma sub-rede que usa um intervalo interno inteiro

Para criar uma sub-rede que use um intervalo interno inteiro para seu intervalo de endereços IP internos, siga estas etapas.

gcloud

  1. Crie um intervalo interno na rede em que você quer criar uma nova sub-rede. Defina o tipo de uso nesse intervalo interno como FOR_VPC e o tipo de peering como FOR_SELF.
  2. Use o comando subnets create.

    gcloud beta compute networks subnets create SUBNET_NAME \
        --reserved-internal-range=networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME \
        --network=NETWORK_NAME \
        --region=REGION
    

    Substitua:

    • SUBNET_NAME: o nome da sub-rede.
    • PROJECT_ID: ID do projeto em que a sub-rede será criada.
    • RANGE_NAME: o nome do intervalo interno a ser associado à sub-rede.
    • NETWORK_NAME: o nome da rede em que a sub-rede será criada.
    • REGION: a região em que a sub-rede será criada.

API

  1. Crie um intervalo interno na rede em que você quer criar uma nova sub-rede. Defina o tipo de uso nesse intervalo interno como FOR_VPC e o tipo de peering como FOR_SELF.
  2. Faça uma solicitação POST ao método subnetworks.insert.

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/subnetworks
    {
      "name" : "SUBNET_NAME",
      "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME",
      "network" : "NETWORK"
    }
    

    Substitua:

    • PROJECT_ID: o ID do projeto pai da nova sub-rede.
    • REGION: a região em que a sub-rede será criada.
    • SUBNET_NAME: o nome da nova sub-rede.
    • PROJECT_ID: o ID do projeto em que uma sub-rede será criada.
    • RANGE_NAME: o nome do intervalo interno a ser usado para a nova sub-rede.
    • NETWORK: o nome da rede em que a sub-rede será criada.

Criar uma sub-rede que use parte de um intervalo interno

Para criar uma sub-rede que use parte de um intervalo interno para o intervalo de endereços interno, siga estas etapas.

gcloud

  1. Crie um intervalo interno na rede em que você quer criar uma nova sub-rede. Defina o tipo de uso nesse intervalo interno como FOR_VPC e o tipo de peering como FOR_SELF.
  2. Use o comando subnets create.

    gcloud beta compute networks subnets create SUBNET_NAME \
        --reserved-internal-range=networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME \
        --range=IP_RANGE \
        --network=NETWORK_NAME \
        --region=REGION
    

    Substitua:

    • SUBNET_NAME: o nome da sub-rede.
    • PROJECT_ID: ID do projeto em que a sub-rede será criada.
    • RANGE_NAME: o nome do intervalo interno a ser associado à nova sub-rede.
    • IP_RANGE: um intervalo CIDR que é um subconjunto do intervalo interno.
    • NETWORK_NAME: o nome da rede em que a sub-rede será criada.
    • REGION: a região em que a sub-rede será criada.

Por exemplo, os dois comandos a seguir criam uma sub-rede associada apenas à parte 10.9.1.0/24 de um intervalo interno que reserva o bloco CIDR 10.9.0.0/16.

gcloud network-connectivity internal-ranges create reserved-range-one \
    --ip-cidr-range=10.9.0.0/16 \
    --network=vpc-one
gcloud beta compute networks subnets create subnet-one \
    --reserved-internal-range=networkconnectivity.googleapis.com/projects/project-one/locations/global/internalRanges/reserved-range-one \
    --range=10.9.1.0/24 \
    --network=vpc-one \
    --region=us-central1

API

  1. Crie um intervalo interno na rede em que você quer criar uma nova sub-rede. Defina o tipo de uso nesse intervalo interno como FOR_VPC e o tipo de peering como FOR_SELF.
  2. Faça uma solicitação POST ao método subnetworks.insert.

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/subnetworks
    {
      "name" : "SUBNET_NAME",
      "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME",
      "range" : "IP_RANGE",
      "network" : "NETWORK"
    }
    

    Substitua:

    • PROJECT_ID: o ID do projeto pai da nova sub-rede.
    • REGION: a região em que a sub-rede será criada.
    • SUBNET_NAME: o nome da sub-rede.
    • PROJECT_ID: ID do projeto em que a sub-rede será criada.
    • RANGE_NAME: o nome do intervalo interno a ser associado à nova sub-rede.
    • IP_RANGE: um intervalo CIDR que é um subconjunto do intervalo interno escolhido.
    • NETWORK: o nome da rede em que a sub-rede será criada.

Por exemplo, as duas solicitações a seguir criam uma sub-rede associada apenas à parte 10.9.1.0/24 de um intervalo interno que contém o bloco CIDR 10.9.0.0/16.

POST https://networkconnectivity.googleapis.com/v1/projects/sample-project/locations/global/internalRanges?internalRangeId=reserved-for-subnet
{
  "targetCidrRange": "10.9.0.0/16",
  "network": "network-b"
}
POST https://compute.googleapis.com/compute/beta/projects/11223344/regions/us-central1/subnetworks
{
  "name" : "subnet-with-partial-range",
  "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/project-one/locations/global/internalRanges/reserved-for-subnet",
  "range" : "10.9.1.0/24",
  "network" : "network-b"
}

Criar clusters do GKE com intervalos internos

É possível usar intervalos internos para alocar endereços IP para clusters nativos de VPC do Google Kubernetes Engine (GKE).

Para criar um cluster nativo de VPC com intervalos internos, use a CLI do Google Cloud ou envie uma solicitação de API.

gcloud

  1. Crie os intervalos internos a seguir usando o comando internal-ranges create.

    gcloud network-connectivity internal-ranges create gke-nodes-1 \
        --prefix-length=NODE_PREFIX_LENGTH \
        --network=NETWORK
    
    gcloud network-connectivity internal-ranges create gke-pods-1 \
        --prefix-length=POD_PREFIX_LENGTH \
        --network=NETWORK
    
    gcloud network-connectivity internal-ranges create gke-services-1 \
        --prefix-length=SERVICE_PREFIX_LENGTH \
        --network=NETWORK
    

    Substitua:

    • NODE_PREFIX_LENGTH: o comprimento do prefixo do intervalo interno associado aos nós do GKE.
    • POD_PREFIX_LENGTH: o comprimento do prefixo do intervalo interno associado aos pods do GKE.
    • SERVICE_PREFIX_LENGTH: o comprimento do prefixo do intervalo interno associado aos serviços do GKE.
    • NETWORK: o nome da rede.
  2. Crie uma sub-rede com os intervalos internos criados na etapa anterior usando o comando subnets create.

    gcloud beta compute networks subnets create gke-subnet-1 \
        --network=NETWORK \
        --region=REGION \
        --reserved-internal-range="//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-nodes-1" \
        --secondary-range-with-reserved-internal-range="pods=//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-pods-1,services=//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-services-1"
    

    Substitua:

    • NETWORK: o nome da rede.
    • REGION: a região da sub-rede.
    • PROJECT_ID: o ID do projeto.
  3. Crie o cluster nativo de VPC usando o comando clusters create.

    gcloud container clusters create CLUSTER_NAME \
        --network=NETWORK \
        --subnetwork=gke-subnet-1 \
        --zone=ZONE \
        --cluster-secondary-range-name=pods \
        --services-secondary-range-name=services \
        --enable-ip-alias
    

API

  1. Crie os intervalos internos a seguir fazendo solicitações POST para o método internalRanges.create.

    POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-nodes-1
    {
      "network": "NETWORK",
      "prefixLength": NODE_PREFIX_LENGTH,
      "peering": "FOR_SELF",
      "usage": "FOR_VPC"
    }
    
    POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-pods-1
    {
      "network": "NETWORK",
      "prefixLength": POD_PREFIX_LENGTH,
      "peering": "FOR_SELF",
      "usage": "FOR_VPC"
    }
    
    POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-services-1
    {
      "network": "NETWORK",
      "prefixLength": SERVICE_PREFIX_LENGTH,
      "peering": "FOR_SELF",
      "usage": "FOR_VPC"
    }
    

    Substitua:

    • PROJECT_ID: o ID do projeto.
    • NETWORK: o nome da rede.
    • NODE_PREFIX_LENGTH: o comprimento do prefixo do intervalo interno associado aos nós do GKE.
    • POD_PREFIX_LENGTH: o comprimento do prefixo do intervalo interno associado aos pods do GKE.
    • SERVICE_PREFIX_LENGTH: o comprimento do prefixo do intervalo interno associado aos serviços do GKE.
  2. Crie uma sub-rede com os intervalos internos criados na etapa anterior fazendo uma solicitação POST ao método subnetworks.insert.

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/subnetworks
    {
      "name": "gke-subnet-1",
      "network": "https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/networks/NETWORK",
      "privateIpGoogleAccess": false,
      "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-nodes-1",
      "secondaryIpRanges": [
        {
          "rangeName": "pods",
          "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-pods-1"
        },
        {
          "rangeName": "services",
          "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-services-1"
        }
      ]
    }
    

    Substitua:

    • PROJECT_ID: o ID do projeto.
    • REGION: a região da sub-rede.
    • NETWORK: a rede da sub-rede.
  3. Crie o cluster nativo de VPC fazendo uma solicitação POST ao método clusters.create.

    POST https://container.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/clusters
    {
      "cluster": {
        "ipAllocationPolicy": {
          "clusterSecondaryRangeName": "pods",
          "createSubnetwork": false,
          "servicesSecondaryRangeName": "services",
          "useIpAliases": true
        },
        "name": "CLUSTER_NAME",
        "network": "NETWORK",
        "nodePools": [
          {
            "config": {
              "oauthScopes": [
                "https://www.googleapis.com/auth/devstorage.read_only",
                "https://www.googleapis.com/auth/logging.write",
                "https://www.googleapis.com/auth/monitoring",
                "https://www.googleapis.com/auth/service.management.readonly",
                "https://www.googleapis.com/auth/servicecontrol",
                "https://www.googleapis.com/auth/trace.append"
              ]
            },
            "initialNodeCount": 3,
            "management": {
              "autoRepair": true,
              "autoUpgrade": true
            },
            "name": "default-pool",
            "upgradeSettings": {
              "maxSurge": 1
            }
          }
        ],
        "subnetwork": "gke-subnet-1"
      },
      "parent": "projects/PROJECT_ID/locations/ZONE"
    }
    

    Substitua:

    • PROJECT_ID: o ID do projeto.
    • ZONE: a zona do cluster.
    • CLUSTER_NAME: o nome do novo cluster.
    • NETWORK: a rede do cluster.

Listar intervalos internos

É possível listar intervalos internos para visualizar todos eles no projeto atual ou em uma rede VPC específica. Para listar projetos em uma rede VPC, use a CLI do Google Cloud ou envie uma solicitação de API.

Console

gcloud

  • Para visualizar todos os intervalos internos no seu projeto atual, use o comando internal-ranges list.

    gcloud network-connectivity internal-ranges list
    
  • Para visualizar todos os intervalos internos em uma rede VPC, use o comando internal-ranges list e inclua um filtro.

    gcloud network-connectivity internal-ranges list \
        --filter=network:NETWORK_NAME \
        --project=PROJECT_ID
    

    Substitua:

    • NETWORK_NAME: o nome da rede VPC em que os intervalos internos serão listados.
    • PROJECT_ID é o ID do projeto que contém a rede VPC.

API

  • Para visualizar todos os intervalos internos em um projeto, faça uma solicitação GET para o método internalRanges.list.

    GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges
    

    Substitua PROJECT_ID pelo ID do projeto para visualizar os intervalos internos.

  • Para visualizar todos os intervalos internos em uma rede VPC, faça uma solicitação GET para o método internalRanges.list e inclua um filtro.

    GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?filter=network=\"https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME\"
    

    Substitua NETWORK_NAME pelo nome da rede VPC em que os intervalos internos serão listados.

Descrever um intervalo interno

Descreva um intervalo interno para ver detalhes sobre o intervalo escolhido, incluindo quaisquer sub-redes associadas a ele.

Console

  1. No console do Google Cloud, acesse a página Intervalos internos.

    Acessar "Intervalos internos"

  2. Clique no Nome do intervalo interno que você quer descrever.

gcloud

Use o comando internal-ranges describe.

gcloud network-connectivity internal-ranges describe RANGE_NAME

Substitua RANGE_NAME pelo nome do intervalo interno a ser descrito.

API

Faça uma solicitação GET ao método internalRanges.get.

GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME

Substitua:

  • PROJECT_ID: o ID do projeto pai para o intervalo interno.
  • RANGE_NAME: o nome do intervalo interno a ser descrito.

Expandir um intervalo interno

É possível expandir o intervalo de endereços IP alocado a um recurso de intervalo interno, mas não é possível restringi-lo. O intervalo atualizado precisa conter o intervalo anterior. Se você quiser restringir o intervalo alocado ou modificar outro elemento, exclua o intervalo interno e crie um novo.

Expandir o intervalo CIDR de IP de um intervalo interno

Para expandir um intervalo interno atualizando o intervalo CIDR de IP, siga estas etapas.

Console

  1. No console do Google Cloud, acesse a página Intervalos internos.

    Acessar "Intervalos internos"

  2. Clique no Nome do intervalo interno que você quer atualizar.

  3. Clique em Expandir intervalo.

  4. Clique em Intervalo de IP.

  5. Informe um novo intervalo de IP que precisa conter o intervalo anterior.

  6. Clique em Expandir.

gcloud

Use o comando internal-ranges update.

gcloud network-connectivity internal-ranges update RANGE_NAME \
    --ip-cidr-range=CIDR_RANGE

Substitua:

  • RANGE_NAME: o nome do intervalo interno.
  • CIDR_RANGE: o intervalo CIDR atualizado, que precisa conter o intervalo anterior.

API

Faça uma solicitação PATCH ao método internalRanges.patch.

PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=ipCidrRange
{
  "ipCidrRange": "CIDR_RANGE"
}

Substitua:

  • PROJECT_ID: o ID do projeto pai para o intervalo interno.
  • RANGE_NAME: o nome do intervalo interno.
  • CIDR_RANGE: o intervalo CIDR atualizado, que precisa conter o intervalo anterior.

Expandir um intervalo interno diminuindo o comprimento dele

Para expandir um intervalo interno diminuindo o tamanho do prefixo, siga estas etapas.

Console

  1. No console do Google Cloud, acesse a página Intervalos internos.

    Acessar "Intervalos internos"

  2. Clique no Nome do intervalo interno que você quer atualizar.

  3. Clique em Expandir intervalo.

  4. Clique em Comprimento do prefixo.

  5. Na lista Comprimento do prefixo, selecione um tamanho menor que o atual.

  6. Clique em Expandir.

gcloud

Use o comando internal-ranges update.

gcloud network-connectivity internal-ranges update RANGE_NAME \
    --prefix-length=PREFIX_LENGTH

Substitua:

  • RANGE_NAME: o nome do intervalo interno.
  • PREFIX_LENGTH: o comprimento do prefixo atualizado, que precisa ser menor que o comprimento do prefixo anterior.

API

Faça uma solicitação PATCH ao método internalRanges.patch.

PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=prefixLength
{
  "prefixLength": PREFIX_LENGTH
}

Substitua:

  • PROJECT_ID: o ID do projeto pai para o intervalo interno.
  • RANGE_NAME: o nome do intervalo interno.
  • PREFIX_LENGTH: o comprimento do prefixo atualizado, que precisa ser menor que o comprimento do prefixo anterior.

Excluir um intervalo interno

É possível excluir um intervalo interno se ele não estiver associado a um recurso do Google Cloud, como uma sub-rede. Para excluir um intervalo interno associado a um recurso do Google Cloud, primeiro exclua o recurso associado.

Console

  1. No console do Google Cloud, acesse a página Intervalos internos.

    Acessar "Intervalos internos"

  2. Clique no Nome do intervalo interno que você quer excluir.

  3. Clique em Excluir.

  4. Para confirmar, clique em Excluir.

gcloud

Use o comando internal-ranges delete.

gcloud network-connectivity internal-ranges delete RANGE_TO_DELETE

Substitua RANGE_TO_DELETE pelo nome do intervalo interno a ser excluído.

API

Faça uma solicitação DELETE ao método internalRanges.delete.

DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME

Substitua:

  • PROJECT_ID: o ID do projeto pai para o intervalo interno.
  • RANGE_NAME: o nome do intervalo interno.