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:
Antes de começar
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Ative as APIs do Google Cloud necessárias.
Console
No console do Google Cloud, acesse a página 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.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:
- 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. - Crie uma VM do Compute Engine.
- 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.
- Na janela SSH 1, faça o seguinte:
- Instale o cliente psql.
- 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.
- Inicie o proxy do Cloud SQL Auth.
Se tudo der certo, o proxy do Cloud SQL Auth detectará solicitações de conexão.
- 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.
- Limpeza.
Criar uma instância do Cloud SQL com um endereço IP particular.
-
No Console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Clique em Criar instância.
- Clique em Escolher PostgreSQL.
- Se você receber uma solicitação para ativar a API Compute, clique no botão Ativar API.
- Na seção Informações da instância, insira um nome para o ID da instância.
- Insira uma senha para o usuário postgres. Anote a senha criada porque você precisará dela mais tarde.
- Na seção Escolher região e disponibilidade por zona, selecione a opção Zona única.
- Expanda Mostrar opções de configuração.
- Expanda Conexões.
- Desmarque IP público.
- Selecione IP privado.
- Na menu suspenso Rede, selecione padrão.
- Se você estiver usando um novo projeto, a mensagem Conexão de serviço particular necessária será exibida. Em seguida:
- Clique em Configurar conexão.
- Clique em Ativar API Service Networking.
- Na seção Alocar um intervalo de IP, selecione Usar um intervalo de IP alocado automaticamente.
- Clique em Continuar.
- Clique em Criar conexão e aguarde a conclusão da criação da conexão.
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
-
No console do Google Cloud, acesse a página Instâncias de VMs.
- Clique em Criar instância.
- Digite um Nome para a instância.
- Em Escopos de acesso, selecione Permitir acesso total a todas as APIs do Cloud.
- 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.
- Expanda o menu SSH na coluna Conectar da instância de VM do Compute Engine.
- 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ê.
- 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.
- 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.
- Instale
wget
:sudo apt-get install wget
- 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
- 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.
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Selecione a instância do
myinstance
para abrir a página Detalhes da instância. - Na barra de ícones na parte superior da página, clique em Excluir.
- 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
No console do Google Cloud, acesse a página APIs.
Selecione a API Cloud SQL Admin e clique no botão Desativar API.
No console do Google Cloud, acesse a página Instâncias de VMs.
Selecione o nome da instância.
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: