Para informações sobre como conectar um cliente psql a uma instância do Cloud SQL usando um IP público, consulte esta página.
Para mais informações sobre como o proxy funciona, consulte Sobre o Cloud SQL Proxy.
Antes de começar
Antes de conectar um psql a uma instância do Cloud SQL, é necessário:
Ativar a API Cloud SQL Admin
- Criar uma instância do Cloud SQL, incluindo a configuração do usuário padrão.
Para mais informações sobre como criar instâncias, consulte Como criar instâncias.
Para mais informações sobre como configurar o usuário padrão, consulte Como configurar a conta de usuário padrão.
- Instalar o cliente psql.
- Instalar e inicializar o Cloud SDK.
- Se necessário, instalar o cliente Docker.
Opções para autenticar o Cloud SQL Proxy
Todas essas opções usam um INSTANCE_CONNECTION_NAME como a string de conexão para identificar uma instância do Cloud SQL. Encontre o INSTANCE_CONNECTION_NAME na Visão geral da sua instância no Google Cloud Console ou executando o comando a seguir:
gcloud sql instances describe INSTANCE_NAME
Por exemplo, myproject:myregion:myinstance
.
Algumas dessas opções usam um arquivo de credenciais JSON que inclui a chave privada RSA da conta. Para instruções sobre como criar um arquivo de credenciais JSON para uma conta de serviço, consulte Como criar uma conta de serviço.
O Cloud SQL Proxy fornece várias alternativas para autenticação, dependendo do seu ambiente. O proxy verifica cada um dos itens a seguir, na ordem a seguir, usando o primeiro item encontrado para tentar autenticar:
Credenciais fornecidas pela sinalização credential_file.
Use uma conta de serviço para criar e fazer o download do arquivo JSON associado e defina a sinalização-credential_file
para o caminho do arquivo quando iniciar o Cloud SQL Proxy. A conta de serviço precisa ter as permissões necessárias para a instância do Cloud SQL.Para usar essa opção na linha de comando, invoque o comando
cloud_sql_proxy
com a sinalização-credential_file
definida para o caminho e o nome de um arquivo de credencial JSON. O caminho pode ser absoluto ou relativo ao diretório de trabalho atual. Exemplo:./cloud_sql_proxy -credential_file=PATH_TO_KEY_FILE -instances=INSTANCE_CONNECTION_NAME
Para instruções detalhadas sobre como adicionar papéis do IAM a uma conta de serviço, consulte Como conceder papéis a contas de serviço.
Para mais informações sobre os papéis compatíveis com o Cloud SQL, consulte Controle de acesso do projeto para o Cloud SQL.
Credenciais fornecidas por um token de acesso.
Crie um token de acesso e invoque o comentáriocloud_sql_proxy
com a sinalização-token
definida como um token de acesso do OAuth 2.0. Exemplo:./cloud_sql_proxy -token=ACCESS_TOKEN -instances=INSTANCE_CONNECTION_NAME
Credenciais fornecidas por uma variável de ambiente.
Essa opção é semelhante a usar a sinalização-credential_file
, mas, neste caso você especifica o arquivo de credencial JSON definido na variável de ambienteGOOGLE_APPLICATION_CREDENTIALS
, em vez de usar o argumento de linha de comando-credential_file
code>.Credenciais de um cliente autenticado do Cloud SDK.
Se você tiver instalado a ferramenta de linha de comando do Cloud e tiver autenticado sua conta pessoal, o Cloud SQL Proxy poderá usar as mesmas credenciais da conta. Esse método é especialmente útil para você usar um dos outros métodos de autenticação. ambiente de desenvolvimento em funcionamento. Para um ambiente de produção,Se nenhuma conta foi selecionada para
gcloud auth login
, o proxy verifica se há uma conta selecionada paragcloud application-default login
.Credenciais associadas à instância do Compute Engine
Se você estiver usando uma instância do Compute Engine para se conectar ao Cloud SQL, o proxy poderá usar a conta de serviço associada a essa instância. Se a conta de serviço tiver as permissões necessárias para a instância do Cloud SQL, o proxy será autenticado com êxito.Se a instância do Compute Engine estiver no mesmo projeto que a instância do Cloud SQL, a conta de serviço padrão da primeira terá as permissões necessárias para autenticar o proxy. Se as duas instâncias estiverem em projetos diferentes, adicione a conta de serviço da instância do Compute Engine ao projeto que contém a instância do Cloud SQL.
Conta de serviço padrão do ambiente
Se o proxy não conseguir encontrar credenciais em nenhum dos locais cobertos anteriormente, ele seguirá a lógica documentada em Como configurar a autenticação para aplicativos de produção de servidor para servidor. Alguns ambientes (como Compute Engine, App Engine e outros) fornecem uma conta de serviço padrão que o aplicativo pode usar para autenticar por padrão. Para usar uma conta de serviço padrão, ela precisa ter as permissões descritas em papéis e permissões. Para mais informações sobre a abordagem do Google Cloud para autenticação, consulte Visão geral da autenticação.
Crie uma conta de serviço
- Acesse a página Contas de serviço no Console do Google Cloud.
- Selecione o projeto que contém a instância do Cloud SQL.
- Clique em Criar conta de serviço.
- Na caixa de diálogo Criar conta de serviço, forneça um nome descritivo para a conta.
-
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
- Altere o ID da conta de serviço para um valor exclusivo e facilmente reconhecível.
-
Clique em Fornecer uma nova chave privada e confirme se o tipo de chave é
JSON
. - Clique em Criar
O arquivo da chave privada é transferido para sua máquina. Você pode movê-lo para outro local. Mantenha-o seguro.
Instalar o Cloud SQL Proxy
Linux de 64 bits
- Faça o download do proxy:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
- Torne o proxy executável:
chmod +x cloud_sql_proxy
Linux de 32 bits
- Faça o download do proxy:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.386 -O cloud_sql_proxy
- Torne o proxy executável:
chmod +x cloud_sql_proxy
macOS de 64 bits
- Faça o download do proxy:
curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.amd64
- Torne o proxy executável:
chmod +x cloud_sql_proxy
macOS de 32 bits
- Faça o download do proxy:
curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.386
- 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 paracloud_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 paracloud_sql_proxy.exe
.
Imagem de proxy do Docker
Por conveniência, a equipe do Cloud SQL mantém várias imagens de contêiner que contêm o Cloud SQL Proxy para uso pelos nossos clientes. Para mais informações sobre essas imagens, consulte o repositório do Cloud SQL Proxy no GitHub. É possível extrair a imagem mais recente na sua máquina local usando o Docker com o seguinte comando:docker pull gcr.io/cloudsql-docker/gce-proxy:1.19.1
Outros SOs
Para outros sistemas operacionais não incluídos aqui, compile o proxy a partir da fonte.Inicie o Cloud SQL Proxy
Dependendo da linguagem e do ambiente, é possível iniciar o proxy usando soquetes TCP, soquetes Unix ou a imagem do proxy do Docker. O binário de proxy se conecta a uma ou mais instâncias do Cloud SQL especificadas na linha de comando e abre uma conexão local como TCP ou um soquete Unix. Outros aplicativos e serviços, como o código do aplicativo ou as ferramentas de cliente de gerenciamento de banco de dados, podem se conectar a instâncias do Cloud SQL por meio dessas conexões de soquete TCP ou Unix.
Sockets TCP
Para conexões TCP, o proxy detecta em localhost
(127.0.0.1
) por padrão.
Portanto, quando você especifica tcp:PORT_NUMBER
para uma instância, a conexão local é em 127.0.0.1:PORT_NUMBER
.
Como alternativa, você pode especificar um endereço diferente para a conexão local.
Por exemplo, veja como fazer o proxy detectar a conexão local em 0.0.0.0:1234
:
./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:0.0.0.0:1234
Copie o INSTANCE_CONNECTION_NAME. Isso pode ser encontrado na página Visão geral da instância no Console do Google Cloud ou executando o seguinte comando:
gcloud sql instances describe INSTANCE_NAME
.Por exemplo, myproject:myregion:myinstance.
- Se a instância tiver IP público e particular configurados e você quiser que o
proxy use o endereço IP particular,
forneça a seguinte opção ao iniciar o proxy:
-ip_address_types=PRIVATE
- 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.
- 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:5432
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_NAM=tcp:5432 \ -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.
- Usando autenticação do SDK do Cloud:
Sockets Unix
O Cloud SQL Proxy também pode detectar em um soquete Unix, que é um mecanismo padrão do Posix para usar uma pasta para gerenciar a comunicação entre dois processos em execução no mesmo host. As vantagens de usar soquetes Unix são a segurança aprimorada e a latência menor. No entanto, não é possível acessar um soquete Unix de uma máquina externa.
Para criar e usar um soquete Unix, o diretório de destino precisa existir e o proxy e o aplicativo precisam ter acesso de leitura e gravação a ele.
- Se você estiver usando a especificação explícita de instâncias, copie a INSTANCE_CONNECTION_NAME. Isso pode
ser encontrado na página Visão geral da instância no
Console do Google Cloud ou executando o
seguinte comando: .
gcloud sql instances describe INSTANCE_NAME
.Por exemplo, myproject:myregion:myinstance.
- Crie o diretório em que os soquetes do proxy ficarão:
sudo mkdir /cloudsql; sudo chmod 777 /cloudsql
- 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.
- Abra uma nova janela de terminal e inicie o proxy.
Algumas strings possíveis de chamada do proxy:
- Usando uma conta de serviço e incluindo 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 você pode 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.
- Usando uma conta de serviço e incluindo explicitamente o nome da conexão
da instância (recomendado para ambientes de produção):
Imagem do proxy Docker
Para executar o Cloud SQL Proxy em um contêiner do Docker, use a imagem do Proxy Docker disponível no Google Container Registry.
Você pode iniciar o proxy usando soquetes TCP ou soquetes Unix, com os comandos mostrados abaixo. As opções usam uma INSTANCE_CONNECTION_NAME como a string de conexão para identificar uma instância do Cloud SQL. Encontre o INSTANCE_CONNECTION_NAME na Visão geral da sua instância no Google Cloud Console ou executando o comando a seguir:
gcloud sql instances describe INSTANCE_NAME.
Por exemplo, myproject:myregion:myinstance
.
Dependendo da linguagem e do ambiente, inicie o proxy usando os soquetes TCP ou Unix. Os soquetes Unix não são compatíveis com aplicativos desenvolvidos na linguagem de programação Java ou com o ambiente Windows.
Como usar soquetes TCP
docker run -d \\ -v PATH_TO_KEY_FILE:/config \\ -p 127.0.0.1:5432:5432 \\ gcr.io/cloudsql-docker/gce-proxy:1.19.1 /cloud_sql_proxy \\ -instances=INSTANCE_CONNECTION_NAME=tcp:0.0.0.0:5432 -credential_file=/config
Se você usa as credenciais fornecidas pela instância do Compute Engine, não inclua o parâmetro credential_file
e a linha -v PATH_TO_KEY_FILE:/config
.
Sempre especifique o prefixo 127.0.0.1
em "-p" para que o proxy não seja exposto fora do host local. O "0.0.0.0" no parâmetro das instâncias é necessário para tornar a porta acessível de fora do contêiner do Docker.
Como usar soquetes Unix
docker run -d -v /cloudsql:/cloudsql \\ -v PATH_TO_KEY_FILE:/config \\ gcr.io/cloudsql-docker/gce-proxy:1.19.1 /cloud_sql_proxy -dir=/cloudsql \\ -instances=INSTANCE_CONNECTION_NAME -credential_file=/config
Se você usa as credenciais fornecidas pela instância do Compute Engine, não inclua o parâmetro credential_file
e a linha -v PATH_TO_KEY_FILE:/config
.
Se você usa uma imagem otimizada para contêiner, utilize um diretório gravável em vez de /cloudsql
. Por exemplo:
-v /mnt/stateful_partition/cloudsql:/cloudsql
É possível especificar mais de uma instância, separadas por vírgulas. Também é possível usar metadados do Compute Engine para determinar dinamicamente a quais instâncias se conectar. Saiba mais sobre os parâmetros de proxy.
Outros argumentos de linha de comando
Os exemplos acima abrangem os casos de uso mais comuns, mas o Cloud SQL Proxy
também tem outras opções de configuração que podem ser definidas com argumentos de linha de
comando. Para receber ajuda sobre argumentos de linha de comando, use a sinalização -help
para ver a documentação mais recente:
./cloud_sql_proxy -help
Consulte o README no repositório do Cloud SQL Proxy no GitHub (em inglês) para ver outros exemplos de como usar as opções de linha de comando do Cloud SQL Proxy.
Conecte-se ao Cloud SQL Proxy
A string da conexão usada depende de como você iniciou o proxy: usando um soquete TCP, um soquete Unix ou o docker.
Sockets TCP
- Inicie o cliente psql:
psql "host=127.0.0.1 sslmode=disable dbname=DB_NAME user=USERNAME"
O proxy fornece uma conexão criptografada mesmo que o parâmetro
sslmode
esteja definido comodisable
.Quando você estabelece conexão usando soquetes TCP, o endereço de acesso do proxy é
127.0.0.1
. - Se solicitado, digite a senha.
- O prompt do psql é exibido.
Como usar soquetes Unix
- Inicie o cliente psql:
psql "sslmode=disable host=/cloudsql/INSTANCE_CONNECTION_NAME user=USERNAME"
O proxy fornece uma conexão criptografada mesmo que o parâmetro
sslmode
esteja definido comodisable
. - Digite a senha.
- O prompt do psql é exibido.
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.
Amostras de código específicas da linguagem
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.
Tópicos adicionais:
Como usar o proxy com IP particular
Para se conectar a uma instância do Cloud SQL usando o IP particular, o proxy precisa estar em um recurso com acesso à mesma rede VPC que a instância.
O proxy usa o IP para estabelecer uma conexão com a instância do Cloud SQL. Por padrão, o proxy tenta se conectar usando um endereço IPv4 público. Se sua instância do Cloud SQL tiver apenas IP particular, o proxy usará o endereço IP privado para se conectar.
Se a instância tiver IP público e particular configurados e você quiser que o proxy use o endereço IP particular, forneça a seguinte opção ao iniciar o proxy:
-ip_address_types=PRIVATE
Como executar o proxy em um processo separado
Executar o Cloud SQL Proxy em um processo de terminal separado pode ser útil para evitar misturar a saída do console com a saída de outros programas. Use a sintaxe mostrada abaixo para invocar o proxy em um processo separado.
Linux
No Linux ou no macOS, use um &
à direita na linha de comando para iniciar o proxy em um processo separado:
./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:PORT_NUMBER
-credential_file=PATH_TO_KEY_FILE &
Windows
No Windows PowerShell, use o comando Start-Process
para iniciar o proxy em um processo separado:
Start-Process -filepath "cloud_sql_proxy.exe"
-ArgumentList "-instances=INSTANCE_CONNECTION_NAME=tcp:PORT_NUMBER
-credential_file=PATH_TO_KEY_FILE"
Como executar o Cloud SQL Proxy em um contêiner do Docker
Para executar o Cloud SQL Proxy em um contêiner do Docker, use a imagem do Proxy Docker disponível no Google Container Registry.
Você pode instalar a imagem do Proxy Docker com este comando gcloud
:
docker pull gcr.io/cloudsql-docker/gce-proxy:1.19.1
Você pode iniciar o proxy usando soquetes TCP ou soquetes Unix, com os comandos mostrados abaixo.
Soquetes TCP
docker run -d \ -v PATH_TO_KEY_FILE:/config \ -p 127.0.0.1:5432:5432 \ gcr.io/cloudsql-docker/gce-proxy:1.19.1 /cloud_sql_proxy \ -instances=INSTANCE_CONNECTION_NAME=tcp:0.0.0.0:5432 \ -credential_file=/config
Soquetes Unix
docker run -d \ -v /PATH_TO_HOST_TARGET:/PATH_TO_GUEST_TARGET \ -v PATH_TO_KEY_FILE:/config \ gcr.io/cloudsql-docker/gce-proxy:1.19.1 /cloud_sql_proxy -dir=/cloudsql \ -instances=INSTANCE_CONNECTION_NAME -credential_file=/config/PATH_TO_KEY_FILE
Se você usa uma imagem otimizada para contêiner, utilize um diretório gravável em vez de /cloudsql
. Por exemplo:
-v /mnt/stateful_partition/cloudsql:/cloudsql
Se você usa as credenciais fornecidas pela instância do Compute Engine,
não inclua o parâmetro credential_file
e a
linha -v PATH_TO_KEY_FILE:/config
.
Como executar o Cloud SQL Proxy como um serviço
Executar o proxy como um serviço em segundo plano pode ser conveniente para desenvolvimento e teste locais. Quando você precisar acessar sua instância do Cloud SQL, poderá iniciar o serviço em segundo plano e interrompê-lo quando terminar.
- No momento, o Cloud SQL Proxy não é compatível com a execução como um serviço do Windows, mas os gerenciadores de serviço de terceiros podem ser usados para executá-lo como um serviço. Por exemplo, você pode usar o NSSM para configurar o proxy como um serviço do Windows. O NSSM monitora o proxy e o reinicia automaticamente se ele parar de responder. Consulte a documentação do NSSM para mais informações.
Dicas para trabalhar com o Cloud SQL Proxy
Invocação do Cloud SQL Proxy
Todas as invocações de proxy de exemplo iniciam o proxy em segundo plano. Assim, um prompt é retornado. É preferível reservar esse terminal para o proxy, a fim de evitar que a saída seja confundida com a saída de outros programas. Além disso, a saída do proxy pode ajudá-lo a diagnosticar problemas de conexão, portanto, pode ser útil capturá-la em um arquivo de registros. Se você não iniciar o proxy em segundo plano, a saída será stdout, a menos que seja redirecionada.
Não é necessário usar /cloudsql
como o diretório dos soquetes do proxy. Esse nome de diretório foi escolhido para minimizar as diferenças com as strings de conexão do App Engine. Porém, se você alterar o nome do diretório, mantenha um tamanho total mínimo, visto que é incorporado a uma string mais longa com limite de tamanho imposto pelo sistema operacional. 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"
Como usar o proxy para se conectar a várias instâncias
Você pode usar um cliente de proxy local para se conectar a várias instâncias do Cloud SQL. A maneira de fazer isso dependerá do uso de soquetes Unix ou TCP.
Sockets Unix
Para conectar o proxy a várias instâncias, forneça os nomes de conexão da instância com o parâmetro -instances, em uma lista separada por vírgulas e sem espaços. O proxy se conecta a cada instância quando é iniciado.
Conecte-se a cada instância usando o soquete correspondente no diretório especificado.
Exemplo:
./cloud_sql_proxy -dir=/cloudsql -instances=myProject:us-central1:myInstance,myProject:us-central1:myInstance2 & psql -U myUser -h /cloudsql/myProject:us-central1:myInstance2
Sockets TCP
Ao se conectar usando TCP, você especifica a porta na máquina que será usada para se conectar à instância. É necessário que cada instância tenha a própria porta. Por padrão, a ferramenta psql usa 5432, mas é possível especificar outra porta para ela.
Exemplo:
# Start the proxy for two instances, each with its own port: ./cloud_sql_proxy -instances=myProject:us-central1:myInstance=tcp:5432,myProject:us-central1:myInstance2=tcp:1234 # Connect to "myInstance" on port 5432, and "myInstance2" on port 1234 psql -U myUser -h 127.0.0.1 --port 5432 psql -U myUser -h 127.0.0.1 --port 1234
Invocações de proxy e strings de conexão do cliente psql
É possível usar invocações de proxy e strings de conexão, por exemplo, em comandos para um usuário do PostgreSQL myUser
, para a instância myInstance
, localizada em us-central1
, no projeto myProject
.
./cloud_sql_proxy -dir=/cloudsql & psql -U myUser -h /cloudsql/myProject:us-central1:myInstanceComo usar a descoberta do projeto com credenciais gcloud:
./cloud_sql_proxy -dir=/cloudsql -projects=myProject & psql -U myUser -h /cloudsql/myProject:us-central1:myInstancePara uma instância do Compute Engine, com especificação explícita da instância:
./cloud_sql_proxy -dir=/cloudsql -instances=myProject:us-central1:myInstance & psql -U myUser -h /cloudsql/myProject:us-central1:myInstancePara Unix, uso de TCP:
./cloud_sql_proxy -instances=myProject:us-central1:myInstance=tcp:5432 & psql -U myUser -h 127.0.0.1Para Windows (no prompt da linha de comando):
cloud_sql_proxy.exe -instances=myProject:us-central1:myInstance=tcp:5432 psql -U myUser -h 127.0.0.1
Para mais informações sobre opções e strings de conexão do Cloud SQL Proxy, consulte Página do Cloud SQL Proxy no GitHub.
Solução de problemas de conexões do Cloud SQL Proxy
A imagem do Proxy Docker é baseada em uma versão específica do Cloud SQL Proxy. Quando uma nova versão do Cloud SQL Proxy estiver disponível, extraia a nova versão da imagem do Proxy Docker para manter seu ambiente atualizado. Você pode ver qual é a versão atual na página de versões do Cloud SQL Proxy no GitHub.
Se você tiver problemas para se conectar à instância do Cloud SQL usando o Cloud SQL Proxy, tente estas opções para encontrar o motivo.
Verifique a saída do proxy.
Muitas vezes, a saída do proxy pode ajudá-lo a determinar a origem do problema e como solucioná-lo. Redirecione a saída para um arquivo ou observe o terminal onde você iniciou o proxy.
Se você estiver recebendo um erro
403 notAuthorized
e estiver usando uma conta de serviço para autenticar o proxy, verifique se a conta de serviço tem as permissões corretas.Você pode verificar a conta de serviço pesquisando pelo ID dela na página "IAM". A conta precisa ter a permissão
cloudsql.instances.connect
. Todos os papéis predefinidos do Cloud SQL têm essa permissão, excetoCloud SQL Viewer
. Além disso, os papéis de projeto legados deEditor
eOwner
têm a permissão necessária.Certifique-se de ativar a API Cloud SQL Admin.
Se não estiver, você verá uma saída como
Error 403: Access Not Configured
nos registros de proxy.Se você estiver incluindo várias instâncias na lista de instâncias, use a vírgula como delimitador, sem espaços. Se você estiver usando o TCP, especifique portas diferentes para cada instância.
Se você estiver se conectando usando soquetes UNIX, liste o diretório fornecido quando iniciou o proxy para confirmar se os soquetes foram criados.
Se você tiver uma política de firewall para o tráfego de saída, verifique se ela permite conexões com a porta 3307 na instância do Cloud SQL de destino.
A seguir
- Saiba mais sobre o proxy.
- Saiba mais sobre o Gerenciamento de identidade e acesso.
- Saiba mais sobre Contas de serviço.
- Saiba mais sobre os dois níveis de controle de acesso para instâncias do Cloud SQL.
- Crie usuários e bancos de dados.
- Saiba mais sobre como se conectar à instância pelo aplicativo.
- Saiba mais sobre o cliente psql (em inglês).
- Conheça as opções de suporte.