Estabeleça ligação a partir do Cloud Run

Este início rápido explica o processo de implementação de uma aplicação de exemplo num serviço do Cloud Run usando a Google Cloud consola e uma aplicação cliente. Esta aplicação de exemplo liga o Cloud Run ao AlloyDB para PostgreSQL.

Exemplo de código da aplicação

O código da aplicação de exemplo para este início rápido encontra-se no diretório examples/go do repositório do GitHub GoogleCloudPlatform/alloydb-auth-proxy.

A aplicação foi escrita na linguagem de programação Go e serve como ferramenta para recolher votos. A lógica principal está contida no ficheiro main.go, que inicia um servidor Web e processa os pedidos dos utilizadores.

A ligação à base de dados é configurada através de variáveis de ambiente, que configura quando cria o serviço do Cloud Run. Estas variáveis indicam à aplicação como estabelecer ligação à sua instância do AlloyDB, incluindo o nome da base de dados, o utilizador, a palavra-passe e o endereço IP da instância. O código usa estas variáveis para estabelecer uma ligação segura à sua base de dados do AlloyDB.

Repositório de código

O repositório alloydb-auth-proxy contém o proxy Auth do AlloyDB, uma ferramenta que ajuda a estabelecer ligação segura às suas instâncias do AlloyDB. O repositório também inclui bibliotecas e exemplos relacionados, como a aplicação Go usada neste início rápido.

Não precisa do projeto alloydb-auth-proxy completo para se ligar ao AlloyDB a partir do Cloud Run. O comando cloudshell_open clona todo o repositório para sua conveniência, mas os únicos ficheiros usados para criar o contentor para este início rápido estão localizados no diretório examples/go.

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 role (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 role (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 aplicação de exemplo do AlloyDB para PostgreSQL no Cloud Run.

    Ative as APIs

    1. No passo Confirmar projeto, para confirmar o nome do projeto ao qual vai fazer alterações, clique em Seguinte.

    2. No passo Ativar APIs, clique em Ativar para ativar o seguinte:

      • API AlloyDB
      • Cloud Run Admin API
      • API Compute Engine
      • API Cloud Build
      • API Container Registry
      • API de rede de serviços
      • Cloud Resource Manager API
  7. Certifique-se de que tem um cluster do AlloyDB e uma instância principal. Para mais informações, consulte o artigo Crie um cluster e a respetiva instância principal.
  8. Associe à sua instância e crie uma base de dados

    1. Se não estiver na página Vista geral do cluster criado recentemente, na consola Google Cloud , aceda à página Clusters.

      Aceda a Clusters

    2. Para apresentar a página Vista geral do cluster, clique no nome do cluster my-cluster.

    3. No menu de navegação, clique em AlloyDB Studio.

    4. Na lista Base de dados na página Iniciar sessão no AlloyDB Studio, selecione postgres.

    5. Na lista pendente Utilizador, selecione postgres.

    6. No campo Palavra-passe, introduza a palavra-passe que criou em Crie um cluster e a respetiva instância principal.

    7. Clique em Autenticar. O painel Explorador apresenta uma lista dos objetos na sua base de dados.

    8. No separador Editor 1, crie uma base de dados:

      CREATE DATABASE quickstart_db;
      
    9. Clique em Executar. Aguarde até que a mensagem Statement executed successfully seja apresentada no painel Resultados.

    Encontre o ID do projeto

    1. Aceda à página Painel de controlo na Google Cloud consola.

      Aceder ao painel de controlo

    2. Encontre o ID do projeto no cartão Informações do projeto.

    3. Tome nota do ID do projeto. Precisa dele para o passo seguinte deste início rápido.

    Preencha o Artifact Registry com uma imagem da aplicação de exemplo

    1. Na Google Cloud consola, abra o Cloud Shell.

      Abra o Cloud Shell

    2. No Editor do Cloud Shell, use o seguinte comando para clonar o repositório com o código da aplicação de exemplo do GitHub:

      cloudshell_open --repo_url \
      "https://github.com/GoogleCloudPlatform/alloydb-auth-proxy" \
      --dir \
      "examples/go" \
      --force_new_clone
    3. Crie um repositório no Artifact Registry para imagens Docker:

      gcloud artifacts repositories create cloud-run-source-deploy --location us-central1 --repository-format=docker --project PROJECT_ID

      Substitua PROJECT_ID pelo ID do seu projeto.

    4. Na caixa de diálogo Autorizar Cloud Shell, clique em Autorizar. Este comando não é apresentado se já tiver concluído este passo anteriormente.

    5. Para criar um contentor Docker e publicá-lo no Artifact Registry, use o seguinte comando:

       gcloud builds submit --tag  us-central1-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy/run-sql --project PROJECT_ID

      Substitua PROJECT_ID pelo ID do seu projeto.

      O código da aplicação de exemplo para este início rápido encontra-se no diretório examples/go do repositório do GitHub GoogleCloudPlatform/alloydb-auth-proxy. O comando cloudshell_open no passo anterior clona automaticamente este repositório e abre o diretório correto para si.

    Encontre o endereço IP da sua nova instância

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

      Aceda a Clusters

    2. Encontre a linha na tabela cujo nome do recurso é my-primary.

    3. Tome nota do endereço IP privado dessa linha. Precisa dele para o passo seguinte deste início rápido.

      O formato de exemplo do endereço IP é 172.19.209.2:5432.

    Crie um serviço para o Cloud Run

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

      Aceda ao Cloud Run

    2. No separador Serviços, clique em Implementar contentor.

    3. Na página Criar serviço, selecione a opção Implementar uma revisão a partir de uma imagem de contentor existente.

    4. No campo URL da imagem do contentor, clique em Selecionar.

    5. No painel Selecionar imagem do contentor, conclua os seguintes passos:

      1. Selecione o separador Registo de artefactos.
      2. Expandir us-central1-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy.
      3. Expandir run-sql.
      4. Selecione a imagem mais recente.
      5. Clique em Selecionar.
    6. No campo Nome do serviço, introduza quickstart-service.

    7. Certifique-se de que a opção us-central1 (Iowa) está selecionada na lista Região por predefinição.

    8. Na secção Autenticação, selecione Permitir acesso público.

    9. Certifique-se de que a opção A CPU só é atribuída durante o processamento de pedidos está selecionada na secção Atribuição e preços da CPU.

    10. Expanda a secção Recipientes, volumes, rede, segurança.

    11. No separador Contentores, selecione o separador Variáveis e segredos e conclua os seguintes passos:

      1. Na secção Variáveis de ambiente, clique em Adicionar variável.

      2. Introduza o seguinte nos campos Name e Value:

        • DB_NAME: quickstart_db
        • DB_USER: postgres
        • DB_PASS: a palavra-passe que introduziu quando criou o cluster.
        • DB_PORT: 5432
        • INSTANCE_HOST: o endereço IP da instância principal do cluster, que encontrou em Encontre o endereço IP da sua nova instância. Não inclua o número da porta. Por exemplo, defina como 172.19.209.2 e não 172.19.209.2:5432.
    12. Mude do separador Contentores para o separador Rede e conclua os seguintes passos:

      1. Selecione a caixa de verificação Estabelecer ligação a uma VPC para tráfego de saída.

      2. Selecione a opção Enviar tráfego diretamente para uma VPC.

      3. Na lista pendente Rede, escolha o valor default.

      4. Na lista pendente Sub-rede, certifique-se de que o valor default está selecionado.

    13. Clique em Criar para criar o serviço do Cloud Run.

      Depois de implementar o serviço do Cloud Run, a página quickstart-service apresenta o URL da aplicação de exemplo no campo URL.

      A aplicação usa o AlloyDB como armazenamento de dados.

    Veja a aplicação de amostra

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

      Aceda ao Cloud Run

    2. Na página quickstart-service, clique em Copiar para a área de transferência para copiar o URL da aplicação.

    3. Num novo separador do navegador, cole o URL da aplicação copiado e clique em Enter.

    Limpar

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

    Limpe o conjunto

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

      Aceda a Clusters

    2. Junto ao cluster my-cluster que quer eliminar, clique em Ações e, de seguida, clique em Eliminar.

    3. Na caixa de diálogo Eliminar cluster apresentada, escreva my-cluster no campo my-cluster, confirmando que quer eliminá-lo.

    4. Clique em Eliminar.

    Limpe o serviço

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

      Aceda ao Cloud Run

    2. Selecione a caixa de verificação junto ao nome do serviço quickstart-service.

    3. Clique em Eliminar na parte superior da página Cloud Run.

    4. Na caixa de diálogo Eliminar quickstart-service apresentada, clique em Eliminar para confirmar.

    O que se segue?