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
- Para usar os exemplos de linhas de comando neste guia, instale ou atualize para a versão mais recente da CLI do Google Cloud.
- Tem de ativar a API Network Connectivity no seu projeto.
- Identifique ou crie uma rede de VPC.
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
e192.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
e192.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
Na Trusted Cloud consola, aceda à página Intervalos internos.
Clique em Reservar intervalo interno.
Introduza um nome.
Opcional: introduza uma descrição.
Selecione uma versão de IP.
Se selecionar IPv4, faça o seguinte:
- Especifique se o intervalo interno é imutável.
Selecione um método de reserva.
Se selecionar Automático, faça o seguinte:
- Selecione um algoritmo de atribuição.
- Selecione um comprimento do prefixo.
- Introduza um intervalo de endereços IP de destino. Pode adicionar vários intervalos de destino.
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.
Selecione uma rede.
Selecione um tipo de peering.
Selecione um tipo de utilização.
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:
- Especifique se o intervalo interno é imutável.
- Selecione Permitir-me especificar e, de seguida, introduza um bloco CIDR IPv6 ou IPv6 mapeado para IPv4.
- Selecione uma rede.
- Clique em Intercâmbio e, de seguida, selecione Para mim.
- Clique em Utilização e, de seguida, selecione Externo à VPC.
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 internoCIDR_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 comoFOR_SELF
. - Defina o
usage
tipo comoEXTERNAL_TO_VPC
.
- Defina o
- Se especificar um bloco IPv6, tem de fazer o seguinte:
NETWORK_NAME
: o nome da rede na qual criar o intervalo internoDESCRIPTION
: uma descrição opcional do intervalo internoPEERING_TYPE
: o tipo de peering do intervalo internoAs opções são
FOR_SELF
,FOR_PEER
eNOT_SHARED
.FOR_SELF
é a predefinição.USAGE_TYPE
: o tipo de utilização do intervalo internoAs opções são
FOR_VPC
,EXTERNAL_TO_VPC
eFOR_MIGRATION
. O valor predefinido éFOR_VPC
.- Se usar a opção
FOR_MIGRATION
, também tem de especificar as sub-redes de origem e de destino. Para ver um exemplo, consulte o artigo Reserve intervalos internos IPv4 para migração de sub-rede.
- Se usar a opção
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ídosTARGET_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
e192.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
e192.168.0.0/16
.
Pode introduzir vários blocos CIDR numa lista separada por vírgulas.
- Para redes VPC no modo personalizado, os blocos CIDR predefinidos são
ALLOCATION_STRATEGY
: a estratégia de atribuição que quer usar para o bloco CIDR deste intervalo internoAs opções são
RANDOM
,FIRST_AVAILABLE
,RANDOM_FIRST_N_AVAILABLE
eFIRST_SMALLEST_FITTING
. A predefinição éRANDOM
.FIRST_N_LOOKUP_SIZE
: para a estratégia de atribuiçãoRANDOM_FIRST_N_AVAILABLE
, o número de blocos CIDR gratuitos a encontrar antes de determinar aleatoriamente umInclua 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ãoOVERLAP_EXISTING_SUBNET_RANGE
eOVERLAP_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étodoprojects.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 internoRANGE_NAME
: o nome do intervalo internoCIDR_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 comoFOR_SELF
. - Defina o
usage
tipo comoEXTERNAL_TO_VPC
.
- Defina o
- Se especificar um bloco IPv6, tem de fazer o seguinte:
NETWORK_NAME
: o nome da rede na qual criar o intervalo internoDESCRIPTION
: uma descrição opcional do novo intervalo internoPEERING_TYPE
: o tipo de peering do intervalo internoAs opções são
FOR_SELF
,FOR_PEER
eNOT_SHARED
.FOR_SELF
é a predefinição.USAGE_TYPE
: o tipo de utilização do intervalo internoAs opções são
FOR_VPC
,EXTERNAL_TO_VPC
eFOR_MIGRATION
. O valor predefinido éFOR_VPC
.- Se usar a opção
FOR_MIGRATION
, também tem de especificar as sub-redes de origem e de destino. Para ver um exemplo, consulte o artigo Reserve intervalos internos IPv4 para migração de sub-rede.
- Se usar a opção
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 intervaloTARGET_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
e192.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
e192.168.0.0/16
.
Pode especificar vários blocos CIDR numa matriz JSON.
- Para redes VPC no modo personalizado, os blocos CIDR predefinidos são
ALLOCATION_STRATEGY
: a estratégia de atribuição que quer usar para o bloco CIDR deste intervalo internoAs opções são
RANDOM
,FIRST_AVAILABLE
,RANDOM_FIRST_N_AVAILABLE
eFIRST_SMALLEST_FITTING
. A predefinição éRANDOM
.FIRST_N_LOOKUP_SIZE
: Para a estratégia de atribuiçãoRANDOM_FIRST_N_AVAILABLE
, o número de blocos CIDR gratuitos a encontrar antes de determinar aleatoriamente umInclua este campo 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, 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
eEXCLUDED_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ãoOVERLAP_EXISTING_SUBNET_RANGE
eOVERLAP_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 criarCIDR_RANGE
: o bloco CIDR IPv4 da sub-rede que quer migrarNETWORK_NAME
: o nome da rede para criar o intervalo internoSOURCE_SUBNET
: o URI da sub-rede de origemTARGET_SUBNET
: o URI da sub-rede de destino
API
Faça um pedido POST
ao projects.locations.internalRanges.create
mé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 internoRANGE_NAME
: o nome do novo intervalo internoCIDR_RANGE
: o bloco CIDR IPv4 da sub-rede que quer migrarNETWORK_NAME
: o nome da rede para criar o intervalo internoSOURCE_SUBNET
: o URI da sub-rede de origemTARGET_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
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 comoFor self
.Na Trusted Cloud consola, aceda à página Redes VPC.
Clique no nome de uma rede de VPC para apresentar a página de detalhes da rede de VPC.
Clique em Adicionar sub-rede. Na caixa de diálogo apresentada:
- Indique um nome.
- Selecione uma região.
- Selecione a caixa de verificação Associar a um intervalo interno.
- Para Intervalo interno reservado, faça uma seleção.
- Opcional: para associar a sub-rede a parte do intervalo interno, introduza um intervalo IPv4.
- Clique em Adicionar.
gcloud
- 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 comoFOR_SELF
. 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-redePROJECT_ID
: o ID do projeto no qual criar a sub-redeRANGE_NAME
: o nome do intervalo interno a associar à sub-redeNETWORK_NAME
: o nome da rede na qual criar a sub-redeREGION
: 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
- 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 comoFOR_SELF
. Efetue um dos seguintes passos:
Para criar uma sub-rede associada a um intervalo interno completo, faça um pedido
POST
ao métodosubnetworks.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-redeREGION
: a região na qual criar a sub-redeSUBNET_NAME
: o nome da nova sub-redePROJECT_ID
: o ID do projeto no qual criar uma sub-redeRANGE_NAME
: o nome do intervalo interno a usar para a nova sub-redeNETWORK
: 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
Crie os seguintes intervalos internos IPv4 através do comando
gcloud network-connectivity internal-ranges create
.- Para nós do GKE:
gcloud network-connectivity internal-ranges create gke-nodes-1 \ --prefix-length=NODE_PREFIX_LENGTH \ --network=NETWORK
- Para pods do GKE:
gcloud network-connectivity internal-ranges create gke-pods-1 \ --prefix-length=POD_PREFIX_LENGTH \ --network=NETWORK
- Para os serviços do GKE:
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 GKEPOD_PREFIX_LENGTH
: o comprimento do prefixo para o intervalo interno associado aos pods do GKESERVICE_PREFIX_LENGTH
: o comprimento do prefixo para o intervalo interno associado aos serviços do GKENETWORK
: o nome da rede
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-redePROJECT_ID
: o ID do projeto
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
Crie os seguintes intervalos internos fazendo pedidos ao método
POST
projects.locations.internalRanges.create
.- Para nós do GKE:
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" }
- Para pods do GKE:
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" }
- Para os serviços do GKE:
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 projetoNETWORK
: o nome da redeNODE_PREFIX_LENGTH
: o comprimento do prefixo para o intervalo interno associado aos nós do GKEPOD_PREFIX_LENGTH
: o comprimento do prefixo para o intervalo interno associado aos pods do GKESERVICE_PREFIX_LENGTH
: o comprimento do prefixo para o intervalo interno associado aos serviços do GKE
Crie uma sub-rede com os intervalos internos que criou no passo anterior fazendo um pedido
POST
ao métodosubnetworks.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 projetoREGION
: a região da sub-redeNETWORK
: a rede da sub-rede
Crie o cluster nativo de VPC fazendo um pedido
POST
ao métodoclusters.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 projetoZONE
: a zona do clusterCLUSTER_NAME
: o nome do novo clusterNETWORK
: 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
Na Trusted Cloud consola, aceda à página Intervalos internos.
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 internosPROJECT_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étodoprojects.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
Na Trusted Cloud consola, aceda à página Intervalos internos.
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 internoRANGE_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
Na Trusted Cloud consola, aceda à página Intervalos internos.
Clique no nome do intervalo interno que quer atualizar.
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:
- No campo Comprimento do prefixo, selecione um comprimento do prefixo que seja inferior ao prefixo anterior.
- Clique em Expandir.
- Para intervalos internos de IPv4 ou IPv6, clique em Intervalo de IP e, de seguida, faça o seguinte:
- Introduza um bloco CIDR IPv4, IPv6 ou IPv6 mapeado para IPv4. O novo bloco tem de conter o anterior.
- Clique em Expandir.
- Para intervalos internos IPv4, clique em Comprimento do prefixo e, de seguida, faça o seguinte:
Para atualizar a descrição da gama, faça o seguinte:
- Clique em Editar descrição
- Introduza uma nova descrição.
- Clique em Guardar.
gcloud
Para atualizar um intervalo interno, use o
gcloud network-connectivity internal-ranges update
comando. 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 internoCIDR_RANGE
: o IPv4 expandido, o IPv6 e o bloco CIDR IPv6 mapeado para IPv4, que tem de conter o bloco anteriorOVERLAPS
: o tipo de sobreposição a permitir (apenas intervalos de IPv4)As opções são
OVERLAP_EXISTING_SUBNET_RANGE
eOVERLAP_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étodoprojects.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 internoRANGE_NAME
: o nome do intervalo internoCIDR_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ãoOVERLAP_EXISTING_SUBNET_RANGE
eOVERLAP_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
Na Trusted Cloud consola, aceda à página Intervalos internos.
Clique no nome do intervalo interno que quer eliminar.
Clique em Eliminar.
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.delete
mé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 internoRANGE_NAME
: o nome do intervalo interno