Configurar o acesso a serviços particulares
O acesso a serviços particulares é uma conexão particular entre a rede VPC do cliente 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 fornecedores 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 saber mais sobre o acesso a serviços particulares e alternativas semelhantes, consulte Opções de acesso privado para serviços.
Em geral, para usar o acesso a serviços particulares, você precisa alocar um intervalo de endereços IP (bloco CIDR) na sua rede VPC e depois criar uma conexão particular com um produtor de serviços.
Antes de começar
Para estabelecer uma conexão particular, atenda aos seguintes pré-requisitos:
- Verifique se o serviço que você está usando é compatível com o acesso a serviços particulares.
- 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ço. 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 gcloud CLI se você quiser executar os exemplos de linhas de comando
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.
Saiba mais sobre papéis na documentação sobre papéis de IAM de VPC.
Cenário de VPC compartilhada
Caso você esteja usando a VPC compartilhada, crie o intervalo de IP alocado e a conexão particular no projeto host. Normalmente, o administrador de rede nesse projeto é quem realiza essas tarefas. Depois que o projeto host estiver configurado, as instâncias de VM em projetos de serviço poderão usar a conexão particular.
Cotas e limites
Uma conexão particular é implementada como uma conexão de peering VPC. Por isso, as cotas e os limites que se aplicam ao peering de redes VPC também se aplicam ao acesso a serviços particulares.
Intervalos de endereços IP alocados para serviços
Antes de criar uma conexão particular, é preciso alocar um intervalo de endereços IP que será usado pela rede VPC do produtor de serviços. Isso evita colisões de endereços IP entre sua rede VPC e a rede do produtor de serviços. Crie um intervalo alocado para cada produtor de serviços.
Quando você aloca um intervalo na sua rede VPC, ele deixa de ser aceito para sub-redes (intervalos primários e secundários) e destinos de rotas estáticas personalizadas.
Não é possível usar intervalos de endereços IPv6 com o acesso a serviços particulares.
Tamanho do intervalo de endereços IP
Quando um produtor de serviços cria uma sub-rede no lado da conexão dele, um intervalo aberto da alocação é selecionado para o intervalo de endereços IP da sub-rede.
Cada produtor de serviços exige um tamanho mínimo de intervalo de endereços IP. Para o Google, o tamanho mínimo é um único bloco /24
(256 endereços), mas o recomendado é um bloco /16
(65.536 endereços).
O tamanho escolhido depende de vários fatores, por exemplo:
- O número de serviços e regiões que você usa.
- Os requisitos dos serviços que você usa.
- O tamanho mínimo do intervalo de endereços IP dos serviços.
- Se o produtor de serviços requer intervalos de IP separados para cada instância do serviço criada ou se pode usar o mesmo intervalo de IP para várias instâncias.
Caso você não tenha um bloco /16
contíguo, comece com uma alocação menor e adicione novas opções depois se precisar de mais endereços IP.
Sobre a sub-rede do produtor de serviço
Quando você estabelece uma conexão particular e cria um recurso com um endereço IP privado, o serviço cria uma sub-rede para provisionar o recurso. O serviço seleciona um intervalo de endereços IP disponível no intervalo alocado. Não é possível selecionar nem modificar o intervalo de endereços IP da sub-rede do produtor de serviços. A sub-rede só será excluída pelo serviço quando você excluir todos os recursos na sub-rede.
À medida que você provisiona mais recursos, eles são provisionados pelo serviço nas sub-redes regionais criadas anteriormente. Se uma sub-rede estiver cheia, o serviço criará uma nova na região.
Considerações
Antes de alocar um intervalo de endereços IP, pense nas seguintes restrições:
- 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.
Se você adicionar mais um intervalo alocado a uma conexão particular, ele vai expandir o intervalo de endereços IP disponíveis para o produtor de serviços ao criar novos recursos dos serviços produzidos. Não é possível reservar um intervalo alocado específico em uma conexão particular para uso de um determinado serviço.
Não reutilize o mesmo intervalo alocado para vários produtores de serviço. Embora seja possível, isso pode levar à sobreposição de endereços IP. Cada produtor de serviços tem visibilidade apenas sobre a própria rede e não sabe quais endereços IP são usados por outros produtores.
Só é possível atribuir um bloco CIDR a um intervalo alocado ao criar a alocação. Se você ampliar o intervalo de endereços IP, não poderá adicionar mais blocos a uma alocação. Em vez disso, crie outra alocação ou recrie a atual usando um bloco maior que englobe os intervalos novos e os atuais.
Se você mesmo criar a alocação em vez de deixar que o Google faça isso (por meio do Cloud SQL, por exemplo), poderá usar a mesma convenção de nomenclatura para indicar a outros usuários ou serviços do Google que já existe uma alocação para o Google. Quando um serviço do Google aloca um intervalo em seu nome, o serviço usa o seguinte formato para nomear a alocação:
google-managed-services-[your network name]
. Se essa alocação já existir, os serviços do Google vão usá-la em vez de criar outra.Como uma conexão particular é implementada como uma conexão de peering de redes VPC, os comportamentos e as restrições de conexões de peering também se aplicam a conexões particulares, como limites do peering de redes VPC.
Se você planeja alterar o endereço IP interno de uma instância de serviço que usa a VPC, considere se essa ação pode causar interrupção (por exemplo, exigindo a exclusão e a recriação da instância de serviço). Para mais informações, consulte a documentação do serviço gerenciado associado. Por exemplo, se você usa o Cloud SQL, consulte Alterar o endereço IP particular de uma instância atual do Cloud SQL.
Criar uma alocação de IP
Nas etapas a seguir, você aprende a criar um intervalo de endereços IP alocado.
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.
Especifique um intervalo de 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 especificar o tamanho de um prefixo e 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 rede VPC, use o comando addresses create
.
Para especificar um intervalo de endereços e um tamanho de prefixo (máscara de sub-rede), use as flags
addresses
eprefix-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, o Google Cloudseleciona 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
Terraform
Para criar um intervalo alocado em uma 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 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.
Conexões particulares são um relacionamento um para um entre a rede VPC e o produtor de serviços. Se um produtor oferecer mais de um serviço, 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. Assim, ao criar um recurso de serviço gerenciado, será possível selecionar uma rede particular para usar os intervalos alocados associados com o novo recurso.
Caso você se conecte a mais de um produtor de serviços, use uma alocação exclusiva para cada. Essa prática ajuda a gerenciar suas configurações de rede, como regras de firewall e rotas, 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 fornecedores de serviços.
Clique em Conectar para criar a conexão.
gcloud
Use o comando
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
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 vai usar endereços IP de todos os intervalos indicados, 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 vpc-peerings list
.
gcloud services vpc-peerings list \ --network=VPC_NETWORK
Substitua VPC_NETWORK
pelo nome da rede VPC.
Modificar uma conexão particular
Nas conexões particulares, é possível adicionar ou remover intervalos de endereços IP alocados sem interromper o tráfego. Por exemplo, ao escalonar, é possível adicionar um intervalo alocado caso o atual esteja perto de esgotar.
Quando você remove um intervalo de uma conexão particular, o seguinte acontece:
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 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 opção--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. Por exemplo, se você quiser excluir uma conexão particular usada para acessar o Cloud SQL, primeiro exclua as instâncias do Cloud SQL que usam essa conexão. Depois que você exclui as instâncias de serviço, os recursos do produtor de serviço são excluídos, mas essa exclusão pode não acontecer imediatamente. Alguns produtores de serviços aguardam determinado período para fazer a exclusão. Não é possível excluir a conexão particular durante o período de espera. Aguarde até que os recursos do produtor de serviços sejam excluídos antes de excluir a conexão.
Por exemplo, se você excluir uma instância do Cloud SQL, vai receber uma resposta de êxito, mas o serviço vai aguardar quatro dias para excluir os recursos do produtor de serviço. Devido ao período de espera, você pode pedir o restabelecimento dos recursos excluídos caso mude de ideia. 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 produtor do serviço.
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ões particulares 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 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 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 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 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.
Solução de problemas
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 fornecedor, cada serviço 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. Consulte as considerações sobre roteamento.
É 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. A expansão de uma alocação é recomendada porque não há limite para o tamanho de uma alocação, 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 existente.
- 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 como192.168.0.0/16
.
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.
Hosts locais não podem se comunicar com a rede do provedor de serviços
A rede do fornecedor de serviços pode não ter as rotas corretas para direcionar o tráfego para sua rede local. Por padrão, a rede do produtor do serviço 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 do serviço.
Para configurar a conectividade entre os hosts locais e a rede do produtor de serviços, faça isto:
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 do serviço 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 do serviço as importa automaticamente e pode enviar o tráfego de volta à 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.
Permissões de conta de serviço
Se ocorrer um erro sobre a permissão compute.globalAddresses.list
de um projeto quando você criar uma alocação de IP ou ocorrerem erros como Error 400: Precondition check failed
ao criar, listar ou modificar conexões particulares, talvez haja um problema com papéis do Identity and Access Management (IAM) para sua 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 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 da alocação de IP
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 uma alocação de IP, 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.