Conectar-se a uma instância do Cloud SQL para PostgreSQL com IP particular

Nesta página, mostramos como criar e se conectar a uma instância do PostgreSQL usando um IP particular. Os recursos criados neste guia de início rápido normalmente custam menos do que um dólar, supondo que você conclua as etapas, incluindo a limpeza, em tempo hábil.


Para seguir as instruções detalhadas desta tarefa diretamente no console do Google Cloud, clique em Orientação:

Orientações


Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Ative as APIs do Google Cloud necessárias.

    Console

    No console do Google Cloud, acesse a página APIs.

    Acesse APIs

    Ative a API Cloud SQL Admin. Ao ativar essa API, é possível executar o proxy do Cloud SQL Auth.

    gcloud

    Clique no botão a seguir para abrir o Cloud Shell, que fornece acesso de linha de comando aos recursos do Google Cloud diretamente no navegador. O Cloud Shell pode ser usado para executar os comandos gcloud apresentados neste guia de início rápido.

    Abra o Cloud Shell

    Execute o comando gcloud services enable da seguinte maneira usando o Cloud Shell para ativar as APIs necessárias para este guia de início rápido:

    gcloud services enable sqladmin.googleapis.com

    Esse comando ativa as seguintes APIs:

    • API Cloud SQL Admin. Ao ativar essa API, é possível executar o proxy do Cloud SQL Auth.

Visão geral

Há muitas maneiras de se conectar a uma instância do Cloud SQL com um endereço IP particular, dependendo de onde a origem está localizada. O principal fator é que a máquina de origem precisa estar na mesma rede VPC que a instância do Cloud SQL. Se a origem não estiver no Google Cloud ou no mesmo projeto do Google Cloud, será necessário configurar a conectividade de maneira diferente da mostrada aqui.

Neste guia de início rápido, configuramos a conectividade pelo caminho mais direto. A origem e o destino estão no mesmo projeto do Google Cloud e na mesma rede VPC. Criamos uma instância do Cloud SQL com um endereço IP particular (o destino) e uma VM do Compute Engine (a origem). Usamos a VM para instalar e usar as ferramentas necessárias para se conectar da VM à instância do Cloud SQL.

Execute estas ações:

  1. Crie um banco de dados do Cloud SQL com um endereço IP particular.

    Encontre e salve o connection name da instância para uso posterior.

  2. Crie uma VM do Compute Engine.
  3. Abra duas conexões SSH com a VM do Compute Engine.

    Você usará a primeira janela para instalar o psql e instalar e iniciar o proxy do Cloud SQL Auth. Depois, use a segunda janela para se conectar à instância do Cloud SQL conectando-se ao proxy do Cloud SQL Auth.

  4. Na janela SSH 1, faça o seguinte:
    1. Instale o cliente psql.
    2. Instalar o proxy do Cloud SQL Auth.

      O proxy do Cloud SQL Auth atua como um conector entre o cliente psql e a instância do Cloud SQL.

    3. Inicie o proxy do Cloud SQL Auth.

      Se tudo der certo, o proxy do Cloud SQL Auth detectará solicitações de conexão.

  5. Na janela SSH 2, conecte-se à instância do Cloud SQL fazendo com que o cliente psql se conecte ao proxy do Cloud SQL Auth.

    Se tudo der certo, você verá o prompt psql nessa janela e uma mensagem de conexão na janela SSH 1, em que o proxy do Cloud SQL Auth estará em execução.

  6. Limpeza.

Criar uma instância do Cloud SQL com um endereço IP particular.

  1. No Console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Clique em Criar instância.
  3. Clique em Escolher PostgreSQL.
  4. Se você receber uma solicitação para ativar a API Compute, clique no botão Ativar API.
  5. Na seção Informações da instância, insira um nome para o ID da instância.
  6. Insira uma senha para o usuário postgres. Anote a senha criada porque você precisará dela mais tarde.
  7. Na seção Escolher região e disponibilidade por zona, selecione a opção Zona única.
  8. Expanda Mostrar opções de configuração.
  9. Expanda Conexões.
  10. Desmarque IP público.
  11. Selecione IP privado.
  12. Na menu suspenso Rede, selecione padrão.
  13. Se você estiver usando um novo projeto, a mensagem Conexão de serviço particular necessária será exibida. Em seguida:
    1. Clique em Configurar conexão.
    2. Clique em Ativar API Service Networking.
    3. Na seção Alocar um intervalo de IP, selecione Usar um intervalo de IP alocado automaticamente.
    4. Clique em Continuar.
    5. Clique em Criar conexão e aguarde a conclusão da criação da conexão.
  14. Clique em Criar instância.

A página "Visão geral" da instância será aberta. Clique na nova instância para visualizar os detalhes, incluindo o endereço IP privado.

Na seção Conectar-se a esta instância, copie e salve o Nome da conexão da instância. O connection name estará no formato projectID:region:instanceID.

Você usará este connection name mais tarde ao iniciar o proxy do Cloud SQL Auth.

Criar um banco de dados

Volte à página "Visão geral" da instância e selecione o item de menu Bancos de dados.

  • Selecione Criar banco de dados.
  • Insira um DB_NAME no campo Nome do banco de dados.
  • Clique em Criar.

Você vai usar esse db_name mais tarde ao se conectar usando o proxy do Cloud SQL Auth.

Criar uma VM do Compute Engine

  1. No console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar instâncias de VM

  2. Clique em Criar instância.
  3. Digite um Nome para a instância.
  4. Em Escopos de acesso, selecione Permitir acesso total a todas as APIs do Cloud.
  5. Clique em Criar e aguarde a conclusão da criação da VM.

Abra duas conexões SSH com a VM do Compute Engine

Duas janelas são usadas na VM. A primeira janela é usada para instalar o cliente psql e o proxy do Cloud SQL Auth, conseguir o nome da conexão da instância e usar esse nome para iniciar o proxy. A segunda janela é usada para se conectar à instância do Cloud SQL pelo proxy.

  1. Expanda o menu SSH na coluna Conectar da instância de VM do Compute Engine.
  2. Selecione Abrir na janela do navegador para abrir a janela SSH 1.

    Pode levar alguns segundos para que o prompt na janela fique disponível para você.

  3. Quando solicitado, insira pwd para verificar se você está no diretório /home/$USER.

    Além de instalar o cliente psql e o proxy do Cloud SQL Auth nesta janela, você iniciará o proxy do Cloud SQL Auth.

  4. Selecione Abrir na janela do navegador novamente para abrir a janela SSH 2.

    Você usará essa janela para se conectar à sua instância do Cloud SQL.

Instalar o cliente psql

Use a janela SSH 1 nesta etapa.

Instale o cliente psql do gerenciador de pacotes:

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

Instalar o proxy do Cloud SQL Auth

Use a janela SSH 1 nesta etapa.

  1. Instale wget:
    sudo apt-get install wget
        
  2. Faça o download do proxy do Cloud SQL Auth:
    wget https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.8.2/cloud-sql-proxy.linux.amd64 \
    -O cloud-sql-proxy
      
  3. Torne o proxy do Cloud SQL Auth executável:
    chmod +x cloud-sql-proxy
      

Inicie o proxy do Cloud SQL Auth.

Use a janela SSH 1 nesta etapa.

Inicie o proxy do Cloud SQL Auth para poder monitorar a saída. Substitua INSTANCE_CONNECTION_NAME pelo connection name copiado ao criar a instância do Cloud SQL.

./cloud-sql-proxy --private-ip INSTANCE_CONNECTION_NAME

Quando o proxy do Cloud SQL Auth for iniciado, uma mensagem semelhante à seguinte será exibida na janela SSH:

Listening on 127.0.0.1:5432 for myInstance
Ready for new connections

Conectar-se à sua instância do Cloud SQL

Use a janela SSH 2 nesta etapa.

Execute o seguinte comando depois de substituir DB_NAME pelo nome do banco de dados do Cloud SQL:

psql "host=127.0.0.1 port=5432 sslmode=disable dbname=DB_NAME user=postgres"

No prompt "Inserir senha", insira a senha da conta do PostgreSQL.

Verifique se o prompt do PostgreSQL é exibido. Você se conectou ao banco de dados usando o cliente psql.

Volte para a janela do terminal em que você iniciou o proxy do Cloud SQL Auth. Você verá uma mensagem semelhante a esta:

New connection for myInstance

Limpar

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Selecione a instância do myinstance para abrir a página Detalhes da instância.
  3. Na barra de ícones na parte superior da página, clique em Excluir.
  4. Na janela Excluir instância, digite o nome da instância e clique em Excluir.

Etapas de limpeza opcionais

Se você não estiver usando as APIs que foram ativadas como parte deste guia de início rápido, é possível desativá-las.

  • APIs que foram ativadas neste guia de início rápido:
    • API Cloud SQL Admin
  1. No console do Google Cloud, acesse a página APIs.

    Acesse APIs

  2. Selecione a API Cloud SQL Admin e clique no botão Desativar API.

  3. No console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar instâncias de VM

  4. Selecione o nome da instância.

  5. Selecione Excluir no menu Mais ações.

A seguir

Com base nas suas necessidades, é possível saber mais sobre como criar instâncias do Cloud SQL.

Também é possível aprender a criar usuários do PostgreSQL e bancos de dados para sua instância do Cloud SQL.

Além disso, é possível aprender a se conectar a uma instância do Cloud SQL usando outros aplicativos do Google Cloud, como: