Como se conectar ao cliente psql usando um IP público

Nesta página, mostramos como conectar um cliente psql à sua instância do Cloud SQL executando localmente na máquina do seu cliente ou no Cloud Shell.

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.

Antes de começar

Antes de começar a usar um cliente, é preciso:

Como usar um cliente local

Usar um cliente local para se conectar à instância do Cloud SQL envolve três tarefas de alto nível:

  1. Instalar o cliente.
  2. Configurar o acesso à instância do Cloud SQL.
  3. Conectar à instância do Cloud SQL.

Instalar o cliente

Para instalar o cliente:

Debian/Ubuntu

Instale o cliente psql do gerenciador de pacotes:

sudo apt-get update
sudo apt-get install postgresql-client

CentOS/RHEL

Instale o cliente psql do gerenciador de pacotes:

sudo yum install postgresql

openSUSE

Instale o cliente psql do gerenciador de pacotes:

sudo zypper install postgresql

Outras plataformas

  1. Faça o download do PostgreSQL Core Distribution referente à sua plataforma na página de downloads do PostgreSQL (em inglês).
    O Core Distribution inclui o cliente psql.
  2. Instale o banco de dados PostgreSQL de acordo com as orientações contidas na página de download.

Configurar o acesso à instância do Cloud SQL

Para configurar o acesso à instância:

  1. Na máquina cliente, use Qual é meu IP para consultar o endereço IP.
  2. Copie esse endereço IP.
  3. Acesse a página "Instâncias" do Cloud SQL no Console do Google Cloud.

    Acessar a página "Instâncias" do Cloud SQL

  4. Clique na instância para abrir a página Visão geral correspondente e registre o endereço IP.
  5. Selecione a guia Conexões.
  6. Em Redes autorizadas, clique em Adicionar rede e insira o endereço IP da máquina em que o cliente está instalado.
  7. Clique em Concluído e, em seguida, em Salvar na parte inferior da página para salvar as mudanças.
  8. Conecte-se à instância com SSL ou sem SSL.

Conectar-se à instância do Cloud SQL sem criptografia

Para se conectar à instância:

  1. Verifique se você instalou o cliente e configurou o acesso à instância.
  2. Inicie o cliente psql:
    psql "sslmode=disable dbname=postgres user=postgres hostaddr=[INSTANCE_IP]"
    
  3. Digite sua senha.
  4. O prompt do psql é exibido.

Conectar-se à instância do Cloud SQL usando SSL

Para se conectar usando SSL, será preciso:

  • um certificado de autoridade de certificação (CA) em um arquivo server-ca.pem;
  • um certificado de chave pública do cliente em um arquivo client-cert.pem;
  • uma chave privada do cliente em um arquivo client-key.pem.

Se você não tiver um certificado do cliente e uma chave privada correspondente, crie um novo certificado do cliente.

Antes de começar, confirme se você instalou o cliente e configurou o acesso à instância.

Para conectar-se à instância usando SSL:

  1. Inicie o cliente psql:
    psql "sslmode=verify-ca sslrootcert=server-ca.pem \
          sslcert=client-cert.pem sslkey=client-key.pem \
          hostaddr=[INSTANCE_IP] \
          user=postgres dbname=[DB_NAME]"
    

    Exemplo:

    psql "sslmode=verify-ca sslrootcert=server-ca.pem \
          sslcert=client-cert.pem sslkey=client-key.pem \
          hostaddr=01.23.45.67 \
          user=postgres dbname=postgres"
    

    Um modo SSL de verify-full não é obrigatório. verify-ca é suficiente porque a CA é específica da instância.

    Talvez também seja útil criar um arquivo de serviço de conexão para gerenciar seus parâmetros de conexão, especialmente se você estiver se conectando a mais de uma instância. Para mais informações, consulte a documentação do PostgreSQL (em inglês).

  2. Digite a senha.
  3. É possível confirmar se a conexão foi criptografada procurando o código nas informações de conexão:
    SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
    

Como usar o cliente no Cloud Shell

  1. Acesse o Console do Google Cloud.

    Acessar o Console do Google Cloud

  2. Clique no ícone do Cloud Shell à direita da barra de ferramentas.

    O Cloud Shell leva alguns instantes para inicializar.

  3. No prompt do Cloud Shell, use o cliente integrado para se conectar à instância do Cloud SQL:
    gcloud sql connect [INSTANCE_ID] --user=postgres
    
  4. Digite sua senha.

O grupo de comandos gcloud sql não é compatível com a conexão a uma instância do Cloud SQL que use SSL/TLS.

A seguir