Nesta página, você encontra um resumo das opções para se conectar à instância do Cloud SQL.
Visão geral
Para se conectar à sua instância do Cloud SQL, considere:
- Como se conectar: qual caminho de rede você usa para acessar a instância:
- Um endereço IP interno somente VPC (Particular).
- Um endereço IP externo acessível pela Internet (Público).
- Como autorizar: quais conexões são autorizadas e têm permissão para
se conectar à instância do Cloud SQL:
- Conectores de linguagem do Cloud SQL Proxy e do Cloud SQL: fornecem acesso com base no IAM.
- Certificados SSL/TLS autogerenciados: permitem apenas conexões com base em chaves públicas específicas.
- Redes autorizadas: uma lista de endereços IP com permissão para se conectar.
- Como autenticar: o método para fazer login no seu banco de dados.
- Autenticação de banco de dados nativo: login com um nome de usuário/senha definido no mecanismo de banco de dados.
Use as informações abaixo para decidir quais opções de conexão, autorização e autenticação funcionam melhor para você.
Antes de começar
A concessão de acesso a um aplicativo não permite automaticamente que uma conta de usuário do banco de dados se conecte à instância. Para se conectar a uma instância, é necessário ter uma conta de usuário do banco de dados com que possa se conectar. Para novas instâncias, isso significa que é preciso configurar a conta de usuário padrão. Saiba mais.
Opções de conexão
IP particular
Um IP particular é um endereço IPv4 ou IPv6 acessível em uma nuvem privada virtual (VPC, na sigla em inglês). Use esse endereço para se conectar a partir de outros recursos com acesso à VPC. As conexões por IP particular normalmente fornecem menor latência e vetores de ataque limitados, já que não exigem a passagem da Internet.
As conexões com uma instância do Cloud SQL usando um endereço IP privado são autorizadas automaticamente para intervalos de endereços RFC 1918. Dessa forma, todos os clientes particulares podem acessar o banco de dados sem passar pelo proxy. Os intervalos de endereços não RFC 1918 precisam ser configurados como redes autorizadas.
Outra possibilidade é exigir que todas as conexões usem o Cloud SQL Proxy ou certificados SSL autogerenciados.
É preferível configurar sua instância com um IP privado ao se conectar a partir de um cliente em um recurso com acesso a uma VPC. Para mais informações sobre quais recursos podem usar IP particular, consulte Requisitos para IP particular. Para instruções sobre como adicionar um IP particular à sua instância, consulte Como configurar a conectividade de IP particular.
IP público
Um IP público é um endereço IPv4 ou IPv6 disponível externamente na Internet pública. Esse endereço pode receber conexões de dispositivos dentro e fora da rede do Google, inclusive de locais como sua casa ou seu escritório.
Para ajudar a manter a instância segura, todas as conexões a uma instância do Cloud SQL que usam um IP público precisam ser autorizadas com o proxy do Cloud SQL ou redes autorizadas.
A configuração da instância com um IP público é melhor quando você se conecta a partir de um cliente que não atende aos requisitos de uma VPC.
Para instruções sobre como adicionar um IP público à instância, consulte Como configurar a conectividade de IP público.
Opções de autorização
Cloud SQL Proxy
O proxy do Cloud SQL permite autorizar e proteger as conexões usando as permissões do gerenciamento de identidade e acesso (IAM). O proxy valida as conexões com as credenciais de um usuário ou uma conta de serviço e incorpora a conexão em uma camada SSL/TLS autorizada para uma instância do Cloud SQL. Para mais detalhes sobre como o proxy do Cloud SQL funciona, consulte Sobre o proxy do Cloud SQL.
Por ser o método mais seguro, é recomendável usar o Cloud SQL Proxy para autenticar conexões a uma instância do Cloud SQL.
O proxy cliente é uma biblioteca de código aberto (em inglês) distribuída como um binário executável. O proxy cliente atua como um servidor intermediário que detecta conexões de entrada, une-as em SSL/TLS e transmite para uma instância do Cloud SQL.
Além disso, algumas linguagens têm a opção de usar uma biblioteca de cliente. Use essas bibliotecas direto no ambiente da linguagem. Elas fornecem a mesma autenticação do proxy sem exigir um processo externo. Para começar, consulte as páginas a seguir:
Por fim, alguns ambientes, como o Cloud Run, o Cloud Functions e o App Engine, fornecem um mecanismo que se conecta usando o Cloud SQL Proxy. Para instruções sobre como se conectar usando esses ambientes, consulte uma das seguintes opções:
- Como conectar-se pelo Cloud Run
- Como conectar-se pelo Cloud Functions
- Como se conectar pelo ambiente padrão do App Engine
- Como se conectar pelo ambiente flexível do App Engine
- Como conectar-se pelo Google Kubernetes Engine
Certificados SSL/TLS autogerenciados
Em vez de usar o Cloud SQL Proxy para criptografar suas conexões, é possível configurar certificados SSL/TLS de cliente/servidor específicos para uma instância do Cloud SQL. Esses certificados são usados para validar o cliente/servidor e criptografar conexões entre eles.
É altamente recomendável usar certificados SSL/TLS autogerenciados para fornecer criptografia quando não estiver usando o Cloud SQL Proxy. Deixar de fazer isso significa que seus dados estão sendo transmitidos sem segurança e podem ser interceptados ou inspecionados por terceiros.
Para começar a usar certificados SSL/TLS autogerenciados, consulte Como autorizar com certificados SSL/TLS.
Redes autorizadas
A não ser que o Cloud SQL Proxy seja usado, as conexões com o endereço IP público de uma instância só serão permitidas se a conexão vier de uma rede autorizada. As redes autorizadas são endereços IP ou intervalos que o usuário especificou como tendo permissão para se conectar.
Para começar a usar as redes autorizadas, consulte Como autorizar com redes autorizadas.
Como gerenciar conexões de banco de dados
As conexões do banco de dados consomem recursos no servidor e no aplicativo conectado. Sempre use boas práticas de gerenciamento de conexão para minimizar o espaço ocupado pelo seu aplicativo e reduzir a probabilidade de exceder os limites de conexão do Cloud SQL. Para mais informações, consulte Como gerenciar conexões de banco de dados.
Opções de autenticação
A autenticação fornece controle de acesso verificando a identidade de um usuário. Para usuários finais, a autenticação é realizada quando o usuário insere credenciais (um nome de usuário e uma senha). Para aplicativos, a autenticação é realizada quando as credenciais de um usuário são atribuídas a uma conta de serviço.
O Cloud SQL usa a autenticação integrada do banco de dados que autentica usando um nome de usuário e uma senha. Para mais informações, consulte Como criar e gerenciar usuários do MySQL.
Ferramentas para se conectar
A tabela a seguir contém algumas opções para se conectar ao Cloud SQL:
Opção de conexão | Mais informações |
---|---|
Cloud SQL Proxy | |
Ferramenta de linha de comando gcloud |
|
Conectores de linguagem do Cloud SQL | |
Cloud Shell | |
Apps Script |
|
Conectar-se usando ferramentas de administração de banco de dados de terceiros | |
MySQL Workbench | |
Toad para MySQL | |
SQuirrel para SQL | |
phpAdmin |
Como conectar aplicativos com endereços IP atribuídos dinamicamente
Alguns aplicativos precisam se conectar à instância do Cloud SQL usando um endereço IP atribuído dinamicamente (temporário). Esse é o caso dos aplicativos Platform as a Service (PaaS), entre outros.
A melhor solução para esses aplicativos é se conectar por meio do proxy do Cloud SQL. Essa solução oferece o melhor controle de acesso para a instância.
Amostras de código
Você pode se conectar ao proxy por qualquer linguagem que permita se conectar a um soquete Unix ou TCP. Veja abaixo alguns snippets de código de exemplos completos no GitHub para ajudar você a entender como eles funcionam em conjunto no aplicativo.
Solução de problemas
Consulte a seção Conectividade na página Solução de problemas.
A seguir
- Aprenda a se conectar com o Guia de início rápido do Cloud SQL para MySQL.
- Conheça as práticas recomendadas para gerenciar conexões de banco de dados.
- Saiba mais sobre a autenticação do banco de dados do IAM.
- Saiba como conectar usando um cliente MySQL.
- Saiba como configurar a conectividade IP.
- Saiba como conectar com outras ferramentas MySQL.
- Conheça os conectores MySQL.
- Conheça o proxy.
- Conheça as opções de suporte.