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
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Verifique se você tem as permissões necessárias para concluir este guia de início rápido.
-
Ative as APIs 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 seus recursos do Google Cloud diretamente no navegador. O Cloud Shell pode ser usado para executar os comandos
gcloudapresentados neste guia de início rápido.Execute o comando
gcloud services enableda 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.
Funções exigidas
Para receber as permissões necessárias para configurar o Cloud SQL com um endereço IP particular, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto que você quer configurar e conectar:
-
Criar ou excluir uma instância, um banco de dados e um usuário:
Função de administrador do Cloud SQL (
roles/cloudsql.admin). -
Criar ou excluir uma conta de serviço do IAM:
Papel de administrador da conta de serviço do IAM (
roles/iam.serviceAccountAdmin). -
Criar ou excluir uma instância de computação:
-
Função de administrador do Compute (
roles/compute.admin) -
Função de administrador de instâncias de computação (
roles/compute.instanceAdmin.v1).
-
Função de administrador do Compute (
-
Crie uma conexão:
-
Administrador da Rede de Serviço (
roles/servicenetworking.networksAdmin)) -
Administrador do Service Usage (
roles/serviceusage.serviceUsageAdmin).
-
Administrador da Rede de Serviço (
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
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 em Google Cloud ou no mesmo projeto 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 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 nameda 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.
Para criar uma instância que usa conexões de IP particular, faça o seguinte:
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Selecione a guia "PostgreSQL" e clique em Criar instância do Sandbox na caixa Sandbox. Como alternativa, clique em Criar instância e faça o seguinte:
- Clique em Escolher PostgreSQL.
- Selecione a edição Enterprise.
- Escolha a predefinição Sandbox.
- 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.
- Selecione Acesso a serviços particulares (PSA).
- No menu suspenso Rede VPC, selecione padrão.
- Se você estiver usando um novo projeto, a mensagem A conexão de rede não está configurada vai aparecer, e uma caixa intitulada Confirmação de configuração de rede necessária vai direcionar você para Documentação da VPC para configurar o PSA.
- No console do Google Cloud , acesse a página Redes VPC:
- Selecione a rede VPC padrão.
- Defina uma regra de firewall que permita o acesso à porta TCP 22:
- Selecione a guia Firewall.
- Em Regras de firewall da VPC, selecione Criar regra de firewall da VPC.
- Dê um nome à regra de firewall.
- Em Destinos, selecione Todas as instâncias na rede.
- Em Intervalos IPv4 de origem, insira
0.0.0.0/0. - Em Protocolos e portas, marque TCP e, na caixa Portas logo abaixo, insira
22. - Selecione Criar.
- Alocar um intervalo de endereços IP:
- Selecione a guia Acesso a serviços particulares.
- Na guia Acesso a serviços particulares, selecione a guia Intervalos de IP alocados para serviços.
- Clique em Alocar intervalo de IP.
- Insira um Nome e, opcionalmente, uma Descrição para o intervalo alocado.
- Para permitir que o Google selecione um intervalo disponível, selecione Automático.
- Insira um comprimento de prefixo entre
16e 124. O número de endereços alocados é igual a 2 elevado a (32 - comprimento do prefixo). - Clique em Alocar para criar o intervalo alocado.
- Criar uma conexão particular:
- Na guia Acesso a serviços particulares, mude para a guia Conexões particulares com serviços.
- Clique no botão Criar conexão.
- No menu suspenso Alocação atribuída da caixa Criar uma conexão particular, selecione o nome do intervalo de endereços IP que você acabou de criar.
- Clique em Conectar.
- Quando a conexão for criada, volte para onde você estava criando a instância do Cloud SQL e clique em Confirmar conexão.
- Quando a conexão do PSA for criada, clique em Criar instância.
Você será levado para a página de visão geral da instância enquanto a nova instância é criada.
Depois que a criação da instância for concluída, role até a seção Conectar-se a esta instância e salve o Nome da conexão da instância.
O connection name está no formato projectID:region:instanceID.
Você vai usar esse connection name mais tarde ao iniciar o proxy de autenticação do Cloud SQL.
Criar um banco de dados
Para criar um banco de dados, selecione Bancos de dados no painel de navegação à esquerda e faça o seguinte:
- 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
Siga estas etapas para criar uma VM:
-
No console do Google Cloud , acesse a página Instâncias de VM.
- Clique em Criar instância.
- Digite um Nome para a instância.
- Selecione Proteção de dados no painel de navegação e clique em Nenhum backup.
- Selecione Segurança no painel de navegação e, 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
pwdpara 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 as etapas abaixo.
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Selecione a instância do
myinstancepara 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 VM.
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 Google Cloud :