Conectar-se ao Cloud SQL para PostgreSQL pelo Compute Engine

Saiba como implantar um aplicativo de amostra em sua instância de VM do Compute Engine baseada em Linux ou Windows conectada a uma instância do PostgreSQL usando o console do Google Cloud e um aplicativo de cliente.

Supondo que você conclua todas as etapas em tempo hábil, os recursos criados neste guia de início rápido normalmente custam menos de um dólar (USD).

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. Ativar as APIs do Cloud necessárias para executar um app de amostra do Cloud SQL em uma instância de VM do Compute Engine.

    Console

    Clique no botão Ativar APIs para ativar as APIs necessárias para este guia de início rápido.

    Ative as APIs

    Isso ativa a seguinte API:

    • API Cloud SQL Admin

    gcloud

    Instale a CLI gcloud, que fornece acesso de linha de comando aos recursos do Google Cloud. A CLI gcloud é usada para executar os comandos gcloud CLI apresentados neste guia de início rápido. Todos os comandos são formatados para serem executados em um terminal ou uma janela do PowerShell.

    Execute o seguinte comando gcloud:

    gcloud services enable sqladmin.googleapis.com

    Este comando ativa a seguinte API:

    • API Cloud SQL Admin

Configurar o Cloud SQL

crie uma instância do Cloud SQL

Crie um banco de dados

Console

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

    Acesse Instâncias do Cloud SQL

  2. Selecione quickstart-instance.
  3. Abra a guia Bancos de dados.
  4. Clique em Criar banco de dados.
    1. Na caixa de diálogo Novo banco de dados, insira quickstart_db como o nome do banco de dados.
    2. Clique em Criar.

gcloud

Execute o comando gcloud sql databases create para criar um banco de dados.

gcloud sql databases create quickstart_db --instance=quickstart-instance

Criar um usuário

Console

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

    Acesse "Instâncias do Cloud SQL"

  2. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  3. Selecione Usuários no menu de navegação do SQL.
  4. Clique em Adicionar conta de usuário.
  5. Na página Adicionar uma conta de usuário à instância instance_name, adicione as seguintes informações:
    • No campo Nome de usuário, digite quickstart-user.
    • No campo Password, especifique uma senha para o usuário do banco de dados. Anote-a para usá-la em uma etapa posterior deste guia de início rápido.
  6. Clique em Add.

gcloud

Antes de executar o comando a seguir, faça estas substituições:

  1. PASSWORD por uma senha para seu usuário do banco de dados. Anote-a para usá-la em uma etapa posterior deste guia de início rápido.

Execute o comando gcloud sql users create para criar o usuário.

gcloud sql users create quickstart-user --instance=quickstart-instance --password=PASSWORD

Os limites de tamanho de nome de usuário são os mesmos no Cloud SQL e no PostgreSQL no local.

Configurar uma conta de serviço do Compute Engine

Crie e configure uma conta de serviço do Google Cloud que tenha o papel Cliente do Cloud SQL com permissões para se conectar ao Cloud SQL. Depois de criar uma conta de serviço, talvez seja necessário aguardar 60 segundos ou mais para usar essa conta.

Console

Criar uma conta de serviço

  1. No Console do Google Cloud, acesse a página Criar conta de serviço.
  2. Acesse "Criar conta de serviço"

  3. Selecione um projeto do Google Cloud.
  4. Insira quickstart-service-account como o nome da conta de serviço.
  5. Opcional: digite uma descrição da conta de serviço.
  6. Clique em Criar e continuar e avance para a próxima etapa.
  7. Escolha o papel de Cliente do Cloud SQL a ser concedido à conta de serviço no projeto.
  8. Clique em Adicionar outro papel e escolha o papel Leitor de objetos do Storage para conceder à conta de serviço no projeto.
  9. Clique em Continuar.
  10. Clique em Concluído para terminar a criação da conta de serviço.

gcloud

Criar uma conta de serviço

  1. Para criar a conta de serviço, execute o comando gcloud iam service-accounts create:
  2. gcloud iam service-accounts create quickstart-service-account --description="DESCRIPTION" --display-name="quickstart-service-account"

    Substitua o seguinte valor:

    • DESCRIPTION: uma descrição opcional da conta de serviço.
  3. Para conceder à sua conta de serviço o papel Cliente do Cloud SQL e o papel Leitor de objetos do Storage no seu projeto, execute o comando gcloud projects add-iam-policy-binding. Substitua PROJECT_ID pelo ID do projeto do Google Cloud.
    gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:quickstart-service-account@PROJECT_ID.iam.gserviceaccount.com" --role="roles/cloudsql.client" --role="roles/storage.objectViewer"

Criar uma instância de VM do Compute Engine

Criar uma instância de VM do Compute Engine para hospedar um aplicativo da Web de amostra que se conecta ao Cloud SQL.

Acessar a instância da VM do Compute Engine

Configurar o ambiente de desenvolvimento para a linguagem de programação

Configure o ambiente de desenvolvimento da instância de VM do Compute Engine para sua linguagem de programação preferida.

Instalar o Git

Instale o Git, um sistema de controle de versões de código aberto, na instância de VM do Compute Engine.

Clonar app de exemplo

Clone um aplicativo de amostra para sua instância de VM do Compute Engine usando o comando git clone.

Go

Na instância de VM do Compute Engine, abra um novo terminal ou janela do PowerShell. Execute os comandos a seguir para clonar o app de exemplo Go e mudar o diretório para o diretório que contém o aplicativo de exemplo.

  1. Clone o app de exemplo:
    git clone https://github.com/GoogleCloudPlatform/golang-samples
  2. Altere o diretório para o diretório que contém o app de exemplo.
    cd golang-samples/cloudsql/postgres/database-sql

Java

Na instância de VM do Compute Engine, abra um novo terminal ou janela do PowerShell. Execute os comandos a seguir para clonar o app de exemplo Java e mudar o diretório para o diretório que contém o app de exemplo.

  1. Clone o app de exemplo:
    git clone https://github.com/GoogleCloudPlatform/java-docs-samples
  2. Altere o diretório para o diretório que contém o app de exemplo.
    cd java-docs-samples/cloud-sql/postgres/servlet

Node.js

Na instância de VM do Compute Engine, abra um novo terminal ou janela do PowerShell. Execute os comandos a seguir para clonar o app de exemplo Node.js e mudar o diretório para o diretório que contém o aplicativo de exemplo.

  1. Clone o app de exemplo:
    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
  2. Altere o diretório para o diretório que contém o app de exemplo.
    cd nodejs-docs-samples/cloud-sql/postgres/knex

Python

Na instância de VM do Compute Engine, abra um novo terminal ou janela do PowerShell. Execute os comandos a seguir para clonar o app de exemplo Python e mudar o diretório para o diretório que contém o app de exemplo.

  1. Clone o app de exemplo:
    git clone https://github.com/GoogleCloudPlatform/python-docs-samples
  2. Altere o diretório para o diretório que contém o app de exemplo.
    cd python-docs-samples/cloud-sql/postgres/sqlalchemy

Configurar e executar um app de amostra do Cloud SQL

Agora você pode configurar um aplicativo de amostra em execução na instância de VM do Compute Engine para se conectar à instância do Cloud SQL com uma instância, um banco de dados e uma conta de serviço do Cloud SQL.

Limpar

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

Excluir instância do Cloud SQL

  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 quickstart-instance 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 caixa de diálogo Excluir instância, digite quickstart-instance e clique em Excluir para excluir a instância.

Excluir instância de VM do Compute Engine

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

    Acessar instâncias de VM

  2. Selecione a instância quickstart-vm-instance para abrir a página Detalhes da instância.
  3. Na barra de ícones na parte superior da página, clique em Excluir.
  4. Clique em Excluir para remover a instância.

Etapas de limpeza opcionais

Se você não estiver usando o papel Cliente do Cloud SQL que foi atribuído à conta de serviço Compute Engine default, remova-o.

  1. No console do Google Cloud, abra a página IAM.

    Acessar IAM

  2. Clique no ícone de edição (que parece com um lápis) da conta do IAM chamada conta de serviço padrão do Compute Engine.
  3. Exclua o papel Cliente do Cloud SQL.
  4. Clique em Save.

Se você não estiver usando a API que foi ativada como parte deste guia de início rápido, poderá desativá-la.

  • API ativada 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 qualquer API que você quer desativar e clique no botão Desativar API.

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.

Para mais informações sobre preços, consulte Preços do Cloud SQL para PostgreSQL.

Saiba mais sobre estas situações:

  • Como configurar sua instância do Cloud SQL com um endereço IP público.
  • Como configurar sua instância do Cloud SQL com um endereço IP privado.

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