Como conectar-se ao Cloud SQL usando aplicativos externos

Veja nesta página como estabelecer uma conexão com o Cloud SQL em um aplicativo executado fora do Google Cloud.

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.

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

A tabela a seguir compara as opções de conexão a uma instância do Cloud SQL a partir de um aplicativo externo:

Opção de conexão Protegida, criptografada? Mais informações Observações
Endereço IP público com SSL Sim Requer gerenciamento de certificado SSL.
Endereço IP público sem SSL Não Não recomendado para instâncias de produção.
Cloud SQL Proxy Sim
Imagem do Cloud SQL Proxy Docker Sim
Biblioteca de soquetes JDBC Sim Somente a linguagem de programação Java.
Biblioteca Go Proxy Sim Somente a linguagem de programação Go.
Cloud Shell Não Usa o Cloud SQL Proxy para se conectar a partir do Console do Google Cloud. Melhor opção para tarefas de administração que exigem a ferramenta de linha de comando mysql.
Apps Script Sim O Apps Script consegue se conectar a bancos de dados externos pelo serviço JDBC, um wrapper que usa a tecnologia Java Database Connectivity padrão.

Como se conectar a partir de um aplicativo externo usando proxy

Se estiver configurando o Cloud SQL Proxy para um ambiente de teste local (e não para produção), você poderá usar o Guia de início rápido do Proxy em vez de seguir estas instruções.

Se estiver usando as linguagem de programação Java ou Go, você terá algumas alternativas ao uso do Cloud SQL Proxy. Saiba mais.

1. Ative a API

Ative a API Cloud SQL Admin.

Ative a API

2. Instalar o cliente do proxy na máquina local

Linux de 64 bits

  1. Faça o download do proxy:
    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
    
  2. Torne o proxy executável:
    chmod +x cloud_sql_proxy
    

Linux de 32 bits

  1. Faça o download do proxy:
    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.386 -O cloud_sql_proxy
    
  2. Torne o proxy executável:
    chmod +x cloud_sql_proxy
    

macOS de 64 bits

  1. Faça o download do proxy:
    curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.amd64
    
  2. Torne o proxy executável:
    chmod +x cloud_sql_proxy
    

macOS de 32 bits

  1. Faça o download do proxy:
    curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.386
    
  2. Torne o proxy executável:
    chmod +x cloud_sql_proxy
    

Windows de 64 bits

Para fazer o download do proxy, clique com o botão direito em https://dl.google.com/cloudsql/cloud_sql_proxy_x64.exe e selecione Salvar link como. Renomeie o arquivo para cloud_sql_proxy.exe.

Windows de 32 bits

Para fazer o download do proxy, clique com o botão direito em https://dl.google.com/cloudsql/cloud_sql_proxy_x86.exe e selecione Salvar link como. Renomeie o arquivo para cloud_sql_proxy.exe.
Caso seu sistema operacional não esteja incluído aqui, compile o proxy pela origem (em inglês).

3. Determinar como você autenticará o proxy

Saiba mais sobre opções de autenticação do proxy.

4. Crie uma conta de serviço, caso seja exigido pelo método de autenticação

Caso queira usar uma conta de serviço para fornecer as credenciais ao proxy, você precisará criá-la com permissões suficientes. Se você estiver usando os papéis mais detalhados de gerenciamento de identidade e acesso (IAM) para gerenciar suas permissões do Cloud SQL, atribua à conta de serviço um papel que inclua a permissão cloudsql.instances.connect. Os papéis predefinidos do Cloud SQL que incluem essa permissão são os seguintes:

  • Cliente do Cloud SQL
  • Editor do Cloud SQL
  • Administrador do Cloud SQL

Se você estiver usando os papéis legados (visualizador, editor e proprietário) do projeto, a conta de serviço precisará ter pelo menos o papel de editor.

  1. Acesse a página Contas de serviço no Console do Google Cloud.

    Acessar a página "Contas de serviço"

  2. Selecione o projeto que contém a instância do Cloud SQL.
  3. Clique em Criar conta de serviço.
  4. Na caixa de diálogo Criar conta de serviço, forneça um nome descritivo para a conta.
  5. Em Papel, selecione um dos seguintes papéis:
    • Cloud SQL > Cliente do Cloud SQL
    • Cloud SQL > Editor do Cloud SQL
    • Cloud SQL > Administrador do Cloud SQL

    Como alternativa, é possível usar o papel básico de Editor ao selecionar Projeto > Editor. No entanto, ele inclui permissões em todo o Google Cloud.

    Caso não veja esses papéis, talvez o usuário do Google Cloud não tenha a permissão resourcemanager.projects.setIamPolicy. Para verificar suas permissões, acesse a página do IAM no Console do Google Cloud e pesquise seu ID de usuário.

  6. Altere o ID da conta de serviço para um valor exclusivo e facilmente reconhecível.
  7. Clique em Fornecer uma nova chave privada e confirme se o tipo de chave é JSON.
  8. Clique em Criar

    O arquivo da chave privada é transferido para sua máquina. Você pode movê-lo para outro local. Mantenha-o seguro.

5. Determinar como você especificará as instâncias para o proxy

Saiba mais sobre opções de especificação da instância do proxy.

6. Iniciar o proxy

As opções passadas para o proxy dependem das opções de autenticação e de especificação da instância escolhidas anteriormente.

Dependendo da linguagem e do ambiente, inicie o proxy usando os soquetes TCP ou Unix.

Soquetes TCP

  1. Copie o nome de conexão da instância da página Detalhes da instância.

    Por exemplo, myproject:myregion:myinstance.

  2. Se você estiver usando uma conta de serviço para autenticar o proxy, anote o local em que a chave privada foi criada na máquina cliente durante a criação da conta de serviço.
  3. Inicie o proxy.

    Algumas strings possíveis de chamada do proxy:

    • Usando autenticação do SDK do Cloud:
      ./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306
      
      A porta especificada não pode estar em uso, por exemplo, por um servidor de banco de dados local.
    • Usar uma conta de serviço e incluir explicitamente o nome da conexão da instância (recomendado para ambientes de produção):
      ./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306 \
                        -credential_file=<PATH_TO_KEY_FILE> &
      

    Para mais informações sobre as opções de proxy, consulte Opções para autenticar o proxy e Opções para especificar instâncias.

Soquetes Unix

  1. Se estiver usando a especificação explícita de instâncias, copie o nome de conexão da instância da página Detalhes da instância.
  2. Crie o diretório em que os soquetes do proxy ficarão:
    sudo mkdir /cloudsql; sudo chmod 777 /cloudsql
  3. Se você estiver usando uma conta de serviço para autenticar o proxy, anote o local em que a chave privada foi criada na máquina cliente durante a criação da conta de serviço.
  4. Abra uma nova janela de terminal e inicie o proxy.

    Algumas strings possíveis de chamada do proxy:

    • Usar uma conta de serviço e incluir explicitamente o nome da conexão da instância (recomendado para ambientes de produção):
      ./cloud_sql_proxy -dir=/cloudsql -instances=<INSTANCE_CONNECTION_NAME> \
                        -credential_file=<PATH_TO_KEY_FILE> &
    • Usando a autenticação do Cloud SDK e a descoberta automática de instância:
      ./cloud_sql_proxy -dir=/cloudsql &

    É melhor iniciar o proxy em seu próprio terminal, assim é possível monitorar as respostas dele sem misturá-las com as respostas de outros programas.

    Para mais informações sobre as opções de proxy, consulte Opções para autenticar o proxy e Opções para especificar instâncias.

  5. Ao usar um soquete Unix para se conectar ao Cloud SQL usando o Cloud SQL Proxy, verifique se comprimento do nome de arquivo do soquete não ultrapassa o limite do sistema. Depende do sistema, mas geralmente é entre 91 e 108 caracteres. No Linux, o tamanho geralmente é definido como 108. Use o seguinte comando para verificar:
    cat /usr/include/linux/un.h | grep "define UNIX_PATH_MAX"

7. Atualizar o aplicativo para se conectar ao Cloud SQL usando o proxy

A instrução do código exato obrigatória para usar o proxy na conexão com a instância do Cloud SQL depende da linguagem e da biblioteca usadas.

Você se conecta ao proxy da mesma maneira que faria a um soquete TCP ou Unix (dependendo de como invocou o proxy):

Soquetes TCP

Com soquetes TCP, o proxy está disponível como um host local:

127.0.0.1:3306

Soquetes Unix

Com soquetes Unix, o proxy permanece disponível usando o seguinte caminho:

PROXY_PATH/INSTANCE_CONNECTION_NAME;
Em que PROXY_PATH é o caminho para o diretório definido com a opção -dir quando você iniciou o proxy. Os exemplos nesta documentação usam /cloudsql. Encontre o nome de conexão da instância na página Detalhes da instância do Console do Google Cloud ou use PROJECT-ID:REGION:INSTANCE_NAME.

Precisa de ajuda? Para ajuda na solução de problemas com o proxy, consulte Como solucionar problemas nas conexões do Cloud SQL Proxy ou veja a página de suporte do Cloud SQL.

Informações e exemplos específicos da linguagem

Você pode se conectar ao proxy por qualquer linguagem que permita se conectar a um soquete Unix ou TCP. Abaixo estão algumas instruções de conexão e invocação de proxy de amostra para ajudar você a entender como elas funcionam juntas no aplicativo.

.NET

Após iniciar o proxy, edite o arquivo appsettings.json e defina uma string de conexão em CloudSql:ConnectionString. Por exemplo:

{
  "CloudSQL" : {
     ConnectionString": "Host=127.0.0.1;Uid=DATABASE_USER;Pwd=PASSWORD;Database=DATABASE_NAME"
  }
}

Em seguida, crie uma conexão de banco de dados no arquivo Startup.cs:

var connectionString = new MySqlConnectionStringBuilder(
    Configuration["CloudSql:ConnectionString"])
{
    // Connecting to a local proxy that does not support ssl.
    SslMode = MySqlSslMode.None,
};
DbConnection connection =
    new MySqlConnection(connectionString.ConnectionString);

Go

É possível usar o proxy o Cloud SQL com a linguagem de programação Go de duas maneiras:

  1. Usando a biblioteca proxy em Go.
  2. Executando o proxy como um processo complementar.

Biblioteca proxy em Go

A biblioteca é a maneira mais fácil de se conectar ao Cloud SQL com um programa Go, porque você não precisa iniciar explicitamente o proxy como o próprio processo.

import (
    "github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql"
)
...
cfg := mysql.Cfg(INSTANCE_CONNECTION_NAME, DATABASE_USER, PASSWORD)
cfg.DBName = DATABASE_NAME
db, err := mysql.DialCfg(cfg)

Para mais informações, consulte a página do GitHub sobre o Cloud SQL Proxy.

Processo complementar

Você também pode executar o proxy como um processo complementar e se conectar a ele de seu aplicativo.

As instruções de chamada de proxy abaixo usam autenticação do Cloud SDK por uma questão de brevidade, e a instrução de chamada pode variar, dependendo de como você se autentica e como especifica as instâncias. Consulte Opções para autenticar o Cloud SQL Proxy.

Soquetes TCP

Instrução de invocação de proxy:

./cloud_sql_proxy -instances=[INSTANCE_CONNECTION_NAME]=tcp:3306 &

Instrução de conexão:

import (
       "database/sql"
        _ "github.com/go-sql-driver/mysql"
)

dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s",
       DATABASE_USER,
       PASSWORD,
       "127.0.0.1:3306",
       DATABASE_NAME)
db, err := sql.Open("mysql", dsn)

Soquetes Unix

Instrução de chamada de proxy:

./cloud_sql_proxy -instances=[INSTANCE_CONNECTION_NAME] -dir=/cloudsql &

Instrução de conexão:

import (
       "database/sql"
        _ "github.com/go-sql-driver/mysql"
)

dsn := fmt.Sprintf("%s:%s@unix(/cloudsql/%s)/%s",
       DATABASE_USER,
       PASSWORD,
       INSTANCE_CONNECTION_NAME,
       DATABASE_NAME)
db, err := sql.Open("mysql", dsn)

Java

A linguagem de programação Java não fornece suporte integrado para soquetes Unix. É possível usar soquetes TCP ou uma biblioteca que ofereça suporte a soquetes Unix com o Cloud SQL Proxy, mas a maneira mais fácil de se conectar a uma instância do Cloud SQL sem adicionar endereços de rede autorizados é usar a fábrica de soquetes JDBC.

Assim como o Cloud SQL Proxy, a fábrica de soquetes JDBC oferece uma alternativa ao software de proxy do lado do cliente e exige que a API Cloud SQL Admin seja ativada. Essa fábrica oferece o mesmo nível de criptografia do proxy e se autentica com as credenciais do SDK do Cloud. É preciso instalar e autenticar o SDK do Cloud antes de usar a fábrica de soquete.

Consulte Cloud SQL Socket Factory para drivers JDBC (em inglês) para ver exemplos de código. Consulte o arquivo README para ver instruções.

PHP

PDO e TCP

Invoque o proxy:

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &

Os exemplos a seguir se conectam ao Cloud SQL usando objetos de dados PHP (PDO, na sigla em inglês):

// Use a Data source name (DSN) to connect to Cloud SQL through the proxy
$dsn = 'mysql:host=127.0.0.1;port=3306;dbname=DATABASE_NAME';
// Instantiate your DB using the DSN, username, and password
$dbUser = 'DATABASE_USER';
$dbPass = 'PASSWORD';
$db = new PDO($dsn, $dbUser, $dbPass);

Soquetes PDO e Unix

Invoque o proxy:

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &

Os exemplos a seguir se conectam ao Cloud SQL usando o PDO:

// Use a Data source name (DSN) to connect to Cloud SQL through the proxy
$dsn = sprintf('mysql:unix_socket=/cloudsql/INSTANCE_CONNECTION_NAME;dbname=DATABASE_NAME';
// Instantiate your DB using the DSN, username, and password
$dbUser = 'DATABASE_USER';
$dbPass = 'PASSWORD';
$db = new PDO($dsn, $dbUser, $dbPass);

mysqli e TCP

Invoque o proxy:

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &

Os exemplos a seguir se conectam ao Cloud SQL usando o mysqli:

// Instantiate your DB using the database host, port, name, username, and password
$dbName = 'DATABASE_NAME';
$dbUser = 'DATABASE_USER';
$dbPass = 'PASSWORD';
$mysqli = new mysqli('127.0.0.1', $dbUser, $dbPass, $dbName, 3306);

mysqli e soquetes Unix

Invoque o proxy:

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &

Os exemplos a seguir se conectam ao Cloud SQL usando o mysqli:

// Instantiate your DB using the database name, socket, username, and password
$dbName = 'DATABASE_NAME';
$dbUser = 'DATABASE_USER';
$dbPass = 'PASSWORD';
$dbSocket = '/cloudsql/INSTANCE_CONNECTION_NAME';
$mysqli = new mysqli(null, $dbUser, $dbPass, $dbName, null, $dbSocket);

Python

As instruções de chamada de proxy abaixo usam autenticação do Cloud SDK por uma questão de brevidade, e a instrução de chamada pode variar, dependendo de como você se autentica e como especifica as instâncias. Saiba mais.

PyMySQL e TCP

Chame o proxy:

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &

Instrução de conexão:

import pymysql
connection = pymysql.connect(host='127.0.0.1',
                             user='DATABASE_USER',
                             password='PASSWORD',
                             db='DATABASE_NAME')

PyMySQL e Unix

Chame o proxy:

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &

Instrução de conexão:

import pymysql
connection = pymysql.connect(unix_socket='/cloudsql/' + INSTANCE_CONNECTION_NAME,
                             user='DATABASE_USER',
                             password='PASSWORD',
                             db='DATABASE_NAME')

SQLAlchemy e TCP

Chame o proxy:

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &

Instrução de conexão:

from sqlalchemy import create_engine
  engine = create_engine('mysql+pymysql://DATABASE_USER:PASSWORD@127.0.0.1/DATABASE_NAME')

SQLAlchemy e Unix

Chame o proxy:

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &

Instrução de conexão:

from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://DATABASE_USER:PASSWORD@/DATABASE_NAME?unix_socket=/cloudsql/INSTANCE_CONNECTION_NAME')

Ruby

mysql2 e TCP

Invoque o proxy:

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &

Os exemplos a seguir se conectam ao Cloud SQL usando o RubyGem mysql2:

require "mysql2"
client = Mysql2::Client.new host: "127.0.0.1", port: 3306,
    database: "DATABASE_NAME", username: "DATABASE_USER",
    password: "PASSWORD"

>mysql2 e soquetes Unix

Chame o proxy:

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &

Os exemplos a seguir se conectam ao Cloud SQL usando o RubyGem mysql2:

require "mysql2"
client = Mysql2::Client.new socket: "/cloudsql/CONNECTION_NAME",
    database: "DATABASE_NAME", username: "DATABASE_USER",
    password: "PASSWORD"

Rails e TCP

Invoque o proxy:

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &

Em config/databases.yml, use a seguinte configuração:

mysql_settings: &mysql_settings
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: DATABASE_USER
  password: PASSWORD
  database: DATABASE_NAME
  host: 127.0.0.1:3306

Rails e soquetes Unix

Invoque o proxy:

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &

Em config/databases.yml, use a seguinte configuração:

mysql_settings: &mysql_settings
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: DATABASE_USER
  password: PASSWORD
  database: DATABASE_NAME
  socket: /cloudsql/INSTANCE_CONNECTION_NAME

Como configurar o acesso para conexões IP públicas

Conceda qualquer acesso ao aplicativo para uma instância do Cloud SQL autorizando os endereços IP públicos que o aplicativo usa para se conectar.

Não é possível especificar uma rede particular (por exemplo, 10.x.x.x) como uma rede autorizada.

Endereços IP públicos para instâncias do MySQL:

  • IPv6: as instâncias não são compatíveis com IPv6.
  • IPv4: as instâncias têm um endereço IPv4 estático atribuído automaticamente. Há uma pequena cobrança pelo endereço IP sempre que a instância é desativada.

Para configurar o acesso em conexões de IP públicas, siga estas instruções:

Console

  1. Determine o endereço IP do aplicativo. Saiba mais.
  2. Autorize o endereço IP do aplicativo para se conectar à sua instância.

    Para mais informações, consulte Como adicionar um endereço autorizado.

  3. Você pode encontrar o endereço IP atribuído à sua instância na página Detalhes da instância. Esse é o valor que você precisa para a string de conexão do aplicativo.

gcloud

  1. Determine o endereço IP da máquina cliente. Saiba mais.
  2. Autorize o endereço IP do aplicativo para se conectar à sua instância.

    Para mais informações, consulte Como adicionar um endereço autorizado.

  3. Recupere o endereço IP da instância:
    gcloud sql instances describe [INSTANCE_NAME]
    

    Na saída, encontre o campo ipAddress. Esse é o valor que você precisa para a string de conexão do aplicativo.

v1beta4 REST

  1. Determine o endereço IP do aplicativo. Saiba mais.
  2. Autorize o endereço IP do aplicativo para se conectar à sua instância.

    Para mais informações, consulte Como adicionar um endereço autorizado.

  3. Recupere o endereço IP da instância:

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

    {
      "kind": "sql#instance",
      "state": "RUNNABLE",
      "databaseVersion": "MYSQL_5_7",
      "settings": {
        "authorizedGaeApplications": [],
        "tier": "db-f1-micro",
        "kind": "sql#settings",
        "pricingPlan": "PER_USE",
        "replicationType": "SYNCHRONOUS",
        "activationPolicy": "ALWAYS",
        "ipConfiguration": {
          "authorizedNetworks": [],
          "ipv4Enabled": true
        },
        "locationPreference": {
          "zone": "asia-east1-a",
          "kind": "sql#locationPreference"
        },
        "dataDiskType": "PD_SSD",
        "backupConfiguration": {
          "startTime": "08:00",
          "kind": "sql#backupConfiguration",
          "enabled": true,
          "binaryLogEnabled": true
        },
        "settingsVersion": "13",
        "storageAutoResizeLimit": "0",
        "storageAutoResize": true,
        "dataDiskSizeGb": "10"
      },
      "etag": "etag-id",
      "ipAddresses": [
        {
          "type": "PRIMARY",
          "ipAddress": "10.0.0.1"
        }
      ],
      "serverCaCert": {
        "kind": "sql#sslCert",
        "certSerialNumber": "0",
        "cert": "certificate-id",
        "commonName": "C=US,O=Google\\, Inc,CN=Google Cloud SQL Server CA,dnQualifier=dn-qualifier-id",
        "sha1Fingerprint": "sha-id",
        "instance": "instance-id",
        "createTime": "2019-06-28T22:46:35.052Z",
        "expirationTime": "2029-06-25T22:47:35.052Z"
      },
      "instanceType": "CLOUD_SQL_INSTANCE",
      "project": "project-id",
      "serviceAccountEmailAddress": "service-acct-id@gcp-sa-cloud-sql.iam.gserviceaccount.com",
      "backendType": "SECOND_GEN",
      "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
      "connectionName": "project-id:region:instance-id",
      "name": "instance-id",
      "region": "asia-east1",
      "gceZone": "asia-east1-a"
    }
    

    Observe o valor de ipAddresses.ipAddress (para IPv4). Esse é o valor que você precisa para a string de conexão do aplicativo.

Precisa de ajuda? Para ajuda na solução de problemas com o proxy, consulte Como solucionar problemas nas conexões do Cloud SQL Proxy ou veja a página de suporte do Cloud SQL.

Como configurar o acesso para 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 plataforma como serviço (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.

Como testar sua conexão

Você pode usar o cliente MySQL para testar sua capacidade de se conectar do seu ambiente local. Para mais informações, consulte Como conectar o cliente MySQL usando endereços IP e Como conectar o cliente MySQL usando o proxy do Cloud SQL.

Precisa de ajuda? Para ajuda na solução de problemas com o proxy, consulte Como solucionar problemas nas conexões do Cloud SQL Proxy ou veja a página de suporte do Cloud SQL.

Como determinar o endereço IP do aplicativo

Para determinar o endereço IP de um computador que executa seu aplicativo com o objetivo de autorizar o acesso à sua instância do Cloud SQL desse endereço, use uma das seguintes opções:

  • Se o computador não estiver por trás de um proxy, faça login no computador e use este link para determinar o endereço IP.
  • Se o computador estiver por trás de um proxy, faça login no computador e use uma ferramenta ou serviço como whatismyipaddress.com para determinar o verdadeiro endereço IP.

A seguir