Configurar o acesso a serviços privados
O acesso a serviços particulares é uma conexão privada entre sua rede VPC e uma rede de propriedade do Google ou de terceiros. O Google ou o terceiro, entidades que oferecem serviços, também são conhecidos como produtores de serviços. A conexão particular permite que as instâncias de VM na sua rede VPC e os serviços que você acessa se comuniquem exclusivamente usando 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 por meio do acesso a serviços particulares.
Para usar o acesso a serviços particulares, faça o seguinte:
-
Um intervalo alocado reserva um intervalo de endereços IP para uso pelo produtor, evitando sobreposições de endereços IP entre as redes do consumidor e do produtor de serviços.
-
A conexão particular usa o peering de rede VPC para estabelecer conectividade entre as redes do consumidor e do produtor de serviços serviços.
Para informações sobre outras opções de acesso privado, consulte Opções de acesso privado para serviços.
Antes de começar
Para estabelecer uma conexão particular, atenda aos seguintes pré-requisitos:
- Leia a visão geral do acesso a serviços privados, incluindo quais serviços são compatíveis, o alcance das instâncias de serviço e as limitações.
- Crie um projeto do Google Cloud ou escolha um atual. Para saber como criar um projeto do Google Cloud , consulte Como criar e gerenciar projetos.
- Ative a API Service Networking no seu projeto. Ela é necessária para criar uma conexão particular.
- Crie ou escolha uma rede VPC para se conectar à rede do produtor de serviços. As instâncias de VM precisam usar essa rede VPC para se conectarem a serviços por meio de uma conexão particular.
- Instale a Google Cloud CLI se quiser executar os exemplos de linha de comando da CLI gcloud neste guia.
Permissões
Os proprietários de projetos e os membros do IAM com o papel Administrador de rede (roles/compute.networkAdmin
) podem criar intervalos de endereços IP alocados e gerenciar conexões particulares.
Para mais informações sobre os papéis do Compute Engine, consulte Papéis e permissões do IAM do Compute Engine.
Escolher um intervalo de endereços IP para o intervalo alocado
A criação de um intervalo alocado reserva um intervalo de endereços IP para uso pelo produtor de serviço. Considere o seguinte ao escolher um intervalo para sua alocação:
Consulte a documentação do produtor de serviços para saber se há requisitos ou recomendações para o tamanho do intervalo alocado.
Para os serviços do Google, o tamanho mínimo é um único bloco
/24
, mas o recomendado é um bloco/16
.Selecione um intervalo alocado totalmente separado do atual e intervalos de sub-redes futuros, incluindo intervalos de sub-redes de redes conectadas usando o peering de rede VPC e intervalos de sub-redes spokes conectados ao mesmo hub do Network Connectivity Center.
Selecione um intervalo que não corresponda exatamente ou que contenha os destinos de quaisquer rotas estáticas ou dinâmicas personalizadas.
Quando um produtor de serviços seleciona uma parte não utilizada de um intervalo alocado para usar como candidato a novos recursos, ele exclui todos os destinos de rotas personalizadas que correspondam exatamente ou se ajustem ao intervalo alocado. Quando uma rede VPC contém um intervalo alocado e destinos de rotas personalizadas que correspondem ou se ajustam ao intervalo alocado, parte do intervalo alocado é reduzido. Essa configuração pode levar a erros inesperados de alocação esgotada.
Por exemplo, se você criar um intervalo alocado para
10.0.0.0/16
, vai acontecer o seguinte:Se uma rota personalizada com destino para
10.0.0.0/16
já existir ou for criada depois, todo o intervalo10.0.0.0/16
será considerado indisponível. Se um produtor de serviços tentar usar o intervalo alocado,Google Cloud vai retornar um erro de alocação esgotada.Se uma rota personalizada com destino para
10.0.0.0/20
existir ou for criada depois, a porção10.0.0.0/20
do intervalo alocado10.0.0.0/16
será considerado indisponível. Se um produtor de serviços tentar usar o intervalo alocado, mas a parte disponível do intervalo não for suficiente para ele,o Google Cloud vai gerar um erro de alocação esgotada.Se uma rota personalizada com destino para
10.0.0.0/8
existir ou for criada depois, isso não vai afetar a disponibilidade do intervalo alocado10.0.0.0/16
.
Selecione um intervalo que não entre em conflito com os outros endereços IP necessários:
- Alguns produtos do Google e de terceiros usam
172.17.0.0/16
para roteamento no sistema operacional convidado. Por exemplo, a rede de ponte padrão do Docker usa esse intervalo. Se você depende de um produto que usa172.17.0.0/16
, não use172.17.0.0/16
em um intervalo alocado para acesso a serviços particulares. - Se você estiver usando uma rede VPC de modo automático, não será possível criar um intervalo alocado que corresponda ou se sobreponha a
10.128.0.0/9
. O Google usa o intervalo10.128.0.0/9
para sub-redes criadas automaticamente, incluindo aquelas em regiões futuras.
- Alguns produtos do Google e de terceiros usam
Selecione um bloco CIDR grande o suficiente para atender às suas necessidades atuais e futuras.
Se você descobrir depois que o intervalo não é suficiente, amplie-o, se possível. Embora você possa atribuir várias alocações a um único produtor de serviços, o Google impõe uma cota sobre o número de intervalos de endereços IP que podem ser alocados, mas não sobre o tamanho (máscara de rede) de cada um.
Criar um intervalo alocado
Nas etapas a seguir, você aprende a criar um intervalo de endereços IP alocado.
Quando um serviço do Google aloca um intervalo em seu nome, ele usa o seguinte formato para nomear a alocação: google-managed-services-CONSUMER_NETWORK_NAME
. Se essa alocação já existir, os serviços do Google vão usá-la em vez de criar outra. Você pode usar a mesma convenção de nomenclatura que o Google usa para indicar a outros usuários ou serviços do Google que já existe uma alocação para o Google.
Console
No console do Google Cloud , acesse a página Redes VPC.
Selecione a rede VPC que se conectará a um produtor de serviços.
Selecione a guia Acesso a serviços particulares.
Na guia Acesso a serviços particulares, selecione a guia Intervalos de IP alocados para serviços.
Clique em Alocar intervalo de IP.
Digite um Nome e uma Descrição para o intervalo alocado.
Configure o intervalo de endereços IP para a alocação:
- Para especificar um intervalo de endereços IP, selecione Personalizado e insira um bloco CIDR, como
192.168.0.0/16
. - Para permitir que o Google selecione um intervalo disponível, selecione Automático e insira um tamanho de prefixo, como
16
.
- Para especificar um intervalo de endereços IP, selecione Personalizado e insira um bloco CIDR, como
Clique em Alocar para criar o intervalo alocado.
gcloud
Para criar um intervalo alocado na sua rede VPC, use o
comando gcloud compute addresses create
.
Para especificar um intervalo de endereços e um tamanho de prefixo (máscara de sub-rede), use as flags
--addresses
e--prefix-length
. Por exemplo, para alocar o bloco CIDR192.168.0.0/16
, especifique192.168.0.0
como endereço e16
como tamanho de 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 tamanho de prefixo (máscara de sub-rede), basta usar a flag
prefix-length
. Quando você omite o intervalo de endereços, oGoogle Cloud seleciona automaticamente um intervalo que não está sendo usado na rede VPC. No exemplo a seguir, é selecionado um intervalo de endereços IP não utilizado com um tamanho de prefixo de16
bits.
gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
Substitua:
RESERVED_RANGE_NAME
: um nome para o intervalo alocado. Por exemplo,my-allocated-range
.DESCRIPTION
: uma descrição para o intervalo. Por exemplo,allocated for my-service
.VPC_NETWORK
: o nome da rede VPC. Por exemplo,my-vpc-network
.
O exemplo a seguir cria uma conexão privada com o Google para que as instâncias de VM na rede VPC
my-network
possam usar serviços privados para acessar os serviços do Google compatíveis.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 tamanho de 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 Comandos básicos do Terraform.
Se aparecer um erro sobre a permissão compute.globalAddresses.list
para o projeto, consulte Permissões da conta de serviço.
Listar intervalos de endereços IP alocados
Para listar os intervalos de endereços IP alocados, use o comando gcloud compute addresses list
.
gcloud compute addresses list --global --filter="purpose=VPC_PEERING"
Crie uma conexão particular
Depois de criar um intervalo alocado, é possível criar uma conexão particular com um produtor de serviços. A conexão particular estabelece um peering de redes VPC entre sua rede VPC e a rede do produtor de serviços.
Considere o seguinte ao criar uma conexão particular:
- Se um único produtor de serviços oferecer vários serviços, você precisará apenas de uma conexão particular para todos eles.
- Se um produtor oferecer mais de um serviço e você quiser controlar quais intervalos alocados serão usados para diferentes recursos de serviço, use mais de uma rede VPC, cada uma com as próprias conexões particulares. Essa configuração permite selecionar uma rede específica ao criar um novo recurso de serviço gerenciado para garantir que os intervalos alocados associados sejam usados para o novo recurso.
Não reutilize o mesmo intervalo alocado para vários produtores de serviço. Se você se conectar a vários produtores de serviço, use um intervalo alocado exclusivo para cada um produtor de serviços. Usar intervalos alocados diferentes evita a sobreposição de endereços IP e ajuda a gerenciar as configurações de rede, como rotas e regras de firewall, para cada produtor de serviços.
Console
No console do Google Cloud , acesse a página Redes VPC.
Selecione a rede VPC que se conectará a um produtor de serviços.
Selecione a guia Acesso a serviços particulares.
Na guia Acesso a serviços particulares, selecione a guia Conexões particulares com serviços.
Clique em Criar conexão para criar uma conexão particular entre sua rede e um produtor de serviços.
Em Alocação atribuída, selecione um ou mais intervalos alocados que não estejam sendo usados por outros produtores de serviço.
Clique em Conectar para criar a conexã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:
RESERVED_RANGE_NAME
: o nome de um ou mais intervalos alocados.VPC_NETWORK
: o nome da rede VPC.
O comando inicia uma operação de longa duração e retorna o nome dela.
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 retornado na etapa anterior.
É possível especificar mais de um intervalo alocado ao criar uma conexão particular. Por exemplo, se um intervalo tiver sido esgotado, será possível atribuir mais intervalos alocados. O serviço usa endereços IP de todos os intervalos fornecidos, na ordem que você especificou.
Terraform
Para criar uma conexão particular, use o recurso google_service_networking_connection
.
Listar conexões particulares
Depois de criar uma conexão particular, liste-a para verificar se ela existe. A lista também mostra a lista de intervalos alocados associados a cada conexão. Por exemplo, se você não se lembrar qual intervalo alocado atribuiu a uma conexão, consulte a lista para descobrir.
Console
No console do Google Cloud , acesse a página Redes VPC.
Selecione a rede VPC que contém as conexões.
Selecione a guia Acesso a serviços particulares.
Na guia Acesso a serviços particulares, selecione a guia Conexões particulares com os serviços para conferir todas as conexões de rede particulares.
gcloud
Use o comando gcloud services vpc-peerings list
.
gcloud services vpc-peerings list \ --network=VPC_NETWORK
Substitua VPC_NETWORK
pelo nome da rede VPC.
Modificar uma conexão particular
Não é possível modificar um intervalo alocado, mas é possível atualizar uma conexão particular para adicionar ou remover intervalos alocados sem interromper o tráfego.
Adicionar intervalos: ao escalonar, é possível adicionar ou substituir um intervalo alocado se o atual estiver perto de esgotar. Se você adicionar outro intervalo alocado a uma conexão particular, mais endereços IP ficarão disponíveis para o produtor de serviços ao criar novos recursos de serviço para qualquer serviço que ele ofereça. Não é possível reservar um intervalo alocado específico em uma conexão particular para uso de um determinado serviço.
Para mais informações sobre como adicionar ou substituir intervalos, consulte Exaustão do intervalo de endereços IP.
Remover intervalos: quando você remove um intervalo de uma conexão particular, as seguintes condições são aplicadas:
O intervalo alocado não está mais associado à conexão particular, mas não foi excluído.
- Se um intervalo removido não estiver mais em uso, exclua a alocação.
Os recursos do produtor de serviços existentes podem continuar usando o intervalo removido.
O acesso a serviços particulares não usa os intervalos removidos para alocar novas sub-redes.
Console
No console do Google Cloud , acesse a página Redes VPC.
Selecione a rede VPC que contém as conexões.
Selecione a guia Acesso a serviços particulares.
Na guia Acesso a serviços particulares, selecione a guia Conexões particulares com os serviços para conferir todas as conexões de rede particulares.
Clique no nome de uma conexão na lista.
Na lista Alocação atribuída, selecione os intervalos alocados que você quer associar à conexão particular. Desmarque as caixas de seleção de todos os intervalos alocados que você quer remover da conexão particular.
Clique em OK.
gcloud
Para adicionar ou remover intervalos de endereços IP alocados e atribuídos em uma conexão particular, 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:
RESERVED_RANGE_NAME
: uma lista de um ou mais nomes de intervalos alocados a serem atribuídos à conexão particular.RESERVED_RANGE_NAME
substitui a lista anterior de intervalos alocados. Se você omitir um intervalo que estava associado a essa conexão particular, o intervalo será removido da conexão. Use a flag--force
para remover um intervalo.VPC_NETWORK
: o nome da rede VPC.
Excluir um intervalo de endereços IP alocado
Antes de excluir um intervalo de endereços IP, verifique se ele está sendo usado por uma conexão particular.
Se o intervalo de endereços IP alocado estiver em uso, primeiro modifique a conexão particular para remover o intervalo. Depois exclua o intervalo de endereços IP alocado.
Se você excluir um endereço IP alocado que está em uso e não modificar a conexão particular, vai acontecer o seguinte:
As conexões atuais vão permanecer ativas, mas nada vai impedir que sua rede VPC use endereços IP que se sobreponham à rede do produtor de serviços.
Se você excluir o único intervalo de endereços IP alocado associado a uma conexão particular, o serviço não poderá criar novas sub-redes porque não haverá intervalo de endereços IP alocado para seleção.
Se você criar mais tarde um intervalo de endereços IP alocado que corresponda ou se sobreponha ao intervalo excluído, a adição do intervalo a uma conexão particular vai falhar.
Para evitar esses problemas, sempre modifique suas conexões particulares ao excluir um intervalo de endereços IP alocado em uso.
Console
No console do Google Cloud , acesse a página Redes VPC.
Selecione a rede VPC que contém as alocações que você quer excluir.
Selecione a guia Acesso a serviços particulares.
Na guia Acesso a serviços particulares, selecione a guia Intervalos de IP alocados para serviços.
Selecione a alocação que você quer excluir.
Clique em Liberar para retornar o intervalo de endereços IP alocado ao pool de endereços IP internos disponíveis da rede.
Se o intervalo de endereços IP alocado ainda estiver atribuído a uma conexão existente, será necessário confirmar mais uma vez antes de liberar a alocação.
Clique em Liberar novamente para confirmar a exclusão.
gcloud
Para excluir a alocação, especifique o nome dela.
gcloud compute addresses delete NAME \ --global
Substitua NAME
pelo nome do intervalo alocado que você quer excluir.
Excluir uma conexão particular
Para excluir uma conexão particular, realize o procedimento nesta seção. Não tente excluir diretamente a conexão de peering de rede VPC associada.
Antes de excluir uma conexão particular, é preciso excluir todas as instâncias de serviço que você acessa por meio da conexão.
O comportamento de exclusão da instância de serviço pode variar de acordo com o serviço. Os recursos do serviço podem ser excluídos imediatamente ou após um período de espera. Se houver um período de espera, não será possível excluir a conexão particular até que ele termine e os recursos do produtor de serviços sejam excluídos.
Por exemplo, se você excluir uma instância do Cloud SQL, vai receber uma resposta de sucesso, mas o serviço aguardará quatro dias antes de excluir os recursos do produtor de serviço. O período de espera significa que, se você mudar de ideia sobre a exclusão do serviço, poderá solicitar a restauração dos recursos. Se você tentar excluir a conexão durante o período de espera, a exclusão vai falhar com uma mensagem informando que os recursos ainda estão sendo usados pelo fornecedor do serviço.
Não é possível excluir uma conexão particular que esteja sendo usada por um hub de VPC do produtor. Para excluir a conexão, primeiro exclua o spoke VPC de produtor.
Console
No console do Google Cloud , acesse a página Redes VPC.
Selecione a rede VPC que contém as conexões que você quer excluir.
Selecione a guia Acesso a serviços particulares.
Na guia Acesso a serviços particulares, selecione a guia Conexão particular com serviços.
Escolha a conexão particular a ser excluída.
Clique em Excluir.
Clique em Excluir novamente para confirmar a ação.
gcloud
Para excluir a conexão de peering de rede VPC de uma conexão particular, 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 rede VPC.
Compartilhar zonas DNS particulares com produtores de serviço
As zonas particulares do Cloud DNS são particulares na rede VPC. Se você quiser permitir que uma rede de produtores de serviços resolva nomes da sua zona particular, configure o peering de DNS entre as duas redes.
Ao configurar o peering de DNS, você fornece uma rede VPC e um sufixo DNS. Se o produtor de serviços precisar resolver um endereço com esse sufixo DNS, o produtor de serviço encaminhará essas consultas para sua rede VPC para que sejam resolvidos.
Esses serviços compatíveis são compatíveis com peering de DNS, com exceção do Cloud SQL.
Se você quiser ativar o peering de DNS, ative a API Cloud DNS no seu projeto.
Peering de DNS com um produtor de serviço
gcloud
Para configurar o peering de DNS entre sua rede VPC e a rede do produtor 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:
PEERING_NAME
: um nome para essa configuração de peering de DNS.VPC_NETWORK
: o nome da rede VPC conectada ao produtor de serviços que está usando o acesso a serviços particulares.DNS_SUFFIX
: o sufixo DNS que você quer parear com o produtor de serviço. Você precisa informar 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 rede VPC e a rede do produtor de serviços, use o recurso google_service_networking_peered_dns_domain
.
Listar configurações de peering 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.
Excluir uma configuração de peering de DNS
gcloud
Use o comando gcloud services peered-dns-domains delete
.
gcloud services peered-dns-domains delete PEERING_NAME \ --network=VPC_NETWORK
Substitua:
PEERING_NAME
: o nome da configuração de peering de DNS.VPC_NETWORK
: o nome da rede VPC.
Configurar conectividade híbrida
Por padrão, a rede do produtor de serviços só aprende as rotas de sub-rede da sua rede VPC. Portanto, qualquer solicitação que não seja de um intervalo de IP de sub-rede será eliminada pelo produtor de serviços.
Para configurar a conectividade entre os hosts locais e a rede do produtor de serviços, faça o seguinte:
Na rede VPC, atualize a conexão de peering para exportar rotas personalizadas para a rede do produtor de serviços. A exportação de rotas envia para a rede do produtor de serviços todas as rotas dinâmicas e estáticas qualificadas que estão na sua rede VPC, como rotas para sua rede local. A rede do produtor de serviços as importa automaticamente e pode enviar o tráfego de volta para sua rede local por meio da rede VPC.
Verifique se os prefixos que incluem os intervalos de IP alocados para o acesso a serviços particulares estão sendo divulgados corretamente para sua rede local. Para entender como divulgar prefixos IPv4 personalizados usando o Cloud Router, consulte Rotas divulgadas.
Verifique se o anexo da VLAN ou o túnel do Cloud VPN termina na mesma rede VPC (ou rede VPC compartilhada) que a conexão particular, porque o peering de rede VPC não oferece roteamento transitivo.
Solução de problemas
As seções a seguir contêm informações sobre solução de problemas para o acesso a serviços particulares.
Quanto da minha alocação está sendo usada?
Ao criar uma conexão particular com um produtor de serviços, você aloca um intervalo de endereços IP para o uso do produtor. Se você usar vários serviços de um produtor, cada um reservará uma parte dos endereços IP desse intervalo alocado. É possível verificar quais serviços usam quais endereços IP, por exemplo, para saber quais serviços estão usando blocos grandes de endereços IP e evitar o esgotamento dos endereços.
Para conferir a proporção de alocação dos intervalos alocados, use o Network Analyzer. Saiba mais em Resumo de utilização de endereços IP para acesso a serviços particulares.
Para saber qual serviço está usando um determinado intervalo de endereços IP, siga estas etapas:
- Liste suas conexões particulares.
- Encontre o nome da conexão de peering que conecta você ao fornecedor de serviços relevante.
- Liste as rotas para sua rede VPC.
- Encontre as rotas com um próximo salto que corresponda ao nome da conexão de peering. O intervalo de destino das rotas indica quais endereços IP são usados por cada serviço.
Esgotamento do intervalo de endereços IP
Se você esgotar o espaço de endereços IP alocado de uma determinada conexão particular,o Google Cloud vai retornar este erro: Failed to create subnetwork.
Couldn't find free blocks in allocated IP ranges.
Esse erro pode aparecer porque o intervalo alocado não é suficiente para o uso ou porque uma rota estática ou dinâmica personalizada impede que o intervalo alocado seja totalmente utilizado. Para mais informações sobre considerações de roteamento, consulte Escolher um intervalo de endereços IP para o intervalo alocado.
É possível expandir a alocação atual ou adicionar novas. A alocação expandida precisa ser um intervalo contíguo de endereços IP que inclua o intervalo atual. Recomendamos expandir uma alocação porque não há limite para o tamanho dela, mas há para o número de alocações que podem ser criadas.
Para expandir uma alocação atual, siga estas etapas:
- Liste suas conexões particulares e registre o nome do intervalo alocado que você precisa expandir.
- Exclua o intervalo alocado que você quer expandir.
- Crie um novo intervalo alocado usando o mesmo nome que o intervalo excluído. Especifique um intervalo de endereços IP que inclua aquele que foi excluído. Dessa forma, os recursos com peering que estejam usando o intervalo alocado antigo poderão continuar utilizando os mesmos endereços IP sem colidir com os recursos da sua rede VPC. Por exemplo, se o intervalo alocado anterior for
192.168.0.0/20
, crie um novo intervalo alocado
Para adicionar intervalos alocados a uma conexão particular, siga estas etapas:
- Crie um novo intervalo alocado. Ele não precisa ser contíguo aos intervalos alocados atuais.
- Adicione o intervalo alocado à conexão particular.
Permissões de conta de serviço
Se você encontrar um erro sobre a permissão compute.globalAddresses.list
para um projeto ao criar um intervalo alocado ou se ocorrerem erros como Error 400: Precondition check failed
ao criar, listar ou modificar conexões particulares, talvez haja um problema com as funções do Identity and Access Management (IAM) para a conta de serviço da API Service Networking. Essa conta de serviço
é criada automaticamente depois que você ativa a API Service Networking. Pode levar algum tempo para que a conta seja provisionada e exibida na página do IAM.
Console
Para que a conta de serviço tenha o papel correto do IAM, faça o seguinte:
No console do Google Cloud , acesse a página IAM.
Marque a caixa de seleção Incluir concessões de papel fornecidas pelo Google.
Na coluna Nome, encontre o principal Agente de rede de serviço e clique em
Editar principal na linha correspondente.No campo Papel, verifique se o papel Agente de rede de serviço (
roles/servicenetworking.serviceAgent
) está presente.Se o papel Agente de rede de serviço não estiver presente, clique em
Adicionar papel ou Adicionar outro papelClique em Selecionar papel.
Na caixa de texto Filtro, digite
Service Networking Service Agent
.Selecione Agente de rede de serviço na lista e clique em Salvar.
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:
HOST_PROJECT_NAME
: o nome do projeto host.HOST_PROJECT_NUMBER
: o número do projeto host.
A rota de sub-rede de peering persiste após a atualização do intervalo alocado
Depois que você atualiza o intervalo de endereços IP alocado de uma conexão de serviços particulares, a antiga rota de sub-rede de peering ainda poderá aparecer na tabela de roteamento da rede VPC. A rota persiste porque o intervalo de endereços IP ainda está em uso.
Para resolver esse problema, faça o seguinte:
- Se você excluir um intervalo alocado, também precisará atualizar a conexão particular.
- Exclua ou atualize os recursos que usam o intervalo de endereços IP antigo.
A rota de sub-rede de peering é removida automaticamente depois que o intervalo de endereços IP não está mais em uso. Após você excluir o recurso, pode levar algum tempo até que o produtor de serviço o exclua de fato. Por exemplo, se o intervalo de endereços IP antigo estiver sendo usado por uma instância do Cloud SQL, poderá levar até quatro dias para o produtor de serviço excluir totalmente sua instância. A rota de sub-rede de peering é removida após a conclusão da exclusão.
Não é possível criar uma conexão particular
Se você tentar criar uma conexão particular depois de excluir a conexão de peering de rede VPC associada a uma conexão particular anterior, o Google Cloudpoderá retornar um erro. Para informações sobre solução de problemas, consulte as seguintes mensagens de erro.
Para evitar esse problema, siga o procedimento para excluir uma conexão particular em vez de excluir diretamente a conexão de peering de rede VPC associada.
Erro "Não é possível modificar intervalos alocados":
ERROR: Cannot modify allocated ranges in CreateConnection. Please use UpdateConnection. Existing allocated IP ranges: ALLOCATED_RANGE_NAMES.
Se esse erro aparecer, faça o seguinte:
Recrie a conexão particular que você excluiu e use os nomes de intervalo alocados retornados pelo erro. Use os mesmos nomes de intervalo alocado ao recriar a conexão, mas os intervalos de endereços IP correspondentes (blocos CIDR) podem ser iguais ou diferentes.
Para criar a conexão particular, consulte Criar uma conexão particular.
Se necessário, modifique a conexão particular para adicionar ou remover intervalos alocados. É melhor usar intervalos alocados diferentes dos especificados ao recriar a conexão particular na etapa anterior.
Para modificar a conexão particular, consulte Modificar uma conexão particular.
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 esse erro aparecer, entre em contato com o suporte do Cloud.