Configure o acesso a serviços privados
O acesso privado aos serviços é uma ligação privada entre a sua rede da VPC e uma rede pertencente à Google ou a terceiros. A Google ou as entidades terceiras que oferecem serviços também são conhecidas como produtores de serviços. A ligação privada permite que as instâncias de VM na sua rede VPC e os serviços aos quais acede comuniquem exclusivamente através de endereços IP internos. As instâncias de VM não precisam de acesso à Internet nem de endereços IP externos para alcançar serviços disponíveis através do acesso a serviços privados.
Para usar o acesso a serviços privados, faça o seguinte:
-
Um intervalo alocado reserva um intervalo de endereços IP para utilização pelo produtor, evitando sobreposições de endereços IP entre as redes do consumidor de serviços e do produtor de serviços.
-
A ligação privada usa o peering de rede VPC para estabelecer conetividade entre as redes do consumidor de serviços e do produtor de serviços.
Para informações sobre outras opções de acesso privado, consulte o artigo Opções de acesso privado para serviços.
Antes de começar
Para estabelecer uma ligação privada, conclua os seguintes pré-requisitos:
- Leia a vista geral do acesso a serviços privados, incluindo os serviços suportados, a acessibilidade das instâncias de serviço e as limitações.
- Crie um Google Cloud projeto ou escolha um existente. Para saber como criar um projeto, consulte o artigo Criar e gerir projetos. Google Cloud
- Ative a API Service Networking no seu projeto. A API é necessária para criar uma ligação privada.
- Crie ou escolha uma rede de VPC a usar para se ligar à rede do produtor do serviço. As instâncias de VM têm de usar esta rede VPC para estabelecer ligação a serviços através de uma ligação privada.
- Instale a CLI do Google Cloud se quiser executar os exemplos de linhas de comando da CLI gcloud neste guia.
Autorizações
Os proprietários do projeto e os membros da IAM com a função Administrador de rede de computação
(roles/compute.networkAdmin
) podem criar intervalos de endereços IP alocados e gerir
ligações privadas.
Para mais informações sobre as funções do Compute Engine, consulte o artigo Funções e autorizações do IAM do Compute Engine.
Escolha um intervalo de endereços IP para o intervalo atribuído
A criação de um intervalo alocado reserva um intervalo de endereços IP para utilização pelo produtor do serviço. Considere o seguinte quando escolher um intervalo para a sua atribuição:
Consulte a documentação do produtor do serviço para ver se tem requisitos ou recomendações para o tamanho do intervalo alocado.
Para os serviços Google, o tamanho mínimo é um bloco de
/24
, mas o tamanho recomendado é um bloco de/16
.Selecione um intervalo alocado que esteja completamente separado dos intervalos de sub-redes atuais e futuros, incluindo intervalos de sub-redes de redes ligadas através da interligação de redes de VPC e intervalos de sub-redes de raios de VPC ligados ao mesmo hub do Network Connectivity Center.
Selecione um intervalo que não corresponda exatamente nem contenha os destinos de nenhuma rota estática ou dinâmica personalizada.
Quando um produtor de serviços seleciona uma parte não usada de um intervalo atribuído para usar como candidato para novos recursos, exclui todos os destinos de rotas personalizadas que correspondam exatamente ou se enquadrem no intervalo atribuído. Quando uma rede de VPC contém um intervalo alocado e rotas personalizadas com destinos que correspondem ou se enquadram no intervalo alocado, a porção utilizável do intervalo alocado é reduzida. Esta configuração pode originar erros de alocação esgotada inesperados.
Por exemplo, se criar um intervalo alocado para
10.0.0.0/16
, aplica-se o seguinte:Se existir um trajeto personalizado com um destino para
10.0.0.0/16
ou for criado posteriormente, todo o intervalo de10.0.0.0/16
é considerado indisponível. Se um produtor de serviços tentar usar o intervalo atribuído, Google Cloud devolve um erro de atribuição esgotada.Se existir um trajeto personalizado com um destino para
10.0.0.0/20
ou for criado posteriormente, a parte10.0.0.0/20
do intervalo10.0.0.0/16
atribuído é considerada indisponível. Se um produtor de serviços tentar usar o intervalo atribuído e a parte disponível do intervalo atribuído for insuficiente para um produtor de serviços, Google Cloud é devolvido um erro de atribuição esgotada.Se existir um trajeto personalizado com um destino para
10.0.0.0/8
ou for criado posteriormente, isto não afeta a disponibilidade do intervalo atribuído de10.0.0.0/16
.
Selecione um intervalo que não entre em conflito com as suas outras necessidades de endereços IP:
- Alguns produtos Google e de terceiros usam
172.17.0.0/16
para o encaminhamento no sistema operativo convidado. Por exemplo, a rede de ponte Docker predefinida usa este intervalo. Se depender de um produto que use172.17.0.0/16
, não use172.17.0.0/16
num intervalo alocado para acesso a serviços privados. - Se estiver a usar uma rede VPC no modo automático, não pode criar um intervalo alocado que corresponda ou se sobreponha a
10.128.0.0/9
. A Google usa o10.128.0.0/9
intervalo para sub-redes criadas automaticamente, incluindo as de regiões futuras.
- Alguns produtos Google e de terceiros usam
Selecione um bloco CIDR suficientemente grande para satisfazer as suas necessidades atuais e futuras.
Se, mais tarde, verificar que o alcance não tem um tamanho suficiente, expanda o alcance, se possível. Embora possa atribuir várias alocações a um único produtor de serviços, a Google aplica uma quota ao número de intervalos de endereços IP que pode atribuir, mas não ao tamanho (máscara de rede) de cada intervalo.
Crie um intervalo alocado
Os passos seguintes descrevem como criar um intervalo de endereços IP atribuídos.
Quando um serviço Google atribui um intervalo em seu nome, o serviço usa o seguinte formato para nomear a atribuição: google-managed-services-CONSUMER_NETWORK_NAME
. Se esta atribuição existir, os serviços Google usam a existente em vez de criar outra. Pode usar a mesma convenção de nomenclatura que a Google usa para sinalizar a outros utilizadores ou serviços Google que já existe uma atribuição para a Google.
Consola
Na Google Cloud consola, aceda à página Redes VPC.
Selecione a rede de VPC que vai estabelecer ligação a um serviço produtor.
Selecione o separador Acesso a serviços privados.
No separador Acesso a serviços privados, selecione o separador Intervalos de IP atribuídos para serviços.
Clique em Atribuir intervalo de IPs.
Introduza um Nome e uma Descrição para o intervalo atribuído.
Configure o intervalo de endereços IP para a atribuição:
- Para especificar um intervalo de endereços IP específico, selecione Personalizado e, de seguida,
introduza um bloco CIDR, como
192.168.0.0/16
. - Para permitir que a Google selecione um intervalo disponível, selecione Automático e, de seguida,
introduza um comprimento do prefixo, como
16
.
- Para especificar um intervalo de endereços IP específico, selecione Personalizado e, de seguida,
introduza um bloco CIDR, como
Clique em Atribuir para criar o intervalo atribuído.
gcloud
Para criar um intervalo atribuído na sua rede VPC, use o comando
gcloud compute addresses create
.
Para especificar um intervalo de endereços e um comprimento do prefixo (máscara de sub-rede), use as flags
--addresses
e--prefix-length
. Por exemplo, para atribuir o bloco CIDR192.168.0.0/16
, especifique192.168.0.0
para o endereço e16
para o comprimento do prefixo.gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=16 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
- Para especificar apenas um comprimento do prefixo (máscara de sub-rede), basta usar a flag
prefix-length
. Quando omite o intervalo de endereços, o Google Cloud seleciona automaticamente um intervalo de endereços não usado na sua rede VPC.Google Cloud O exemplo seguinte seleciona um intervalo de endereços IP não usado com um comprimento do prefixo de16
bits.
gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
Substitua o seguinte:
RESERVED_RANGE_NAME
: um nome para o intervalo atribuído, comomy-allocated-range
.DESCRIPTION
: uma descrição do intervalo, comoallocated for my-service
.VPC_NETWORK
: o nome da sua rede VPC, comomy-vpc-network
.
O exemplo seguinte cria uma ligação privada à Google para que as instâncias de VM na rede VPC possam usar o acesso a serviços privados para alcançar os serviços Google que o suportam.
my-network
gcloud compute addresses create google-managed-services-my-network \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --description="peering range for Google" \ --network=my-network
- Para especificar apenas um comprimento do prefixo (máscara de sub-rede), basta usar a flag
Terraform
Para criar um intervalo alocado na sua rede VPC, use o recurso
google_compute_global_address
.
Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
Se vir um erro sobre a autorização compute.globalAddresses.list
para o projeto, consulte o artigo Autorizações da conta de serviço.
Liste os intervalos de endereços IP atribuídos
Para apresentar uma lista dos intervalos de endereços IP atribuídos, use o comando gcloud compute addresses list
.
gcloud compute addresses list --global --filter="purpose=VPC_PEERING"
Crie uma ligação privada
Depois de criar um intervalo alocado, pode criar uma ligação privada a um produtor de serviços. A ligação privada estabelece uma ligação de intercâmbio da rede da VPC entre a sua rede da VPC e a rede do produtor do serviço.
Considere o seguinte quando criar uma ligação privada:
- Se um único produtor de serviços oferecer vários serviços, só precisa de uma ligação privada para todos os serviços do produtor.
- Se um único produtor de serviços oferecer vários serviços e quiser controlar os intervalos atribuídos que são usados para diferentes recursos de serviço, pode usar várias redes VPC, cada uma com as suas próprias ligações privadas. Esta configuração permite-lhe selecionar uma rede específica quando criar um novo recurso de serviço gerido para garantir que os intervalos atribuídos associados são usados para o novo recurso.
Não volte a usar o mesmo intervalo atribuído para vários produtores de serviços. Se se ligar a vários produtores de serviços, use um intervalo atribuído exclusivo para cada produtor de serviços. A utilização de diferentes intervalos atribuídos evita a sobreposição de endereços IP e ajuda a gerir as definições de rede, como trajetos e regras de firewall, para cada produtor de serviços.
Consola
Na Google Cloud consola, aceda à página Redes VPC.
Selecione a rede de VPC que vai estabelecer ligação a um serviço produtor.
Selecione o separador Acesso a serviços privados.
No separador Acesso a serviços privados, selecione o separador Ligações privadas a serviços.
Clique em Criar ligação para criar uma ligação privada entre a sua rede e um produtor de serviços.
Para a Atribuição atribuída, selecione um ou mais intervalos atribuídos existentes que não estejam a ser usados por outros produtores de serviços.
Clique em Associar para criar a associação.
gcloud
Use o comando
gcloud services vpc-peerings connect
.gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK
Substitua o seguinte:
RESERVED_RANGE_NAME
: o nome de um ou mais intervalos atribuídos.VPC_NETWORK
: o nome da sua rede VPC.
O comando inicia uma operação de longa duração, devolvendo um nome de operação.
Para verificar se a operação foi bem-sucedida, use o comando
gcloud services vpc-peerings operations describe
.gcloud services vpc-peerings operations describe \ --name=OPERATION_NAME
Substitua
OPERATION_NAME
pelo nome da operação que foi devolvido no passo anterior.
Pode especificar mais do que um intervalo atribuído quando cria uma ligação privada. Por exemplo, se um intervalo tiver sido esgotado, pode atribuir intervalos adicionais. O serviço usa endereços IP de todos os intervalos fornecidos na ordem que especificou.
Terraform
Para criar uma ligação privada, use o recurso google_service_networking_connection
.
Liste as ligações privadas
Depois de criar uma ligação privada, pode listá-la para verificar se existe. A lista também mostra a lista de intervalos atribuídos associados a cada associação. Por exemplo, se não se lembrar do intervalo atribuído a uma associação, consulte a lista para o saber.
Consola
Na Google Cloud consola, aceda à página Redes VPC.
Selecione a rede de VPC que contém as ligações.
Selecione o separador Acesso a serviços privados.
No separador Acesso privado a serviços, selecione o separador Ligações privadas a serviços para ver todas as ligações privadas da rede.
gcloud
Use o comando
gcloud services vpc-peerings list
.
gcloud services vpc-peerings list \ --network=VPC_NETWORK
Substitua VPC_NETWORK
pelo nome da sua rede VPC.
Modifique uma associação privada
Não pode modificar um intervalo alocado, mas pode atualizar uma ligação privada para adicionar ou remover intervalos alocados sem interromper o tráfego.
Adicione intervalos: à medida que cresce, pode adicionar ou substituir um intervalo atribuído se estiver perto de esgotar o existente. Se adicionar outro intervalo atribuído a uma ligação privada, o produtor do serviço tem mais endereços IP disponíveis quando cria novos recursos de serviço para qualquer serviço que forneça. Não pode reservar um intervalo atribuído específico numa ligação privada para utilização por um serviço específico.
Para mais informações sobre como adicionar ou substituir intervalos, consulte o artigo Esgotamento do intervalo de endereços IP.
Remova intervalos: quando remove um intervalo de uma ligação privada, aplica-se o seguinte:
O intervalo atribuído já não está associado à ligação privada, mas não é eliminado.
- Se um intervalo removido já não estiver a ser usado, pode eliminar a atribuição.
Os recursos do produtor de serviços existentes podem continuar a usar o intervalo removido.
O acesso privado aos serviços não usa os intervalos removidos para atribuir novas sub-redes.
Consola
Na Google Cloud consola, aceda à página Redes VPC.
Selecione a rede de VPC que contém as ligações.
Selecione o separador Acesso a serviços privados.
No separador Acesso privado a serviços, selecione o separador Ligações privadas a serviços para ver todas as ligações privadas da rede.
Clique no nome de uma associação na lista.
Na lista Atribuição atribuída, selecione os intervalos atribuídos que quer associar à associação privada. Desmarque as caixas de verificação de todos os intervalos atribuídos que quer remover da ligação privada.
Clique em OK.
gcloud
Para adicionar ou remover intervalos de endereços IP alocados atribuídos numa ligação privada existente, use o comando gcloud services vpc-peerings update
.
gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ [--force]
Substitua o seguinte:
RESERVED_RANGE_NAME
: uma lista de um ou mais nomes de intervalos atribuídos a atribuir à ligação privada.RESERVED_RANGE_NAME
substitui a lista anterior de intervalos atribuídos. Se omitir um intervalo que tenha sido associado anteriormente a esta ligação privada, o intervalo é removido da ligação. Tem de usar o sinalizador--force
para remover um intervalo.VPC_NETWORK
: o nome da sua rede VPC.
Elimine um intervalo de endereços IP atribuído
Antes de eliminar um intervalo de endereços IP atribuído, verifique se o intervalo está a ser usado por uma ligação privada.
Se o intervalo de endereços IP atribuído estiver em utilização, primeiro modifique a ligação privada para remover o intervalo. Em seguida, elimine o intervalo de endereços IP atribuído.
Se eliminar um endereço IP atribuído que está em utilização e não modificar a ligação privada, aplica-se o seguinte:
As ligações existentes permanecem ativas, mas não existe nada que impeça a sua rede VPC de usar endereços IP que se sobreponham à rede do produtor do serviço.
Se eliminar o único intervalo de endereços IP atribuído associado a uma ligação privada, o serviço não pode criar novas sub-redes porque não existe nenhum intervalo de endereços IP atribuído a partir do qual possa selecionar.
Se criar posteriormente um intervalo de endereços IP atribuído que corresponda ou se sobreponha ao intervalo eliminado, a adição do intervalo a uma associação privada falha.
Para evitar estes problemas, modifique sempre as suas ligações privadas quando eliminar um intervalo de endereços IP atribuídos em utilização.
Consola
Na Google Cloud consola, aceda à página Redes VPC.
Selecione a rede de VPC que contém as atribuições a eliminar.
Selecione o separador Acesso a serviços privados.
No separador Acesso a serviços privados, selecione o separador Intervalos de IP atribuídos para serviços.
Selecione a atribuição a eliminar.
Clique em Libertar para devolver o intervalo de endereços IP atribuído ao conjunto de endereços IP internos disponíveis da rede.
Se o intervalo de endereços IP atribuído ainda estiver atribuído a uma ligação existente, tem de introduzir uma confirmação adicional antes de poder libertar a atribuição.
Clique novamente em Libertar para confirmar a eliminação.
gcloud
Elimine a atribuição especificando o nome da atribuição.
gcloud compute addresses delete NAME \ --global
SubstituaNAME
pelo nome do intervalo atribuído que quer eliminar.
Elimine uma ligação privada
Para eliminar uma ligação privada, conclua o procedimento nesta secção. Não tente eliminar uma ligação privada eliminando diretamente a ligação de intercâmbio de redes VPC associada.
Antes de eliminar uma ligação privada, tem de eliminar todas as instâncias de serviço às quais acede através da ligação.
O comportamento de eliminação da instância de serviço pode variar consoante o serviço. Os recursos do serviço podem ser eliminados imediatamente ou após um período de espera. Se existir um período de espera, não pode eliminar a ligação privada até que o período de espera termine e os recursos do produtor do serviço sejam eliminados.
Por exemplo, se eliminar uma instância do Cloud SQL, recebe uma resposta de êxito, mas o serviço aguarda quatro dias antes de eliminar os recursos do produtor do serviço. O período de espera significa que, se mudar de ideias acerca da eliminação do serviço, pode pedir para restaurar os recursos. Se tentar eliminar a associação durante o período de espera, a eliminação falha com uma mensagem a indicar que os recursos ainda estão a ser usados pelo produtor do serviço.
Não pode eliminar uma ligação privada que esteja a ser usada por um spoke da VPC do produtor. Para eliminar a ligação, elimine primeiro o spoke da VPC do produtor.
Consola
Na Google Cloud consola, aceda à página Redes VPC.
Selecione a rede de VPC que contém as associações a eliminar.
Selecione o separador Acesso a serviços privados.
No separador Acesso a serviços privados, selecione o separador Ligação privada a serviços.
Selecione a ligação privada a eliminar.
Clique em Eliminar para eliminar.
Clique novamente em Eliminar para confirmar a eliminação.
gcloud
Para eliminar a ligação de VPC Network Peering de uma ligação privada, use o comando gcloud services vpc-peerings delete
.
gcloud services vpc-peerings delete \ --service=servicenetworking.googleapis.com \ --network=VPC_NETWORK
Substitua VPC_NETWORK
pelo nome da sua rede VPC.
Partilhe zonas de DNS privado com produtores de serviços
As zonas privadas do Cloud DNS são privadas para a sua rede VPC. Se quiser permitir que uma rede de produtor de serviços resolva nomes da sua zona privada, pode configurar o peering de DNS entre as duas redes.
Quando configura o peering de DNS, fornece uma rede VPC e um sufixo DNS. Se o produtor do serviço precisar de resolver um endereço com esse sufixo de DNS, o produtor do serviço encaminha essas consultas para a sua rede VPC para serem resolvidas.
Estes serviços suportados suportam o peering de DNS, com exceção do Cloud SQL.
Se quiser ativar a interligação de DNS, tem de ativar a API Cloud DNS no seu projeto.
Estabeleça uma relação de intercâmbio de DNS com um produtor de serviços
gcloud
Para configurar o peering de DNS entre a sua rede VPC e a rede do fornecedor de serviços, use o comando gcloud services peered-dns-domains create
.
gcloud services peered-dns-domains create PEERING_NAME \ --network=VPC_NETWORK \ --dns-suffix=DNS_SUFFIX
Substitua o seguinte:
PEERING_NAME
: um nome para esta configuração de peering de DNS.VPC_NETWORK
: o nome da sua rede VPC que está ligada ao produtor de serviços através do acesso privado aos serviços.DNS_SUFFIX
: o sufixo DNS com o qual quer estabelecer uma relação de interconexão com o serviço produtor. Tem de indicar um nome de domínio DNS completo, incluindo o ponto. Por exemplo,example.com.
é um sufixo DNS válido.
Terraform
Para configurar o peering de DNS entre a sua rede VPC e a rede do fornecedor de serviços, use o recurso google_service_networking_peered_dns_domain
.
Liste as configurações de intercâmbio de DNS
gcloud
Use o comando
gcloud services peered-dns-domains list
.
gcloud services peered-dns-domains list \ --network=VPC_NETWORK
Substitua VPC_NETWORK
pelo nome da sua rede VPC.
Elimine uma configuração de interligação de DNS
gcloud
Use o comando
gcloud services peered-dns-domains delete
.
gcloud services peered-dns-domains delete PEERING_NAME \ --network=VPC_NETWORK
Substitua o seguinte:
PEERING_NAME
: o nome da configuração de peering de DNS.VPC_NETWORK
: o nome da sua rede VPC.
Configure a conetividade híbrida
Por predefinição, a rede do produtor do serviço só aprende as rotas da sub-rede da sua rede VPC. Por conseguinte, qualquer pedido que não seja de um intervalo de IPs de sub-rede é rejeitado pelo produtor do serviço.
Para configurar a conetividade entre os seus anfitriões no local e a rede do produtor do serviço, faça o seguinte:
Na sua rede VPC, atualize a ligação de peering para exportar rotas personalizadas para a rede do produtor do serviço. A exportação de rotas envia todas as rotas estáticas e dinâmicas elegíveis que estão na sua rede VPC, como rotas para a sua rede no local, para a rede do produtor de serviços. A rede do produtor de serviços importa-os automaticamente e, em seguida, pode enviar tráfego de volta para a sua rede no local através da rede VPC.
Certifique-se de que os prefixos que incluem os intervalos de IP atribuídos para o acesso a serviços privados estão a ser anunciados corretamente na sua rede no local. Para compreender como pode anunciar prefixos IPv4 personalizados através do Cloud Router, consulte as rotas anunciadas.
Verifique se a associação de VLAN ou o túnel da Cloud VPN termina na mesma rede da VPC (ou rede da VPC partilhada) que a ligação privada, uma vez que o intercâmbio da rede da VPC não fornece encaminhamento transitivo.
Resolução de problemas
As secções seguintes contêm informações de resolução de problemas para o acesso a serviços privados.
Que parte da minha atribuição está a ser usada?
Quando cria uma ligação privada com um produtor de serviços, atribui-lhe um intervalo de endereços IP para usar. Se usar vários serviços de um produtor de serviços, cada serviço reserva uma parte de endereços IP desse intervalo atribuído. Pode verificar que serviços estão a usar que endereços IP para, por exemplo, ver que serviços estão a usar grandes blocos de endereços IP e evitar o esgotamento de endereços IP.
Para ver a taxa de atribuição dos seus intervalos atribuídos, use o analisador de rede. Para mais informações, consulte o artigo Resumo da utilização do endereço IP de acesso a serviços privados.
Em alternativa, para ver que serviço está a usar um intervalo de endereços IP específico:
- Liste as suas ligações privadas.
- Encontre o nome da ligação de peering que lhe permite estabelecer ligação ao produtor de serviços relevante.
- Liste as rotas para a sua rede VPC.
- Encontre as rotas com um próximo salto que corresponda ao nome da ligação de peering. O intervalo de destino das rotas indica os endereços IP que cada serviço está a usar.
Esgotamento do intervalo de endereços IP
Para uma determinada ligação privada, se esgotar o espaço de endereços IP
atribuído, Google Cloud é devolvido este erro: Failed to create subnetwork.
Couldn't find free blocks in allocated IP ranges.
Pode ver este erro porque o intervalo alocado não é suficiente para a sua utilização ou porque uma rota estática ou dinâmica personalizada está a impedir a utilização total do intervalo alocado. Para mais informações sobre considerações de encaminhamento, consulte o artigo Escolha um intervalo de endereços IP para o intervalo atribuído.
Pode expandir a atribuição existente ou adicionar novas. A atribuição expandida tem de ser um intervalo de endereços IP contíguo que inclua o intervalo existente. Recomendamos que expanda uma atribuição porque não existe um limite para o tamanho de uma atribuição, mas existe um limite para o número de atribuições que pode criar.
Para expandir uma atribuição existente:
- Liste as suas ligações privadas e registe o nome do intervalo atribuído que precisa de expandir.
- Elimine o intervalo atribuído existente que quer expandir.
- Crie um novo intervalo atribuído com o mesmo nome do intervalo eliminado. Especifique um intervalo de endereços IP que inclua o intervalo de endereços IP eliminado. Desta forma, os recursos com peering existentes que estão a usar o intervalo atribuído antigo podem continuar a usar os mesmos endereços IP sem entrar em conflito com os recursos na sua rede VPC. Por exemplo, se o intervalo atribuído anterior fosse
192.168.0.0/20
, crie um novo intervalo atribuído
Para adicionar intervalos atribuídos a uma ligação privada existente:
- Crie um novo intervalo atribuído. Este intervalo não tem de ser contíguo com os intervalos atribuídos existentes.
- Adicione o intervalo atribuído à ligação privada existente.
Autorizações da conta de serviço
Se vir um erro sobre a autorização compute.globalAddresses.list
para um projeto ao criar um intervalo alocado ou se tiver erros como Error 400: Precondition check failed
ao criar, listar ou modificar ligações privadas, pode ser um problema com as funções de gestão de identidades e acessos (IAM) para a conta de serviço da API Service Networking. Esta conta de serviço é criada automaticamente depois de ativar a API Service Networking. O aprovisionamento da conta e a apresentação na página IAM podem demorar algum tempo.
Consola
Para garantir que a conta de serviço tem a função do IAM correta, faça o seguinte:
Na Google Cloud consola, aceda à página IAM.
Selecione a caixa de verificação Incluir concessões de funções fornecidas pela Google.
Na coluna Nome, encontre o principal Agente do serviço de rede de serviços e, de seguida, clique em
Editar principal na linha correspondente.No campo Função, certifique-se de que a função Agente do serviço de rede de serviços (
roles/servicenetworking.serviceAgent
) está presente.Se a função Agente do serviço de rede de serviços não estiver presente, clique em
Adicionar função ou Adicionar outra função.Clique em Selecionar uma função.
Na caixa de texto Filtro, introduza
Service Networking Service Agent
.Selecione Agente do serviço de rede de serviços na lista e, de seguida, clique em Guardar.
gcloud
Para criar uma conta de serviço da API Service Networking, use o comando gcloud projects add-iam-policy-binding
.
gcloud projects add-iam-policy-binding HOST_PROJECT_NAME \ --member=serviceAccount:service-HOST_PROJECT_NUMBER@service-networking.iam.gserviceaccount.com \ --role=roles/servicenetworking.serviceAgent
Substitua o seguinte:
HOST_PROJECT_NAME
: o nome do projeto anfitrião.HOST_PROJECT_NUMBER
: o número do projeto de alojamento.
A rota da sub-rede de peering persiste após a atualização do intervalo atribuído
Depois de atualizar o intervalo de endereços IP atribuído de uma ligação de serviços privados, a rota de sub-rede de peering antiga pode continuar a aparecer na tabela de encaminhamento da sua rede VPC. O trajeto persiste porque o intervalo de endereços IP ainda está em utilização.
Para resolver este problema, faça o seguinte:
- Certifique-se de que, se eliminar um intervalo atribuído, também atualiza a ligação privada.
- Elimine ou atualize todos os recursos que usam o intervalo de endereços IP antigo.
A rota de sub-rede de peering é removida automaticamente depois de o intervalo de endereços IP deixar de estar em uso. Pode haver um atraso entre a eliminação do recurso e a eliminação total do recurso por parte do produtor do serviço. Por exemplo, se o intervalo de endereços IP antigo estiver a ser usado por uma instância do Cloud SQL, o produtor de serviços pode demorar até quatro dias a eliminar completamente a sua instância. A rota da sub-rede de peering é removida após a conclusão da eliminação.
Não é possível criar uma nova ligação privada
Se tentar criar uma nova ligação privada depois de eliminar a ligação de interligação de redes VPC associada a uma ligação privada anterior, Google Cloud pode devolver um erro. Para informações de resolução de problemas, consulte as seguintes mensagens de erro.
Para evitar este problema, siga o procedimento para eliminar uma ligação privada em vez de eliminar diretamente a ligação de intercâmbio da rede da VPC associada.
Erro ao modificar intervalos atribuídos:
ERROR: Cannot modify allocated ranges in CreateConnection. Please use UpdateConnection. Existing allocated IP ranges: ALLOCATED_RANGE_NAMES.
Se receber este erro, faça o seguinte:
Recrie a associação privada que eliminou e use os nomes dos intervalos atribuídos devolvidos pelo erro. Tem de usar os mesmos nomes de intervalos atribuídos quando recria a associação, mas os intervalos de endereços IP correspondentes (blocos CIDR) podem ser iguais ou diferentes.
Para criar a ligação privada, consulte o artigo Crie uma ligação privada.
Se necessário, modifique a ligação privada para adicionar ou remover intervalos atribuídos. Pode querer usar intervalos atribuídos diferentes dos intervalos atribuídos que especificou quando recriou a ligação privada no passo anterior.
Para modificar a ligação privada, consulte o artigo Modifique uma ligação privada.
Erro interno temporário:
ERROR: (gcloud.services.vpc-peerings.connect) The operation "operations/OPERATION_ID" resulted in a failure "encountered some transient internal error, please try again later"
Se receber este erro, contacte o apoio técnico do Google Cloud.