Escolher como se conectar ao Cloud SQL

Nesta página, você encontra uma visão geral das maneiras de se conectar à sua instância do Cloud SQL.

Antes de se conectar a uma instância do Cloud SQL, é preciso decidir como implantar e configurar a instância do Cloud SQL e os recursos de rede de suporte. Se a instância do Cloud SQL já estiver configurada e implantada, esta página pode ajudar você a entender as diferentes maneiras de conectar seus clientes à instância atual.

Tipo de endereço IP: particular ou público

Ao criar sua instância do Cloud SQL, é possível configurá-la com um endereço IP público, um endereço IP privado ou uma combinação de ambos.

Escolha a configuração do endereço IP da instância com base nos requisitos do aplicativo. Depois de configurar a instância, especifique um endereço IP público, um endereço IP privado ou, em alguns casos, um nome DNS na string de conexão do cliente.

Endereço IP particular Endereço IP público
Descrição Endereço IP interno, somente de rede de nuvem privada virtual (VPC) (particular) Um endereço IP externo (público) acessível pela Internet
Pontos de decisão

Você precisa se conectar de clientes hospedados em redes VPC dentro do Google Cloud ou de clientes que têm acesso a essas redes VPC?

Se sim, escolha um endereço IP particular para a instância.

Você precisa se conectar de clientes fora da rede VPC do Google Cloudpela Internet pública?

Se sim, escolha um endereço IP público para a instância.

Opções de configuração

Os seguintes tipos de configurações de rede privada são compatíveis:

  • Private Service Connect: conecte-se a instâncias do Cloud SQL de várias redes VPC que pertencem a diferentes grupos, projetos ou organizações. O Private Service Connect é a opção padrão de conectividade de IP privado para novos projetos.
  • Acesso a serviços particulares: conecte-se a instâncias do Cloud SQL de uma única rede VPC com base no peering de rede VPC.
  • Para mais informações sobre como escolher uma configuração de rede privada, consulte Opções de configuração de IP privado.

Ao se conectar diretamente a uma instância usando um endereço IP público, é necessário configurar redes autorizadas.

Outra alternativa mais segura para se conectar a uma instância do Cloud SQL que usa IP público é usar um conector do Cloud SQL (como o proxy de autenticação do Cloud SQL ou um dos conectores de linguagem do Cloud SQL).

Para instruções sobre como adicionar um IP público à instância, consulte Configurar IP público.

Para se conectar a uma instância do Cloud SQL usando um endereço IP público, use o cliente mysql ou outro cliente disponível.

Resumo

Recomendação: para melhorar a segurança, recomendamos que você configure sua instância com um tipo de endereço IP privado, a menos que tenha requisitos específicos para uma instância do Cloud SQL acessível pela Internet ou se estiver se conectando de um cliente que não atende aos requisitos de uma VPC.

Tipo de conexão: conector do Cloud SQL ou direta

Ao se conectar a uma instância do Cloud SQL, é possível usar um conector do Cloud SQL ou fazer uma conexão direta.

Um conector do Cloud SQL é o proxy de autenticação do Cloud SQL ou um dos conectores de linguagem do Cloud SQL.

Conector do Cloud SQL Conexão direta
Descrição O proxy de autenticação do Cloud SQL, um proxy do lado do cliente, e os conectores de linguagem do Cloud SQL, bibliotecas do lado do cliente, fornecem acesso simplificado e seguro às suas instâncias do Cloud SQL, especialmente quando você se conecta a uma instância usando um endereço IP público. Uma conexão direta de um cliente com uma instância do Cloud SQL oferece uma conexão de latência mais baixa. Uma conexão direta pode ser feita de um endereço IP público ou privado.
Pontos de decisão

Os conectores do Cloud SQL são úteis nos seguintes cenários:

  • Quando você quer se conectar a uma instância do Cloud SQL usando um endereço IP público sem precisar configurar redes autorizadas.
  • Quando você quer criptografar automaticamente o tráfego de entrada e saída do banco de dados com confirmação de identidade do servidor e do cliente sem precisar gerenciar certificados SSL.
  • Quando você usa a autenticação de banco de dados do IAM e quer atualizar os tokens de acesso do OAuth 2.0 automaticamente.
  • Quando você se conecta de um cliente ou aplicativo que usa um endereço IP atribuído dinamicamente ou temporário. A configuração de IP dinâmico pode ser comum para aplicativos de plataforma como serviço (PaaS).

O uso de uma conexão direta oferece os seguintes benefícios:

  • Menor latência em comparação com conexões que usam conectores do Cloud SQL.
  • Não há dependência de pacote ou biblioteca extra, ao contrário dos conectores do Cloud SQL.
  • Ao usar uma conexão direta, você é responsável por definir as configurações de SSL/TLS.
Opções de configuração

Para configurar certificados SSL/TLS na instância do Cloud SQL e para o cliente, faça o seguinte:

  1. Escolha um modo de AC do servidor para sua instância.
  2. Configure a instância para aplicar a criptografia SSL/TLS às conexões na instância.
  3. Criar certificados do cliente.
  4. Faça o download dos certificados do servidor e do cliente.
Resumo

Ao se conectar a uma instância do Cloud SQL, é possível usar um conector do Cloud SQL ou se conectar diretamente dos clientes.

Recomendação geral: se você estiver se conectando a uma instância por um endereço IP particular, use uma conexão direta. Também recomendamos que você aplique o SSL e configure os certificados SSL/TLS para sua conexão.

Se você estiver se conectando a uma instância por um endereço IP público, use um conector do Cloud SQL (o proxy de autenticação do Cloud SQL ou um dos conectores de linguagem do Cloud SQL).

Tipo de autenticação do banco de dados: IAM ou integrada

Ao se conectar a uma instância, você precisa se autenticar como um usuário do banco de dados. É possível escolher entre a autenticação integrada ou a autenticação de banco de dados do IAM.

Autenticação do banco de dados do IAM Autenticação integrada
Descrição A autenticação de banco de dados do IAM permite que você se autentique em bancos de dados com contas de usuário e de serviço do Google Cloud IAM usando tokens de acesso de curta duração em vez de senhas. É possível gerenciar privilégios de banco de dados usando principais do IAM, como usuários, contas de serviço e grupos. A autenticação integrada usa nomes de usuário e senhas locais do banco de dados para autenticar usuários do banco de dados.
Pontos de decisão Você prefere centralizar o gerenciamento de usuários em todos os serviços do Google Cloud usando o IAM no Google Cloud? Em caso afirmativo, use a autenticação de banco de dados do IAM. Você tem aplicativos ou fluxos de trabalho que dependem da autenticação de banco de dados integrada? Em caso afirmativo, use a autenticação integrada.
Opções de configuração

É possível usar a autenticação de banco de dados do IAM para usuários individuais do IAM, contas de serviço individuais e grupos. Para mais informações, consulte Gerenciar usuários com a autenticação de banco de dados do IAM .

Se você usar um conector do Cloud SQL, ele vai processar a atualização automática dos tokens de acesso do IAM. Para mais informações, consulte Autenticação automática do banco de dados do IAM.

É possível usar a autenticação de banco de dados integrada e configurar políticas de senha nos níveis de instância e usuário. Para mais informações, consulte Autenticação integrada.
Resumo Recomendação: a menos que você tenha aplicativos ou fluxos de trabalho que dependam da autenticação de banco de dados integrada, use a autenticação de banco de dados do IAM sempre que possível.

Remover opções de rede de uma instância

O Cloud SQL é compatível com a remoção das seguintes opções de rede de uma instância:

  • IP público de uma instância com acesso a serviços privados e IP público
  • IP público de uma instância com IP público, acesso a serviços particulares e Private Service Connect
  • Private Service Connect de uma instância com o Private Service Connect e o acesso a serviços particulares
  • Private Service Connect de uma instância com Private Service Connect, acesso a serviços particulares e IP público

Ativar opções de rede para uma instância

O Cloud SQL permite ativar as seguintes opções de conexão para instâncias:

  • Acesso a serviços particulares em uma instância somente com IP público
  • Private Service Connect em uma instância com acesso somente a serviços particulares
  • Private Service Connect em uma instância com acesso a serviços privados e IP público
  • IP público em uma instância com acesso apenas a serviços particulares

Limitações

  • Não é possível criar uma instância com um endereço IP público e o Private Service Connect.
  • Não é possível remover o acesso a serviços privados de uma instância com acesso a serviços privados e Private Service Connect.
  • Não é possível remover o acesso a serviços privados de uma instância com acesso a serviços privados e IP público.
  • Se você tiver uma instância que usa apenas IP público, não será possível ativar o acesso a serviços privados e o Private Service Connect ao mesmo tempo. Primeiro, ative o acesso a serviços particulares e, em seguida, o Private Service Connect.
  • Não é possível usar redes autorizadas para criar listas de permissões baseadas em endereços IP para instâncias do Private Service Connect.

Ferramentas para se conectar ao Cloud SQL

A tabela a seguir contém algumas opções para se conectar ao Cloud SQL:

Opção de conexão Mais informações
Proxy de autenticação do Cloud SQL
CLI gcloud
Conectores de linguagem do Cloud SQL
Cloud Shell
Apps Script
Cloud Code
Google Cloud Data Agent Kit
Conecte-se usando ferramentas de administração de banco de dados de terceiros
MySQL Workbench
Toad para MySQL
SQuirrel para SQL
phpMyAdmin

Resolver problemas

Se você tiver problemas de conexão, consulte as páginas a seguir para receber ajuda na depuração ou localização de soluções para problemas conhecidos:

A seguir