Estabeleça ligação ao Cloud SQL para PostgreSQL a partir do Compute Engine

Saiba como implementar uma app de exemplo na sua instância de VM do Compute Engine baseada em Linux ou Windows ligada a uma instância do PostgreSQL através da Google Cloud consola e de uma aplicação cliente.

Partindo do princípio de que conclui todos os passos atempadamente, os recursos criados neste início rápido custam normalmente 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.

    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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify 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.

    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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Ative as APIs Cloud necessárias para executar uma app de exemplo do Cloud SQL numa instância de VM do Compute Engine.

    Consola

    Clique no botão Ativar APIs para ativar a API necessária para este início rápido.

    Ative as APIs

    Isto ativa a seguinte API:

    • API Cloud SQL Admin

    gcloud

    Instale a CLI gcloud, que fornece acesso à linha de comandos aos seus Google Cloud recursos. A CLI gcloud é usada para executar os comandos gcloud CLI apresentados ao longo deste início rápido. Todos os comandos estão formatados para serem executados num terminal ou numa janela do Powershell.

    Execute o seguinte comando gcloud:

    gcloud services enable sqladmin.googleapis.com

    Este comando ativa a seguinte API:

    • API Cloud SQL Admin

Configure o Cloud SQL

Crie uma instância do Cloud SQL

Crie uma base de dados

Consola

  1. Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.

    Aceda a Instâncias do Cloud SQL

  2. Selecione quickstart-instance.
  3. Abra o separador Bases de dados.
  4. Clique em Criar base de dados.
    1. Na caixa de diálogo Nova base de dados, introduza quickstart_db como o nome da base de dados.
    2. Clique em Criar.

gcloud

Execute o comando gcloud sql databases create para criar uma base de dados.

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

Crie um utilizador

Consola

  1. Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.

    Aceda a Instâncias do Cloud SQL

  2. Para abrir a página Vista geral de uma instância, clique no nome da instância.
  3. Selecione Utilizadores no menu de navegação do SQL.
  4. Clique em Adicionar conta de utilizador.
  5. Na página Adicione uma conta de utilizador à instância instance_name, adicione as seguintes informações:
    • No campo Nome de utilizador, introduza quickstart-user
    • No campo Palavra-passe, especifique uma palavra-passe para o utilizador da base de dados. Anote esta informação para usar num passo posterior deste início rápido.
  6. Clique em Adicionar.

gcloud

Antes de executar o seguinte comando, faça as seguintes substituições:

  1. PASSWORD com uma palavra-passe para o utilizador da base de dados. Anote esta informação para usar num passo posterior deste início rápido.

Execute o comando gcloud sql users create para criar o utilizador.

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

Os limites de comprimento dos nomes de utilizador são os mesmos para o Cloud SQL e para o PostgreSQL no local.

Configure uma conta de serviço do Compute Engine

Crie e configure uma Google Cloud conta de serviço que tenha a função de cliente do Cloud SQL com autorizações para estabelecer ligação ao Cloud SQL. Depois de criar uma conta de serviço, pode ter de aguardar 60 segundos ou mais antes de a usar.

Consola

Criar uma conta de serviço

  1. Na Google Cloud consola, aceda à página Criar conta de serviço.
  2. Aceda a Criar conta de serviço

  3. Selecione um Google Cloud projeto.
  4. Introduza quickstart-service-account como nome da conta de serviço.
  5. Opcional: introduza uma descrição da conta de serviço.
  6. Clique em Criar e continuar e avance para o passo seguinte.
  7. Escolha a função de cliente do Cloud SQL para conceder à conta de serviço no projeto.
  8. Clique em Adicionar outra função e escolha a função Visualizador de objetos do Storage para conceder à conta de serviço no projeto.
  9. Clique em Continuar.
  10. Clique em Concluído para terminar de criar a 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 a função Cliente do Cloud SQL e a função Visualizador de objetos do Storage no seu projeto, execute o comando gcloud projects add-iam-policy-binding. Substitua PROJECT_ID pelo ID do seu 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"

Crie uma instância de VM do Compute Engine

Crie uma instância de VM do Compute Engine para alojar uma app Web de exemplo que se ligue ao Cloud SQL.

Aceda à instância de VM do Compute Engine

Configure o ambiente de programação para a linguagem de programação

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

Instale o Git

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

Clone a app de exemplo

Clone uma app de exemplo para a sua instância de VM do Compute Engine através do comando git clone.

Ir

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

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

Java

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

  1. Clone a app de exemplo.
    git clone https://github.com/GoogleCloudPlatform/java-docs-samples
  2. Altere o diretório para o diretório que contém a 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 uma janela do Powershell. Execute os seguintes comandos para clonar a app de exemplo do Node.js e alterar o diretório para o diretório que contém a app de exemplo.

  1. Clone a app de exemplo.
    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
  2. Altere o diretório para o diretório que contém a 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 uma janela do Powershell. Execute os seguintes comandos para clonar a app de exemplo do Python e alterar o diretório para o diretório que contém a app de exemplo.

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

Configure e execute uma app de exemplo do Cloud SQL

Com uma instância, uma base de dados e uma conta de serviço do Cloud SQL com autorizações de cliente, já pode configurar uma aplicação de exemplo em execução na sua instância de VM do Compute Engine para se ligar à sua instância do Cloud SQL.

Limpar

Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.

Elimine a instância do Cloud SQL

  1. Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.

    Aceda a 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 Eliminar.
  4. Na caixa de diálogo Eliminar instância, escreva quickstart-instance e, de seguida, clique em Eliminar para eliminar a instância.

Elimine uma instância de VM do Compute Engine

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder às 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 Eliminar.
  4. Clique em Eliminar para eliminar a instância.

Passos de limpeza opcionais

Se não estiver a usar a função de cliente do Cloud SQL que atribuiu à conta de serviço Compute Engine default, pode removê-la.

  1. Na Google Cloud consola, aceda à página IAM.

    Aceda ao IAM

  2. Clique no ícone de edição (que se assemelha a um lápis) para a conta de IAM denominada Conta de serviço predefinida do Compute Engine.
  3. Elimine a função cliente do Cloud SQL.
  4. Clique em Guardar.

Se não estiver a usar a API que foi ativada como parte deste início rápido, pode desativá-la.

  • API ativada neste guia de início rápido:
    • API Cloud SQL Admin
  1. Na Google Cloud consola, aceda à página APIs.

    Aceder às APIs

  2. Selecione qualquer API que queira desativar e, de seguida, clique no botão Desativar API.

O que se segue?

Com base nas suas necessidades, pode saber mais sobre como criar instâncias do Cloud SQL.

Também pode saber como criar utilizadores do PostgreSQL e bases de dados para a sua instância do Cloud SQL.

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

Saiba mais sobre:

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

Além disso, pode saber como estabelecer ligação a uma instância do Cloud SQL a partir de outras aplicações do Google Cloud: