Crie e use intervalos internos

Este documento descreve como criar, usar e eliminar intervalos internos.

Os intervalos internos ajudam a gerir um espaço de endereços IP unificado nas redes da nuvem privada virtual (VPC), permitindo-lhe atribuir blocos de endereços IP internos e especificar como esses blocos podem ser usados.

Antes de começar

Funções necessárias

Para receber as autorizações de que precisa para trabalhar com intervalos internos, peça ao seu administrador para lhe conceder a função de administrador da rede de computação (roles/compute.networkAdmin) do IAM no seu projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Reserve intervalos internos

Especifica, pelo menos, duas coisas quando cria um intervalo interno: os endereços IP a atribuir e a rede na qual atribuir os endereços. Pode criar um intervalo interno IPv4 ou IPv6 com um bloco CIDR específico ou pode fazer com que o Trusted Cloud by S3NS Google Ads atribua um bloco IPv4 automaticamente. Não pode criar um intervalo interno IPv6 com um bloco de endereços atribuído automaticamente.

Quando pede um bloco CIDR IPv4 atribuído automaticamente, fornece um comprimento do prefixo e um ou mais blocos CIDR IPv4 de destino opcionais. Se não especificar um bloco CIDR de destino,o Trusted Cloud usa os seguintes intervalos de destino predefinidos:

  • Para redes VPC no modo personalizado, os intervalos predefinidos são 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16.
  • Para redes VPC de modo automático, os intervalos predefinidos são 10.0.0.0/9, 172.16.0.0/12 e 192.168.0.0/16.

Trusted Cloud tem em conta as atribuições de endereços IP existentes e atribui ao intervalo interno um bloco CIDR gratuito do tamanho escolhido a partir dos blocos CIDR de destino. Pode refinar ainda mais esta atribuição fornecendo uma lista opcional de blocos CIDR a excluir.Trusted Cloud atribui um bloco de endereços IP ao intervalo interno que não se sobrepõe a nenhum bloco excluído. Não é possível atualizar a lista de blocos excluídos depois de criar um intervalo interno.

Para controlar o método que Trusted Cloud usa para selecionar automaticamente um bloco livre, pode especificar uma estratégia de atribuição. Se não especificar uma estratégia de atribuição, Trusted Cloud atribui aleatoriamente um intervalo de endereços IP livres a partir dos blocos CIDR alvo (ou do intervalo predefinido, se não forem especificados blocos CIDR alvo).

Os intervalos internos de IPv6 permitem-lhe impedir a atribuição automática de endereços IP a novas sub-redes apenas IPv6 ou de pilha dupla. Os intervalos internos IPv6 têm de ter o tipo de utilização EXTERNAL_TO_VPC e o tipo de peering FOR_SELF. Tem de incluir um bloco CIDR IPv6 específico e o campo overlaps tem de estar vazio ou não especificado.

Para impedir que os utilizadores atualizem o bloco CIDR ou a configuração de sobreposição de um intervalo interno, pode criar um intervalo interno imutável. Os intervalos internos imutáveis impedem alterações a estas propriedades, mas ainda pode atualizar a descrição. Não é possível alterar a imutabilidade após a criação do intervalo interno.

Por predefinição, Trusted Cloud by S3NS bloqueia a criação de intervalos ou recursos internos se partilharem endereços IP sobrepostos na mesma rede VPC. Pode configurar um intervalo interno IPv4 para permitir a sobreposição com os intervalos de endereços de sub-redes existentes, rotas novas e existentes ou ambos. Não pode criar recursos que usem endereços IP de um intervalo interno existente, a menos que associe explicitamente o recurso ao intervalo interno (para sub-redes) ou configure a sobreposição (para rotas). Trusted Cloud

Consola

  1. Na Trusted Cloud consola, aceda à página Intervalos internos.

    Aceda a Intervalos internos

  2. Clique em Reservar intervalo interno.

  3. Introduza um nome.

  4. Opcional: introduza uma descrição.

  5. Selecione uma versão de IP.

    • Se selecionar IPv4, faça o seguinte:

      1. Especifique se o intervalo interno é imutável.
      2. Selecione um método de reserva.

        • Se selecionar Automático, faça o seguinte:

          1. Selecione um algoritmo de atribuição.
          2. Selecione um comprimento do prefixo.
          3. Introduza um intervalo de endereços IP de destino. Pode adicionar vários intervalos de destino.
          4. Opcional: clique em Adicionar um intervalo a excluir e, de seguida, introduza um intervalo de endereços IP a excluir. Pode adicionar vários intervalos excluídos.

            Trusted Cloud atribui um bloco de endereços IP ao intervalo interno que não se sobrepõe a nenhum intervalo excluído. Não é possível atualizar esta lista após a criação do intervalo interno.

        • Se selecionar Permitir-me especificar, introduza um intervalo de IP na notação CIDR.

      3. Selecione uma rede.

      4. Selecione um tipo de peering.

      5. Selecione um tipo de utilização.

      6. Opcional: na secção Sobreposições permitidas, especifique se o intervalo interno pode sobrepor-se a sub-redes existentes, rotas novas e existentes ou ambas.

    • Se selecionar IPv6, faça o seguinte:

      1. Especifique se o intervalo interno é imutável.
      2. Selecione Permitir-me especificar e, de seguida, introduza um bloco CIDR IPv6 ou IPv6 mapeado para IPv4.
      3. Selecione uma rede.
      4. Clique em Intercâmbio e, de seguida, selecione Para mim.
      5. Clique em Utilização e, de seguida, selecione Externo à VPC.
  6. Clique em Reservar.

gcloud

  • Para reservar um intervalo interno para um bloco CIDR IPv4 ou IPv6 específico, use o comando gcloud network-connectivity 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 o seguinte:

    • RANGE_NAME: o nome do novo intervalo interno
    • CIDR_RANGE: o bloco CIDR IPv4, IPv6 ou IPv6 mapeado para IPv4 a atribuir ao novo intervalo interno
      • Se especificar um bloco IPv6, tem de fazer o seguinte:
        • Defina o peering tipo como FOR_SELF.
        • Defina o usage tipo como EXTERNAL_TO_VPC.
    • NETWORK_NAME: o nome da rede na qual criar o intervalo interno
    • 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. FOR_SELF é a predefinição.

    • USAGE_TYPE: o tipo de utilização do intervalo interno

      As opções são FOR_VPC, EXTERNAL_TO_VPC e FOR_MIGRATION. O valor predefinido é FOR_VPC.

  • Para reservar um intervalo interno IPv4 com um bloco CIDR atribuído automaticamente, use o seguinte comando:

    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" \
        --allocation-strategy=ALLOCATION_STRATEGY
        [--first-available-ranges-lookup-size=FIRST_N_LOOKUP_SIZE]
    

    Substitua o seguinte:

    • PREFIX_LENGTH: o comprimento do prefixo dos endereços IP atribuídos
    • TARGET_CIDR_RANGE: o bloco CIDR de destino a partir do qual vai ser alocado um bloco de endereços IPv4

      • Para redes VPC no modo personalizado, os blocos CIDR predefinidos são 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16.
      • Para as redes VPC de modo automático, os blocos CIDR predefinidos são 10.0.0.0/9, 172.16.0.0/12 e 192.168.0.0/16.

      Pode introduzir vários blocos CIDR numa lista separada por vírgulas.

    • ALLOCATION_STRATEGY: a estratégia de atribuição que quer usar para o bloco CIDR deste intervalo interno

      As opções são RANDOM, FIRST_AVAILABLE, RANDOM_FIRST_N_AVAILABLE e FIRST_SMALLEST_FITTING. A predefinição é RANDOM.

    • FIRST_N_LOOKUP_SIZE: para a estratégia de atribuição RANDOM_FIRST_N_AVAILABLE, o número de blocos CIDR gratuitos a encontrar antes de determinar aleatoriamente um

      Inclua esta flag apenas se escolher a RANDOM_FIRST_N_AVAILABLE estratégia de atribuição.

  • Se quiser excluir intervalos de endereços IP ao reservar um intervalo interno IPv4 com um bloco CIDR atribuído automaticamente, use o seguinte comando:

    gcloud alpha 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" \
        --exclude-cidr-ranges=EXCLUDED_RANGES
    

    Substitua EXCLUDED_RANGES por uma lista separada por vírgulas de um ou mais blocos CIDR IPv4 a excluir. Trusted Cloud atribui um bloco de endereços IP ao intervalo interno que não se sobrepõe a nenhum bloco excluído. Não é possível atualizar a lista após a criação do intervalo interno.

  • Para reservar um intervalo interno IPv4 com sobreposição, use o seguinte comando:

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

    Substitua OVERLAPS pelo tipo de sobreposição a permitir. As opções são OVERLAP_EXISTING_SUBNET_RANGE e OVERLAP_ROUTE_RANGE. Pode incluir ambos os valores numa lista separada por vírgulas.

  • Para reservar um intervalo interno imutável, use o seguinte comando:

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

API

  • Para reservar um intervalo interno para um bloco CIDR IPv4 ou IPv6 específico, faça um pedido POST ao método projects.locations.internalRanges.create.

    POST https://networkconnectivity.s3nsapis.fr/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 o seguinte:

    • PROJECT_ID: o ID do projeto principal para o intervalo interno
    • RANGE_NAME: o nome do intervalo interno
    • CIDR_RANGE: o bloco CIDR IPv4, IPv6 ou IPv6 mapeado para IPv4 a atribuir ao intervalo interno
      • Se especificar um bloco IPv6, tem de fazer o seguinte:
        • Defina o peering tipo como FOR_SELF.
        • Defina o usage tipo como EXTERNAL_TO_VPC.
    • NETWORK_NAME: o nome da rede na qual criar o intervalo interno
    • 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. FOR_SELF é a predefinição.

    • USAGE_TYPE: o tipo de utilização do intervalo interno

      As opções são FOR_VPC, EXTERNAL_TO_VPC e FOR_MIGRATION. O valor predefinido é FOR_VPC.

  • Para reservar um intervalo interno de IPv4 com um bloco CIDR atribuído automaticamente, faça o seguinte pedido:

    POST https://networkconnectivity.s3nsapis.fr/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
    {
      "prefixLength": PREFIX_LENGTH,
      "targetCidrRange": "TARGET_CIDR_RANGE",
      "network": "NETWORK_NAME",
      "description": "DESCRIPTION",
      "peering": "PEERING_TYPE",
      "usage": "USAGE_TYPE",
      "allocationOptions": {
        "allocationStrategy": "ALLOCATION_STRATEGY",
        ["firstAvailableRangesLookupSize": FIRST_N_LOOKUP_SIZE]
      }
    }
    

    Substitua o seguinte:

    • PREFIX_LENGTH: o comprimento do prefixo CIDR para o bloco de endereços IP do intervalo
    • TARGET_CIDR_RANGE: o bloco CIDR de destino a partir do qual vai ser alocado um bloco de endereços IPv4

      • Para redes VPC no modo personalizado, os blocos CIDR predefinidos são 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16.
      • Para as redes VPC de modo automático, os blocos CIDR predefinidos são 10.0.0.0/9, 172.16.0.0/12 e 192.168.0.0/16.

      Pode especificar vários blocos CIDR numa matriz JSON.

    • ALLOCATION_STRATEGY: a estratégia de atribuição que quer usar para o bloco CIDR deste intervalo interno

      As opções são RANDOM, FIRST_AVAILABLE, RANDOM_FIRST_N_AVAILABLE e FIRST_SMALLEST_FITTING. A predefinição é RANDOM.

    • FIRST_N_LOOKUP_SIZE: Para a estratégia de atribuição RANDOM_FIRST_N_AVAILABLE, o número de blocos CIDR gratuitos a encontrar antes de determinar aleatoriamente um

      Inclua este campo apenas se escolher a RANDOM_FIRST_N_AVAILABLEestratégia de atribuição.

  • Se quiser excluir intervalos de endereços IP ao reservar um intervalo interno IPv4 com um bloco CIDR atribuído automaticamente, faça o seguinte pedido:

    POST https://networkconnectivity.s3nsapis.fr/v1alpha1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
    {
      "prefixLength": PREFIX_LENGTH,
      "targetCidrRange": "TARGET_CIDR_RANGE",
      "network": "NETWORK_NAME",
      "description": "DESCRIPTION",
      "peering": "PEERING_TYPE",
      "usage": "USAGE_TYPE",
      "excludeCidrRanges": ["EXCLUDED_RANGE_1","EXCLUDED_RANGE_2"]
    }
    

    Substitua EXCLUDED_RANGE_1 e EXCLUDED_RANGE_2 por um ou mais blocos CIDR IPv4 a excluir. Trusted Cloud atribui um bloco de endereços IP ao intervalo interno que não se sobrepõe a nenhum bloco excluído. Não é possível atualizar a lista após a criação do intervalo interno.

  • Para reservar um intervalo interno IPv4 com sobreposição, faça o seguinte pedido:

    POST https://networkconnectivity.s3nsapis.fr/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
    {
      "ipCidrRange": "CIDR_RANGE",
      "network": "NETWORK_NAME",
      "description": "DESCRIPTION",
      "peering": "PEERING_TYPE",
      "usage": "USAGE_TYPE",
      "overlaps": ["OVERLAPS"]
    }
    

    Substitua OVERLAPS pelo tipo de sobreposição a permitir. As opções são OVERLAP_EXISTING_SUBNET_RANGE e OVERLAP_ROUTE_RANGE. Pode incluir ambos os valores numa matriz JSON.

  • Para reservar um intervalo interno imutável, faça o seguinte pedido:

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

Reserve intervalos internos de IPv4 para a migração de sub-redes

Pode usar um intervalo interno para migrar um intervalo CIDR de uma sub-rede para outra. Para mais informações, consulte o artigo Migrar intervalos de sub-redes IPv4.

gcloud

Use o comando gcloud network-connectivity internal-ranges create.

gcloud network-connectivity internal-ranges create RANGE_NAME \
    --ip-cidr-range=CIDR_RANGE \
    --network=NETWORK_NAME \
    --peering=FOR_SELF \
    --usage=FOR_MIGRATION \
    --migration-source=SOURCE_SUBNET \
    --migration-target=TARGET_SUBNET

Substitua o seguinte:

  • RANGE_NAME: o nome do intervalo interno a criar
  • CIDR_RANGE: o bloco CIDR IPv4 da sub-rede que quer migrar
  • NETWORK_NAME: o nome da rede para criar o intervalo interno
  • SOURCE_SUBNET: o URI da sub-rede de origem
  • TARGET_SUBNET: o URI da sub-rede de destino

API

Faça um pedido POST ao projects.locations.internalRanges.createmétodo.

POST https://networkconnectivity.s3nsapis.fr/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
{
  "ipCidrRange": "CIDR_RANGE",
  "network": "NETWORK_NAME",
  "peering": "FOR_SELF",
  "usage": "FOR_MIGRATION",
  "migration": {
    "source": "SOURCE_SUBNET",
    "target": "TARGET_SUBNET"
  }
}

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto principal para o intervalo interno
  • RANGE_NAME: o nome do novo intervalo interno
  • CIDR_RANGE: o bloco CIDR IPv4 da sub-rede que quer migrar
  • NETWORK_NAME: o nome da rede para criar o intervalo interno
  • SOURCE_SUBNET: o URI da sub-rede de origem
  • TARGET_SUBNET: o URI da sub-rede de destino

Crie sub-redes com intervalos internos IPv4

Pode criar uma sub-rede apenas IPv4 ou de pilha dupla e usar um intervalo interno para especificar o intervalo de endereços IPv4 internos principal da sub-rede. A sub-rede pode ser associada a um intervalo interno completo ou apenas a parte do intervalo. Os intervalos secundários para sub-redes também podem ser associados a intervalos internos.

Consola

  1. Reserve um intervalo interno de IPv4 na rede onde quer criar uma nova sub-rede. Defina o tipo de utilização neste intervalo interno como For VPC e defina o tipo de peering como For self.

  2. Na Trusted Cloud consola, aceda à página Redes VPC.

    Aceda a redes de VPC

  3. Clique no nome de uma rede de VPC para apresentar a página de detalhes da rede de VPC.

  4. Clique em Adicionar sub-rede. Na caixa de diálogo apresentada:

    1. Indique um nome.
    2. Selecione uma região.
    3. Selecione a caixa de verificação Associar a um intervalo interno.
    4. Para Intervalo interno reservado, faça uma seleção.
    5. Opcional: para associar a sub-rede a parte do intervalo interno, introduza um intervalo IPv4.
    6. Clique em Adicionar.

gcloud

  1. Reserve um intervalo interno de IPv4 na rede onde quer criar uma nova sub-rede. Defina o tipo de utilização neste intervalo interno como FOR_VPC e defina o tipo de peering como FOR_SELF.
  2. Efetue um dos seguintes passos:

    • Para criar uma sub-rede associada a um intervalo interno completo, use o comando gcloud compute networks subnets create.

      gcloud 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 o seguinte:

      • SUBNET_NAME: o nome da sub-rede
      • PROJECT_ID: o ID do projeto no qual criar a sub-rede
      • RANGE_NAME: o nome do intervalo interno a associar à sub-rede
      • NETWORK_NAME: o nome da rede na qual criar a sub-rede
      • REGION: a região na qual criar a sub-rede
    • Para criar uma sub-rede associada a parte de um intervalo interno, use o seguinte comando:

      gcloud 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 IP_RANGE por um intervalo CIDR IPv4 que seja um subconjunto do intervalo interno.

Por exemplo, os comandos seguintes criam uma sub-rede que está 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 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. Reserve um intervalo interno de IPv4 na rede onde quer criar uma nova sub-rede. Defina o tipo de utilização neste intervalo interno como FOR_VPC e defina o tipo de peering como FOR_SELF.
  2. Efetue um dos seguintes passos:

    • Para criar uma sub-rede associada a um intervalo interno completo, faça um pedido POST ao método subnetworks.insert.

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

      Substitua o seguinte:

      • PROJECT_ID: o ID do projeto principal para a nova sub-rede
      • REGION: a região na qual criar a sub-rede
      • SUBNET_NAME: o nome da nova sub-rede
      • PROJECT_ID: o ID do projeto no qual criar uma sub-rede
      • RANGE_NAME: o nome do intervalo interno a usar para a nova sub-rede
      • NETWORK: o nome da rede na qual criar a sub-rede
    • Para criar uma sub-rede associada a parte de um intervalo interno, faça o seguinte pedido:

      POST https://compute.s3nsapis.fr/compute/v1/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 IP_RANGE por um intervalo CIDR IPv4 que seja um subconjunto do intervalo interno.

Por exemplo, os seguintes pedidos 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.s3nsapis.fr/v1/projects/sample-project/locations/global/internalRanges?internalRangeId=reserved-for-subnet
{
  "targetCidrRange": "10.9.0.0/16",
  "network": "network-b"
}
POST https://compute.s3nsapis.fr/compute/v1/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"
}

Crie clusters do GKE com intervalos internos IPv4

Pode usar intervalos internos IPv4 para atribuir endereços IP a clusters nativos da VPC do Google Kubernetes Engine (GKE).

gcloud

  1. Crie os seguintes intervalos internos IPv4 através do comando gcloud network-connectivity 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 o seguinte:

    • NODE_PREFIX_LENGTH: o comprimento do prefixo para o intervalo interno associado aos nós do GKE
    • POD_PREFIX_LENGTH: o comprimento do prefixo para o intervalo interno associado aos pods do GKE
    • SERVICE_PREFIX_LENGTH: o comprimento do prefixo para o intervalo interno associado aos serviços do GKE
    • NETWORK: o nome da rede
  2. Crie uma sub-rede com os intervalos internos que criou no passo anterior através do comando gcloud compute networks subnets create.

    gcloud 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 o seguinte:

    • REGION: a região da sub-rede
    • PROJECT_ID: o ID do projeto
  3. Crie o cluster nativo de VPC com o comando gcloud container 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
    

    Substitua ZONE pela zona do cluster.

API

  1. Crie os seguintes intervalos internos fazendo pedidos ao método POSTprojects.locations.internalRanges.create.

    POST https://networkconnectivity.s3nsapis.fr/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.s3nsapis.fr/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.s3nsapis.fr/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-services-1
    {
      "network": "NETWORK",
      "prefixLength": SERVICE_PREFIX_LENGTH,
      "peering": "FOR_SELF",
      "usage": "FOR_VPC"
    }
    

    Substitua o seguinte:

    • PROJECT_ID: o ID do projeto
    • NETWORK: o nome da rede
    • NODE_PREFIX_LENGTH: o comprimento do prefixo para o intervalo interno associado aos nós do GKE
    • POD_PREFIX_LENGTH: o comprimento do prefixo para o intervalo interno associado aos pods do GKE
    • SERVICE_PREFIX_LENGTH: o comprimento do prefixo para o intervalo interno associado aos serviços do GKE
  2. Crie uma sub-rede com os intervalos internos que criou no passo anterior fazendo um pedido POST ao método subnetworks.insert.

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
    {
      "name": "gke-subnet-1",
      "network": "https://compute.googleapis.com/compute/v1/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 o seguinte:

    • 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 um pedido POST ao método clusters.create.

    POST https://container.s3nsapis.fr/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 o seguinte:

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

Liste intervalos internos

Pode listar intervalos internos para ver todos os intervalos internos no seu projeto atual ou numa rede VPC específica. Para listar projetos numa rede VPC, use a CLI Google Cloud ou envie um pedido API.

Consola

gcloud

  • Para ver todos os intervalos internos no seu projeto atual, use o comando gcloud network-connectivity internal-ranges list.

    gcloud network-connectivity internal-ranges list
    
  • Para ver todos os intervalos internos numa 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 o seguinte:

    • NETWORK_NAME: o nome da rede VPC para listar os intervalos internos
    • PROJECT_ID: o ID do projeto que contém a rede VPC

API

  • Para ver todos os intervalos internos num projeto, faça um pedido GET ao método projects.locations.internalRanges.list.

    GET https://networkconnectivity.s3nsapis.fr/v1/projects/PROJECT_ID/locations/global/internalRanges
    

    Substitua PROJECT_ID pelo ID do projeto no qual quer ver os intervalos internos.

  • Para ver todos os intervalos internos numa rede VPC, faça um pedido ao método GET projects.locations.internalRanges.list e inclua um filtro.

    GET https://networkconnectivity.s3nsapis.fr/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 para listar os intervalos internos.

Descreva os intervalos internos

Pode descrever um intervalo interno para ver detalhes sobre o intervalo escolhido, incluindo quaisquer sub-redes associadas ao intervalo interno.

Consola

  1. Na Trusted Cloud consola, aceda à página Intervalos internos.

    Aceda a Intervalos internos

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

gcloud

Use o comando gcloud network-connectivity internal-ranges describe.

gcloud network-connectivity internal-ranges describe RANGE_NAME

Substitua RANGE_NAME pelo nome do intervalo interno a descrever.

API

Faça um pedido GET ao método projects.locations.internalRanges.get.

GET https://networkconnectivity.s3nsapis.fr/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto principal para o intervalo interno
  • RANGE_NAME: o nome do intervalo interno a descrever

Atualize os intervalos internos

Se um intervalo interno for imutável, só pode atualizar a descrição. Se um intervalo interno for mutável, pode expandir o bloco CIDR do intervalo e atualizar a respetiva propriedade de sobreposição e descrição.

Para expandir um intervalo interno, pode atualizar o bloco CIDR do intervalo ou diminuir o respetivo comprimento do prefixo. O bloco CIDR atualizado tem de conter o bloco anterior.

Se quiser restringir o intervalo atribuído ou modificar outro elemento, elimine o intervalo interno e crie um novo.

Para atualizar a propriedade de sobreposição de um intervalo interno IPv4, envie um pedido de API ou use a CLI Google Cloud.

Consola

  1. Na Trusted Cloud consola, aceda à página Intervalos internos.

    Aceda a Intervalos internos

  2. Clique no nome do intervalo interno que quer atualizar.

  3. Para expandir o bloco CIDR do intervalo, clique em Expandir intervalo e, de seguida, faça uma das seguintes ações:

    • Para intervalos internos IPv4, clique em Comprimento do prefixo e, de seguida, faça o seguinte:
      1. No campo Comprimento do prefixo, selecione um comprimento do prefixo que seja inferior ao prefixo anterior.
      2. Clique em Expandir.
    • Para intervalos internos de IPv4 ou IPv6, clique em Intervalo de IP e, de seguida, faça o seguinte:
      1. Introduza um bloco CIDR IPv4, IPv6 ou IPv6 mapeado para IPv4. O novo bloco tem de conter o anterior.
      2. Clique em Expandir.
  4. Para atualizar a descrição da gama, faça o seguinte:

    1. Clique em Editar descrição
    2. Introduza uma nova descrição.
    3. Clique em Guardar.

gcloud

  • Para atualizar um intervalo interno, use o gcloud network-connectivity internal-ranges updatecomando. Omita as flags para propriedades que não quer modificar.

    gcloud network-connectivity internal-ranges update RANGE_NAME \
        --ip-cidr-range=CIDR_RANGE \
        --overlaps=OVERLAPS \
        --description=DESCRIPTION
    

    Substitua o seguinte:

    • RANGE_NAME: o nome do intervalo interno
    • CIDR_RANGE: o IPv4 expandido, o IPv6 e o bloco CIDR IPv6 mapeado para IPv4, que tem de conter o bloco anterior
    • OVERLAPS: o tipo de sobreposição a permitir (apenas intervalos de IPv4)

      As opções são OVERLAP_EXISTING_SUBNET_RANGE e OVERLAP_ROUTE_RANGE. Pode incluir ambos os valores numa lista separada por vírgulas. Para desativar a sobreposição, inclua a flag, mas não especifique um valor (--overlaps=).

    • DESCRIPTION: a descrição atualizada

  • Para expandir um intervalo interno diminuindo o comprimento do respetivo prefixo, use o seguinte comando:

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

    Substitua PREFIX_LENGTH pelo comprimento do prefixo atualizado, que tem de ser inferior ao comprimento do prefixo anterior.

API

  • Para expandir um intervalo interno atualizando o respetivo intervalo CIDR, faça um pedido PATCH ao método projects.locations.internalRanges.patch.

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

    Substitua o seguinte:

    • PROJECT_ID: o ID do projeto principal para o intervalo interno
    • RANGE_NAME: o nome do intervalo interno
    • CIDR_RANGE: o bloco CIDR IPv4, IPv6 ou IPv6 mapeado para IPv4 expandido, que tem de conter o bloco anterior
  • Para expandir um intervalo interno diminuindo o comprimento do respetivo prefixo, faça o seguinte pedido:

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

    Substitua PREFIX_LENGTH pelo comprimento do prefixo atualizado, que tem de ser inferior ao comprimento do prefixo anterior.

  • Para atualizar a propriedade de sobreposição de um intervalo interno IPv4, faça o seguinte pedido:

    PATCH https://networkconnectivity.s3nsapis.fr/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=overlaps
    {
      "overlaps": ["OVERLAPS"]
    }
    

    Substitua OVERLAPS pelo tipo de sobreposição a permitir. As opções são OVERLAP_EXISTING_SUBNET_RANGE e OVERLAP_ROUTE_RANGE. Pode incluir ambos os valores numa matriz JSON. Para desativar a sobreposição, inclua o campo, mas não especifique um valor ("overlaps": []).

  • Para atualizar a descrição de um intervalo interno, faça o seguinte pedido:

    PATCH https://networkconnectivity.s3nsapis.fr/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=description
    {
      "description": "DESCRIPTION"
    }
    

    Substitua DESCRIPTION pela descrição atualizada.

Elimine intervalos internos

Pode eliminar um intervalo interno se não estiver associado a um Trusted Cloud recurso, como uma sub-rede. Para eliminar um intervalo interno associado a um recurso Trusted Cloud , elimine primeiro o recurso associado.

Consola

  1. Na Trusted Cloud consola, aceda à página Intervalos internos.

    Aceda a Intervalos internos

  2. Clique no nome do intervalo interno que quer eliminar.

  3. Clique em Eliminar.

  4. Para confirmar, clique em Eliminar.

gcloud

Use o comando gcloud network-connectivity internal-ranges delete.

gcloud network-connectivity internal-ranges delete RANGE_TO_DELETE

Substitua RANGE_TO_DELETE pelo nome do intervalo interno a eliminar.

API

Faça um pedido DELETE ao projects.locations.internalRanges.deletemétodo.

DELETE https://networkconnectivity.s3nsapis.fr/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME

Substitua o seguinte:

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