Conectar o cliente psql usando o Cloud SQL Proxy

Nesta página, você verá como conectar um cliente psql à sua instância do Cloud SQL usando o Cloud SQL Proxy, em vez de IP.

Para informações sobre a conexão de um cliente psql a uma instância do Cloud SQL por IP, consulte Conexão de cliente psql usando endereços IP.

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:

Como conectar o cliente psql

Conectar um psql à instância do Cloud SQL com o proxy envolve as seguintes etapas:

  1. Ativar a Cloud SQL API
  2. Instalar o proxy
  3. Criar uma conta de serviço
  4. Iniciar o proxy
  5. Iniciar a sessão do psql

1. Ativar a API

Ativar Cloud SQL Admin API.

Ativar a API

2. Instalar o proxy

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

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

Windows de 32 bits

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

3. Criar uma conta de serviço

Quando você se conecta usando o proxy, ele precisa se autenticar no Google Cloud Platform. Use as credenciais do Cloud SDK ou forneça ao proxy um caminho para um arquivo de chave local de uma conta de serviço que você tenha criado (recomendado para instâncias de produção). Ignore essa etapa se você estiver usando as credenciais do Cloud SDK.

Para mais informações sobre contas de serviço, consulte o Guia de autenticação do Google Cloud Platform.

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

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

  2. Se necessário, 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

    Também é possível usar o papel primitivo de editor ao selecionar Projeto > Editor. No entanto, ele inclui permissões em todo o Google Cloud Platform.

    Se esses papéis não estiverem sendo exibidos, é provável que seu usuário do Google Cloud Platform não tenha a permissão resourcemanager.projects.setIamPolicy. Para verificar suas permissões, acesse a página "IAM" no Console do Google Cloud Platform e procure seu código de usuário.

  6. Altere o código da conta de serviço com um valor exclusivo que você reconhecerá para que possa facilmente encontrar essa conta de serviço mais tarde, se necessário.
  7. Clique em Fornecer uma nova chave privada.
  8. O tipo de chave padrão é JSON, que é o valor correto a ser usado.
  9. Clique em Criar.

    O arquivo da chave privada é transferido para sua máquina. Você pode movê-lo para outro local. Guarde-o com segurança.

4. Iniciar o proxy

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:us-central1: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:5432
      
      A porta especificada não pode estar em uso, por exemplo, por um servidor de banco de dados local.
    • Usando uma conta de serviço e a especificação explícita de uma instância (recomendado para ambientes de produção):
      ./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=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.

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:

    • Usando uma conta de serviço e a especificação explícita de uma 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 SDK do Cloud e a descoberta automática de instâncias:
      ./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.

5. Iniciar a sessão cliente

Agora que você instalou e iniciou o proxy, pode iniciar uma sessão do psql usando o proxy. Esse comando pode ser usado sempre que você quiser se conectar à instância do Cloud SQL com um cliente psql.

A inicialização do proxy usando um soquete TCP ou UNIX determina a string de conexão a ser usada.

Soquetes TCP

  1. Inicie o cliente psql:
    psql "host=127.0.0.1 sslmode=disable dbname=<DB_NAME> user=<USER_NAME>"
    

    Mesmo que o parâmetro sslmode esteja definido como disable, o proxy fornece uma conexão criptografada.

    Quando você estabelece a conexão com soquetes TCP, o endereço de acesso do proxy é 127.0.0.1.

  2. Digite a senha.
  3. Aparecerá o prompt do psql.

Soquetes Unix

  1. Inicie o cliente psql:
    psql "sslmode=disable host=/cloudsql/<INSTANCE_CONNECTION_NAME> user=<USERNAME>"
    

    Mesmo que o parâmetro sslmode esteja definido como disable, o proxy fornece uma conexão criptografada.

  2. Digite a senha.
  3. Aparecerá o prompt do psql.

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 consulte a página de suporte do Cloud SQL.

Próximas etapas

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Cloud SQL para PostgreSQL