Nesta página, descrevemos os conceitos associados ao Private Service Connect. É possível usar o Private Service Connect para:
- É possível se conectar a uma instância do Cloud SQL por meio de várias redes VPC pertencentes a diferentes grupos, equipes, projetos ou organizações.
- Conecte-se a uma instância primária ou a qualquer uma das réplicas de leitura dela.
Endpoint do Private Service Connect
É possível usar endpoints do Private Service Connect para acessar instâncias do Cloud SQL de maneira particular nas suas redes VPC de consumidor. Esses endpoints são endereços IP internos associados a uma regra de encaminhamento que faz referência a um anexo de serviço de uma instância do Cloud SQL.
Você pode deixar o Cloud SQL criar o endpoint automaticamente ou fazer isso manualmente.
Para que o Cloud SQL crie o endpoint automaticamente, faça o seguinte:
- Crie uma política de conexão de serviço nas suas redes VPC.
Crie uma instância do Cloud SQL com o Private Service Connect ativado e configure a instância para criar um endpoint automaticamente. Ao criar a instância, especifique parâmetros de conexão automática, como redes VPC e projetos.
O Cloud SQL localiza a política de conexão de serviço nessas redes e cria um endpoint do Private Service Connect que aponta para o anexo de serviço da instância.
Depois que você cria a instância e o Cloud SQL cria o endpoint, os clientes nas redes VPC correspondentes podem se conectar à instância pelo endpoint, usando um endereço IP ou um registro DNS.
Para criar o endpoint manualmente, faça o seguinte:
- Crie uma instância do Cloud SQL com o Private Service Connect ativado.
- Acesse o URI do anexo de serviço necessário para criar o endpoint manualmente.
Reserve um endereço IP interno na rede VPC para o endpoint e crie um endpoint com esse endereço.
Depois que você cria a instância e o Cloud SQL cria o endpoint, os clientes nas redes VPC correspondentes podem se conectar à instância pelo endpoint, usando um endereço IP ou um registro DNS.
Política de conexão de serviço
Com uma política de conexão de serviço é possível autorizar uma classe de serviço especificada a criar uma conexão do Private Service Connect entre redes VPC. Como resultado, é possível provisionar endpoints do Private Service Connect automaticamente.
É possível criar no máximo uma política para cada combinação de classe de serviço, região e rede VPC. Uma política determina a automação da conectividade do serviço para essa combinação específica. Ao configurar uma política, você seleciona uma sub-rede. A sub-rede é usada para alocar endereços IP para os endpoints criados por meio da política. Se várias políticas de conexão de serviço compartilharem a mesma região, você poderá reutilizar a mesma sub-rede para todas elas.
Por exemplo, se você quiser usar a automação de conectividade de serviço com dois serviços em três regiões diferentes, crie seis políticas. É possível usar no mínimo três sub-redes, uma para cada região.
Depois de criar uma política de conexão de serviço, só será possível atualizar as sub-redes e o limite de conexão da política. Se você precisar atualizar outros campos, faça o seguinte:
- Remova todas as conexões que usam a política.
- Exclua a política.
- Crie uma política.
Anexo de serviço
Quando você cria uma instância do Cloud SQL e a configura para usar o Private Service Connect, o Cloud SQL cria automaticamente um anexo de serviço para a instância. Um anexo de serviço é um ponto de anexo que as redes VPC usam para acessar a instância.
Crie um endpoint do Private Service Connect que a rede VPC usa para se conectar ao anexo de serviço. Isso permite que a rede acesse a instância.
Cada instância do Cloud SQL tem um anexo de serviço ao qual o endpoint do Private Service Connect pode se conectar pela rede VPC. Se houver várias redes, cada uma terá um endpoint próprio.
Nomes e registros DNS
Para instâncias com o Private Service Connect ativado, recomendamos usar o nome DNS porque redes diferentes podem se conectar à mesma instância e os endpoints do Private Service Connect em cada rede podem ter endereços IP diferentes. Além disso, o proxy de autenticação do Cloud SQL exige nomes DNS para se conectar a essas instâncias.
As instâncias do Cloud SQL com o Private Service Connect ativado podem ter dois tipos de nomes DNS:
Um nome DNS por instância. Esse recurso está disponível para instâncias em todas as edições do Cloud SQL. A instância principal e cada instância de réplica têm nomes DNS separados por instância.
Um nome DNS de endpoint de gravação global. Isso está disponível para instâncias na edição Cloud SQL Enterprise Plus, para ajudar na recuperação avançada de desastres (ADR). Um endpoint de gravação é um nome DNS global que se resolve automaticamente para o endereço IP da instância principal atual. No caso de uma operação de failover ou alternância de réplica, esse endpoint de gravação redireciona as conexões de entrada para a nova instância principal automaticamente. Ao usar um endpoint de gravação, você evita ter que fazer mudanças na conexão do aplicativo ao realizar uma operação de failover ou alternância de réplica para recuperação de interrupção regional ou um simulado de recuperação de desastres.
Para um nome DNS por instância, é possível fazer com que o Cloud SQL crie registros DNS automaticamente ou criar o nome DNS manualmente.
Se você estiver usando a abordagem manual, poderá receber o nome DNS recomendado por instância na resposta da API de pesquisa de instâncias e criar o registro DNS em uma zona de DNS particular na rede VPC correspondente. Confira detalhes em Configurar o DNS manualmente.
Recurso de automação de DNS
Como alternativa, use o recurso de automação de DNS para permitir que o Cloud SQL provisione e gerencie automaticamente registros DNS para o nome DNS por instância nas redes VPC autorizadas do consumidor.
Para mais informações sobre como ativar e configurar a automação de DNS, consulte Criar uma instância com a automação de DNS ativada.
Ao usar o recurso de automação de DNS em instâncias da edição Enterprise Plus do Cloud SQL, o Cloud SQL também provisiona e gerencia automaticamente os registros de DNS para o nome DNS global do endpoint de gravação nas suas redes VPC de consumidores autorizadas.
A automação de DNS tem estas limitações:
- Não é possível se conectar do proxy de autenticação ou dos conectores de linguagem a um nome DNS por instância ou endpoint de gravação criado com a automação de DNS.
- Não é possível configurar a automação de DNS usando o console Google Cloud ou o Terraform.
Projetos do Private Service Connect permitidos
Os projetos permitidos são associados a redes VPC e são específicos para cada instância do Cloud SQL. Se uma instância não estiver em nenhum projeto permitido, não será possível ativar o Private Service Connect para ela.
Para esses projetos, é possível criar endpoints do Private Service Connect
para cada instância. Se um projeto não for permitido explicitamente, você ainda poderá
criar um endpoint para as instâncias do projeto, mas ele vai permanecer
no estado PENDING.
Propagação de endpoint do Private Service Connect
Por padrão, as conexões do Private Service Connect não são transitivas das redes VPC com peering. Crie um endpoint do Private Service Connect em cada rede VPC que precisa se conectar à sua instância do Cloud SQL. Por exemplo, se você tiver três redes VPC que precisam se conectar à sua instância, crie três endpoints do Private Service Connect, um para cada rede VPC.
No entanto, ao propagar endpoints do Private Service Connect pelo hub do Network Connectivity Center, esses endpoints podem ser acessados por qualquer outra rede VPC spoke no mesmo hub. O hub oferece um modelo de gerenciamento de conectividade centralizado para interconectar redes VPC spoke a endpoints do Private Service Connect.
O recurso de propagação de conexão no NCC beneficia o seguinte caso de uso para implantações do Private Service Connect:
É possível usar uma rede VPC de serviços comuns para criar vários endpoints do Private Service Connect. Ao adicionar uma única rede VPC de serviços comuns ao hub do NCC, todos os endpoints do Private Service Connect na rede VPC se tornam acessíveis de maneira transitiva a outras redes VPC de spoke pelo hub. Essa conectividade elimina a necessidade de gerenciar cada endpoint do Private Service Connect em cada rede VPC individualmente.
Para saber como usar o hub do NCC para propagar endpoints do Private Service Connect para redes VPC de spoke, consulte o codelab NCC: propagação do Private Service Connect.
Back-end do Private Service Connect
Você pode usar backends do Private Service Connect como alternativa aos endpoints do Private Service Connect para acessar instâncias do Cloud SQL. Para facilitar o uso, recomendamos se conectar às instâncias do Cloud SQL usando endpoints do Private Service Connect. Para mais controle e visibilidade, é possível se conectar usando back-ends do Private Service Connect.
Para usar back-ends do Private Service Connect, configure os seguintes recursos para cada porta de serviço em que você quer acessar uma determinada instância do Cloud SQL:
- Grupo de endpoints de rede (NEG) do Private Service Connect, que precisa fazer referência ao anexo de serviço e a uma porta de serviço da instância do Cloud SQL.
- Balanceador de carga de rede de proxy interno (consistindo em serviço de back-end, proxy TCP de destino e regra de encaminhamento) com o back-end sendo o NEG do Private Service Connect.
- Porta TCP 5432 para conexões diretas com o servidor de banco de dados PostgreSQL.
- Porta TCP 6432 para conexões diretas com o servidor PgBouncer ao usar o pool de conexões gerenciadas.
- Porta TCP 3307 para conexões pelo proxy de autenticação do Cloud SQL.
Conexões de saída do Private Service Connect
É possível anexar uma interface do Private Service Connect às instâncias do Cloud SQL com o Private Service Connect ativado usando um anexo de rede para permitir que a instância do Cloud SQL faça conexões de saída com sua rede. Para se conectar à interface do Private Service Connect da sua rede, você precisa de um anexo de rede novo ou atual no projeto do Google Cloud .
É possível usar a conectividade de saída para migrar dados de um servidor externo na sua rede, usar extensões do PostgreSQL que exigem uma conexão de saída com sua instância do Cloud SQL ou fazer uma migração homogênea usando o Database Migration Service.
Limitações
Se você configurar a conectividade de saída na réplica de recuperação de desastres (DR), após uma operação de alternância ou failover de réplica, quando a réplica de DR for promovida à instância principal, a conectividade de saída continuará funcionando na nova instância principal criada. Se você não configurar a conectividade de saída na réplica de DR, para que o serviço continue funcionando após uma troca ou failover de réplica, será necessário ativar a conectividade de saída do Private Service Connect na nova instância principal.
Ao usar uma interface do Private Service Connect com um anexo de rede para criar conexões de saída da sua rede na instância do Cloud SQL, observe as seguintes limitações:
- Ativar ou desativar a conectividade de saída do Private Service Connect requer tempo de inatividade. Essa operação leva cerca de 8 minutos para ser concluída, com um tempo de inatividade aproximado de 3 minutos.
- Se você estiver usando um nome de host ou DNS para sua conexão de saída, o nome DNS precisará ser resolvido publicamente e resolvido para um intervalo de IP RFC-1918.
- Os endereços IPv6 não são aceitos.
- Endereços IP públicos não são aceitos.
- Se o endereço IP de conectividade de saída entrar em conflito com o IP
eth0ou a regra de encaminhamento do Private Service Connect, o endereço IP poderá não se conectar corretamente. Para mais informações, consulte Visão geral do Private Service Connect. - Se a instância estiver configurada para acesso a serviços privados e Private Service Connect, não será possível ativar a conectividade de saída do Private Service Connect para ela.
- Não é possível ativar a conectividade de saída do Private Service Connect em instâncias de pool de leitura.
Para mais informações sobre como configurar a conectividade de saída para sua instância do Cloud SQL, consulte Configurar a conectividade de saída.
A seguir
- Saiba mais sobre IP privado.
- Saiba mais sobre como se conectar a uma instância usando o Private Service Connect.