Visão geral
O peering de VPC funciona configurando as VPCs para se comunicarem entre si. Se a origem estiver no mesmo projeto do Google Cloud no AlloyDB ou no Compute Engine, o destino poderá se comunicar diretamente com a origem. Se a origem estiver em uma VPN (por exemplo, na AWS ou na sua própria VPN local), configure a VPN de origem e a VPN do Google Cloud para que funcionem entre si. Para mais informações, consulte como conectar VPCs por VPNs.Não há suporte para encadeamento de VPC. Se a origem estiver em um projeto diferente do Google Cloud , consulte Visão geral da VPC compartilhada para saber como conectar recursos de vários projetos a uma rede VPC comum para peering de VPC.
O firewall do servidor de banco de dados de origem precisa ser configurado para permitir todo o intervalo de IPs interno alocado para a conexão de serviço particular da rede VPC que a instância de destino do AlloyDB vai usar.
Para encontrar o intervalo de IP interno no console:
Acesse a página "Redes VPC" no console do Google Cloud .
Selecione a rede VPC que você quer usar.
Selecione a guia CONEXÃO DE SERVIÇO PARTICULAR.
pg_hba.conf
ou as definições dos grupos de segurança no AWS RDS no banco de dados de origem estão atualizadas para aceitar as conexões do
intervalo de endereços IP da VPC do AlloyDB.
O peering de VPC usa o acesso a serviços particulares,
que precisa ser configurado uma vez para cada projeto que usa o peering de VPC. Depois de
estabelecer private services access
, teste o
job de migração para verificar a conectividade.
Como configurar o acesso a serviços particulares para o Database Migration Service
Se você estiver usando o IP particular em qualquer uma das suas instâncias do Database Migration Service, basta configurar o acesso a serviços particulares uma vez para cada projeto do Google Cloud que tenha ou precise se conectar a uma instância do Database Migration Service.
Para estabelecer o acesso a serviços particulares, é necessário ter o papel do IAM compute.networkAdmin. Depois que o acesso a serviços particulares for estabelecido na rede, o papel de compute.networkAdmin
do IAM não será mais necessário para configurar uma instância para usar o IP particular.
O Acesso particular a serviços exige que você primeiro aloque um intervalo de endereços IP internos, crie uma conexão particular e exporte uma rota personalizada.
Um intervalo alocado é um bloco CIDR reservado que não pode ser usado na sua rede VPC local. Ao criar uma conexão particular, você especifica uma alocação. A conexão particular vincula sua rede VPC à rede VPC subjacente ("produtor de serviços").
Quando você cria uma conexão particular, a rede VPC e a rede do produtor de serviços trocam apenas rotas de sub-rede. Exporte as rotas personalizadas da rede VPC para que a rede do provedor de serviços possa importá-las e rotear o tráfego corretamente para sua rede local.
Uma configuração de peering estabelece a intent de se conectar a outra rede VPC. Sua rede e a outra só estarão conectadas depois que cada uma tiver uma configuração de peering para a outra. Quando a outra rede tiver uma configuração correspondente para fazer peering com a sua, o estado de peering será alterado para ATIVO nas duas redes, que serão conectadas. Se não houver uma configuração de peering correspondente na outra rede, o estado de peering vai permanecer como INATIVO, indicando que sua rede não está conectada à outra.
Depois de conectadas, as duas redes sempre trocam rotas de sub-rede. Uma alternativa é importar rotas personalizadas estáticas e dinâmicas de uma rede com peering caso ela tenha sido configurada para exportá-las.
Há duas partes no processo de configuração do acesso privado a serviços:
- Alocar um intervalo de endereços IP. O intervalo abrange todas as suas instâncias.
- Criar uma conexão privada da sua rede VPC com a rede do produtor de serviços.
Como alocar um intervalo de endereços IP
Console
- Acesse a página "Redes VPC" no console do Google Cloud .
- Selecione a rede VPC que você quer usar.
- Selecione a guia Conexão de serviço particular.
- Selecione a guia Intervalos de IP alocados para serviços.
- Clique em Alocar intervalo de IP.
Para o Nome do intervalo alocado, especifique
google-managed-services-VPC_NETWORK_NAME
, em queVPC_NETWORK_NAME
é o nome da rede VPC que você está conectando (por exemplo,google-managed-services-default
). A Descrição é opcional.Clique em ALOCAR para criar o intervalo alocado.
gcloud
Siga uma destas ações:
Para especificar um intervalo de endereços e um tamanho de prefixo (máscara de sub-rede), use os sinalizadores
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 google-managed-services-[VPC_NETWORK_NAME] \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=16 \ --network=[VPC_NETWORK_NAME]
Para especificar apenas um tamanho de prefixo (máscara de sub-rede), basta usar a sinalização
prefix-length
. Quando você omitir o intervalo de endereços,o Google Cloud selecionará automaticamente um intervalo de endereços não utilizado na sua rede VPC. O exemplo a seguir seleciona um intervalo de endereços IP não utilizado com um tamanho de prefixo de16
bits.gcloud compute addresses create google-managed-services-[VPC_NETWORK_NAME] \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --network=[VPC_NETWORK_NAME]
Substitua [VPC_NETWORK_NAME]
pelo nome da sua rede VPC,
como my-vpc-network
.
O exemplo a seguir aloca um intervalo de IP que permite que os recursos na
rede VPC my-vpc-network
se conectem a instâncias do Database Migration Service
usando um IP particular.
gcloud compute addresses create google-managed-services-my-vpc-network \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --network=my-vpc-network \ --project=my-project
Como criar uma conexão particular
Console
- Acesse a página "Redes VPC" no console do Google Cloud .
- Selecione a rede VPC que você quer usar.
- Selecione a guia Conexão de serviço particular.
- Selecione a guia Conexões particulares com os 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 e clique em OK.
- Clique em CONECTAR para criar a conexão.
gcloud
Crie uma conexão particular.
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=google-managed-services-[VPC_NETWORK_NAME] \ --network=[VPC_NETWORK_NAME] \ --project=[PROJECT_ID]
Substitua
[VPC_NETWORK_NAME]
pelo nome da rede VPC e[PROJECT_ID]
pelo ID do projeto que contém a rede VPC.O comando inicia uma operação de longa duração, que retorna um nome de operação.
Verifique se a operação foi bem-sucedida.
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 privada. 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.
Como exportar rotas personalizadas
Atualize uma conexão atual com o Peering de redes VPC para alterar se sua rede VPC exportará rotas personalizadas para a rede VPC com peering ou as importará dela.
Sua rede importará rotas personalizadas somente se a rede com peering também estiver exportando rotas personalizadas. A rede com peering só vai receber rotas personalizadas se as importar.
Console
- Acesse a página "Peering de rede VPC" no console do Google Cloud .
Acessar a página "Peering de rede VPC" - Selecione a conexão de peering a ser atualizada.
- Clique em EDITAR.
- Atualize as configurações de rotas personalizadas marcando ou desmarcando Importar rotas personalizadas ou Exportar rotas personalizadas.
- Clique em SALVAR.
gcloud
Atualize a conexão de peering para alterar as configurações de importação ou exportação das rotas personalizadas.
gcloud compute networks peerings update [PEERING-NAME] \ --network=[MY-LOCAL-NETWORK] \ [--[no-]import-custom-routes] \ [--[no-]export-custom-routes]
Como conceder o papel roles/servicenetworking.serviceAgent
gcloud beta services identity create \
--service=servicenetworking.googleapis.com \
--project=project-id
gcloud projects add-iam-policy-binding project-id \
--member="service-account-prefix@service-networking.iam.gserviceaccount.com" \
--role="roles/servicenetworking.serviceAgent"