Como se conectar usando um cliente de banco de dados a partir de uma máquina local ou do Compute Engine

Esta página descreve como conectar um psql cliente à instância do Cloud SQL, seja em execução local na máquina cliente, em uma VM do Compute Engine ou no Cloud Shell.

Antes de começar

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

Como usar um cliente em uma máquina local ou em uma VM do Compute Engine

Usar um cliente psql 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 de cliente ou na instância de VM do Compute Engine, use Qual é meu IP para consultar o endereço IP.
  2. Copie esse endereço IP.
  3. No Console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  4. Clique no nome da instância para abrir a página Visão geral correspondente.
  5. Selecione Conexões no menu de navegação do SQL.
  6. Na seção 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. A senha é obrigatória para o Cloud SQL, mesmo que o PostgreSQL seja compatível com a conectividade sem senha ao usar o SSL.
  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

Para se conectar a uma instância do Cloud SQL (somente IP público), siga estas instruções:

  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 comando gcloud sql connect não aceita conexão com uma instância do Cloud SQL usando IP privado ou o SSL/TLS. Para se conectar com criptografia, instale e use o proxy no Cloud Shell:

  1. Instale o proxy (Linux 64 bits) no diretório /home/USER.
  2. Inicie o proxy usando a autenticação do SDK do Cloud:

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

  3. Conecte-se ao banco de dados usando a conexão TCP:

    psql -U USERNAME --host=127.0.0.1

A seguir

Faça um teste

Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho do Cloud SWL em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.

Faça uma avaliação gratuita do Cloud SQL