Crie e valide um modelo

Este início rápido ajuda a criar e implementar um modelo de aplicação Web de três camadas que inclui componentes de front-end, back-end e base de dados. A imagem seguinte mostra a tela de design, que inclui os componentes da aplicação e as associações.

Uma aplicação Web de três camadas na tela de design. A aplicação inclui componentes de front-end, back-end e base de dados.

Cria o modelo através de uma das seguintes opções:

Depois de concluir o design, valide o modelo implementando uma aplicação de teste no App Design Center.


Para seguir orientações passo a passo para esta tarefa diretamente na Google Cloud consola, clique em Orientar-me:

Visita guiada


Antes de começar

  1. Configure o Centro de design de apps.

  2. Crie um projeto descendente na pasta com apps ativadas.

    Vai implementar Google Cloud recursos neste projeto quando implementar a sua aplicação.

  3. Certifique-se de que a faturação está ativada para o projeto descendente.

Configure ferramentas

Pode usar uma das seguintes opções para concluir este início rápido.

  • Use a tela de design na Google Cloud consola.

  • Para usar o Gemini Cloud Assist para criar o seu design, consulte o artigo Configure o Gemini Cloud Assist.

  • 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.
  • Install the Google Cloud CLI.

  • Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.

  • Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  • Install the Google Cloud CLI.

  • Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.

  • Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  • Certifique-se de que tem as funções necessárias

    1. Para criar modelos, certifique-se de que tem uma das seguintes funções no projeto de gestão:

    2. Para implementar aplicações, certifique-se de que tem uma das seguintes funções no projeto de gestão:

    3. Para criar uma conta de serviço durante a implementação, certifique-se de que tem as seguintes funções:

      • Para criar contas de serviço, tem de ter a função Criar contas de serviço(roles/iam.serviceAccountCreator) no projeto de gestão.

      • Para conceder a uma conta de serviço acesso ao seu projeto descendente, tem de ter o administrador de IAM do projeto (roles/resourcemanager.projectIamAdmin) no projeto descendente.

    Crie um novo modelo e adicione detalhes

    Tela de design

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

      Aceder a Modelos

    2. Clique em Criar modelo e introduza os seguintes detalhes:

      1. No campo ID do modelo, introduza quickstart-three-tier-web-app.

      2. No campo Nome do modelo, introduza Quickstart three-tier web app .

      3. No campo Descrição, introduza A template to generate a three-tier web application.

      4. Clique em Criar modelo.

      O modelo é criado e a tela de design é apresentada.

    3. Na área Componentes, clique nos seguintes componentes para os adicionar à tela de design:

      • Cloud Run (adicione dois componentes)
      • Cloud SQL (PostgreSQL)
    4. Para criar associações entre componentes, faça o seguinte:

      1. A partir do ponto azul na parte inferior de cloud-run-1, arraste para o ponto azul na parte superior de cloud-run-2.

      2. A partir do ponto azul na parte inferior de cloud-run-2, arraste para o ponto azul na parte superior de sql-postgresql-1.

      O modelo contém três componentes. A tela é apresentada entre os componentes para representar as associações.

    Gemini Cloud Assist

    1. Na Google Cloud barra de ferramentas da consola, clique em spark Abrir ou fechar chat do Gemini Cloud Assist.

      O painel Cloud Assist é aberto.

    2. No chat do Gemini Cloud Assist, introduza o seguinte comando:

      I want to create a three-tier web application.
      

      O Gemini Cloud Assist gera um design básico para uma aplicação Web de três camadas.

    3. Para remover os balanceadores de carga e os componentes do Secret Manager, introduza o seguinte comando:

      I don't need load balancers or Secret Manager.
      

      O Gemini Cloud Assist atualiza o design para remover os componentes.

    4. Reveja o design atualizado que inclui os seguintes componentes:

      • Cloud Run (dois componentes)
      • Cloud SQL para PostgreSQL
    5. Clique em Editar design da app.

      É apresentada a página Criar um novo modelo.

    6. Introduza os seguintes detalhes do modelo:

      1. No campo ID do modelo, introduza quickstart-three-tier-web-app.

      2. No campo Nome do modelo, introduza Quickstart three-tier web app .

      3. No campo Descrição, introduza A template to generate a three-tier web application.

    7. Clique em Criar modelo.

      O sistema cria um novo modelo e apresenta a tela de design.

    CLI gcloud

    1. Crie um modelo de aplicação.

      gcloud design-center spaces application-templates create quickstart-three-tier-web-app \
      --display-name="Quickstart three-tier web app" \
      --description="A template to generate a three-tier web application" \
      --space=SPACE \
      --location=us-central1 \
      --project=MANAGEMENT_PROJECT_ID
      
    2. Apresentar os modelos partilhados no catálogo Google.

      gcloud design-center spaces shared-templates list \
      --google-catalog \
      --location=us-central1
      
      1. Identifique os IDs dos modelos partilhados para o Cloud Run e o Cloud SQL.
    3. Adicione um componente do Cloud Run para usar como front-end.

      gcloud design-center spaces application-templates components create cloud-run-1 \
      --application-template=quickstart-three-tier-web-app \
      --shared-template-revision-uri=google/1b5e09c8-780f-484e-b8ed-c7178f4e4342 \
      --space=SPACE \
      --location=us-central1 \
      --project=MANAGEMENT_PROJECT_ID
      
    4. Adicione um segundo componente do Cloud Run para usar como back-end.

      gcloud design-center spaces application-templates components create cloud-run-2 \
      --application-template=quickstart-three-tier-web-app \
      --shared-template-revision-uri=google/1b5e09c8-780f-484e-b8ed-c7178f4e4342 \
      --space=SPACE \
      --location=us-central1 \
      --project=MANAGEMENT_PROJECT_ID
      
    5. Adicione um componente do Cloud SQL.

      gcloud design-center spaces application-templates components create sql-postgresql-1 \
      --application-template=quickstart-three-tier-web-app \
      --shared-template-revision-uri=google/45be1bc2-89bc-477b-9b5d-64c41ff3b146 \
      --space=SPACE \
      --location=us-central1 \
      --project=MANAGEMENT_PROJECT_ID
      
    6. Associe cloud-run-1 a cloud-run-2.

       gcloud design-center spaces application-templates components connections create frontend-to-backend \
       --application-template=quickstart-three-tier-web-app \
       --component=cloud-run-1 \
       --destination-component-uri=cloud-run-2 \
       --space=SPACE \
       --location=us-central1 \
       --project=MANAGEMENT_PROJECT_ID
      
    7. Associe cloud-run-2 a sql-postgresql-1.

       gcloud design-center spaces application-templates components connections create backend-to-database \
       --application-template=quickstart-three-tier-web-app \
       --component=cloud-run-2 \
       --destination-component-uri=sql-postgresql-1 \
       --space=SPACE \
       --location=us-central1 \
       --project=MANAGEMENT_PROJECT_ID
      
    8. Confirme as alterações para criar uma revisão do modelo de candidatura.

       gcloud design-center spaces application-templates commit quickstart-three-tier-web-app \
       --space=SPACE \
       --location=us-central1 \
       --project=MANAGEMENT_PROJECT_ID
      

    Crie um rascunho da candidatura

    Tela de design

    1. Na tela de design, clique em Configurar uma app.

    2. Clique em Criar nova aplicação e faça o seguinte:

      1. No campo Nome, introduza quickstart-three-tier-test.

      2. No campo Nome a apresentar, introduza Quickstart three-tier test.

      3. Na lista Região, selecione us-central1 (Iowa).

      4. Na lista Ambiente, selecione Test.

      5. Na lista Criticidade, selecione Low.

      6. Na área Âmbito, na lista Âmbito da aplicação, selecione Regional.

    3. Clique em Criar aplicação.

      O sistema cria o rascunho da aplicação.

    CLI gcloud

    1. Identifique o URI da revisão mais recente do modelo de aplicação.

       gcloud design-center spaces application-templates describe quickstart-three-tier-web-app \
       --space=SPACE \
       --location=us-central1 \
       --project=MANAGEMENT_PROJECT_ID \
       --format='yaml(name,latestRevision)'
      
    2. Crie um rascunho da candidatura com base no seu modelo.

         gcloud design-center spaces applications create quickstart-three-tier-test \
         --space=SPACE \
         --location=us-central1 \
         --project=MANAGEMENT_PROJECT_ID \
         --source-application-template-revision=projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/revisions/TEMPLATE_REVISION \
         --display-name="Quickstart three-tier test" \
         --environment-type=test \
         --criticality-type=low \
         --scope-type=regional \
         --deployment-region=us-central1
      

    Configure componentes

    Tela de design

    1. Na tela de design, clique em cloud-run-1 e faça o seguinte na área de configuração:

      1. Na lista ID do projeto, selecione o projeto descendente que criou em Antes de começar. O recurso vai ser implementado neste projeto.

      2. No campo Nome do serviço, introduza frontend-service.

      3. Clique em Guardar.

    2. Na tela de design, clique em cloud-run-2 e faça o seguinte na área de configuração:

      1. Na lista ID do projeto, selecione o projeto descendente que criou em Antes de começar. O recurso vai ser implementado neste projeto.

      2. No campo Nome do serviço, introduza backend-service.

      3. Clique em Guardar.

    3. Na tela de design, clique em sql-postgresql-1 e faça o seguinte na área de configuração:

      1. Na lista ID do projeto, selecione o projeto descendente que criou em Antes de começar. O recurso vai ser implementado neste projeto.

      2. No campo Nome, introduza database-postgresql.

      3. Na lista Versão da base de dados, selecione POSTGRES_15.

      4. Na lista pendente Zona, selecione us-central1-a.

      5. Clique em Guardar.

      A tela apresenta uma marca de verificação verde em cada componente para indicar que especificou os parâmetros necessários. Agora, pode implementar o rascunho da aplicação no ambiente Test para validação.

    CLI gcloud

    1. Descreva a aplicação para identificar os parâmetros de configuração necessários.

       gcloud design-center spaces applications describe quickstart-three-tier-test \
       --space=SPACE \
       --location=us-central1 \
       --project=MANAGEMENT_PROJECT_ID \
       --format='yaml(name,componentParameters)'
      
    2. Para cada componente, no diretório inicial, crie um ficheiro JSON que contenha os valores dos parâmetros necessários.

      1. Criar frontend-service.json.

         {
           "component": "projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/components/cloud-run-1",
           "parameters": [
              {
                 "key": "service_name",
                 "value": "frontend-service"
              },
              {
                 "key": "project_id",
                 "value": "DEPLOYMENT_PROJECT_ID"
              }
           ]
         }
        
      2. Criar backend-service.json.

         {
           "component": "projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/components/cloud-run-2",
           "parameters": [
              {
                 "key": "service_name",
                 "value": "backend-service"
              },
              {
                 "key": "project_id",
                 "value": "DEPLOYMENT_PROJECT_ID"
              }
           ]
         }
        
      3. Criar database-postgresql.json.

         {
           "component": "projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/components/sql-postgresql-1",
           "parameters": [
              {
                 "key": "name",
                 "value": "database-postgresql"
              },
              {
                 "key": "project_id",
                 "value": "DEPLOYMENT_PROJECT_ID"
              },
              {
                 "key": "database_version",
                 "value": "POSTGRES_15"
              },
              {
                 "key": "region",
                 "value": "us-central1"
              },
              {
                 "key": "zone",
                 "value": "us-central1-a"
              }
           ]
         }
        
    3. Atualize a aplicação para configurar os parâmetros necessários.

       gcloud design-center spaces applications update quickstart-three-tier-test \
       --space=SPACE \
       --location=us-central1 \
       --project=MANAGEMENT_PROJECT_ID \
       --component-parameters=./frontend-service.json \
       --component-parameters=./backend-service.json \
       --component-parameters=./database-postgresql.json
      

    Implemente a aplicação

    Tela de design

    1. Clique em Implementar.

    2. Na área Selecionar uma conta de serviço, faça o seguinte:

      1. Clique em Criar uma nova conta de serviço.

      2. Clique em Continuar.

    3. Clique em Implementar.

      Após alguns minutos, o sistema implementa a aplicação e cria recursos no seu projeto. O sistema apresenta os seguintes detalhes:

      • Um link para o App Hub, onde pode ver os detalhes dos recursos implementados, incluindo links para painéis de controlo de monitorização.
      • Links para os registos do Cloud Build, que pode usar para resolver problemas de erros de implementação.
      • São apresentadas saídas, como URIs de serviços, que pode usar para interagir com recursos implementados.
    4. Para criar com base neste início rápido, consulte o artigo Atualize um modelo de aplicação e volte a implementá-lo.

    CLI gcloud

    1. Descreva a aplicação para identificar as funções de IAM necessárias para a sua conta de serviço de implementação.

       gcloud design-center spaces applications describe quickstart-three-tier-test \
       --space=SPACE \
       --location=us-central1 \
       --project=MANAGEMENT_PROJECT_ID \
       --format='yaml(name,projectParameters)'
      
    2. Crie uma nova conta de serviço para implementar a aplicação.

       gcloud iam service-accounts create quickstart-service-account \
       --project=MANAGEMENT_PROJECT_ID \
       --display-name="Quickstart service account" \
       --description="A service account to deploy the ADC quickstart"
      
    3. Adicione as funções do projeto de implementação necessárias à conta de serviço.

      #!/bin/bash
      
      PROJECT_ID="DEPLOYMENT_PROJECT_ID"
      SERVICE_ACCOUNT="quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com"
      
      ROLES=(
      "roles/iap.admin"
      "roles/compute.networkAdmin"
      "roles/compute.viewer"
      "roles/run.admin"
      "roles/iam.serviceAccountAdmin"
      "roles/serviceusage.serviceUsageAdmin"
      "roles/cloudkms.admin"
      "roles/logging.logWriter"
      "roles/iam.serviceAccountUser"
      "roles/cloudsql.admin"
      "roles/cloudkms.autokeyAdmin"
      "roles/storage.admin"
      "roles/serviceusage.serviceUsageViewer"
      "roles/resourcemanager.projectIamAdmin"
      "roles/cloudkms.cryptoKeyEncrypterDecrypter"
      )
      
      for role in "${ROLES[@]}"; do
      echo "Adding role: ${role}"
      gcloud projects add-iam-policy-binding "${PROJECT_ID}" \
         --member="serviceAccount:${SERVICE_ACCOUNT}" \
         --role="${role}"
      echo "---"
      done
      
      echo "Finished adding roles."
      
    4. Adicione as funções do projeto de gestão necessárias à conta de serviço.

      #!/bin/bash
      
      PROJECT_ID="MANAGEMENT_PROJECT_ID"
      SERVICE_ACCOUNT="quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com"
      
      ROLES=(
      "roles/config.agent"
      "roles/apphub.editor"
      )
      
      for role in "${ROLES[@]}"; do
      echo "Adding role: ${role}"
      gcloud projects add-iam-policy-binding "${PROJECT_ID}" \
         --member="serviceAccount:${SERVICE_ACCOUNT}" \
         --role="${role}"
      echo "---"
      done
      
      echo "Finished adding roles."
      
    5. Identifique o número do projeto de gestão.

      gcloud projects describe MANAGEMENT_PROJECT_ID \
      --format="value(projectNumber)"
      
    6. Adicione uma associação de política IAM para a função roles/iam.serviceAccountUser no seu projeto de gestão.

      gcloud iam service-accounts add-iam-policy-binding projects/MANAGEMENT_PROJECT_ID/serviceAccounts/quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com \
      --project=MANAGEMENT_PROJECT_ID \
      --member="serviceAccount:service-MANAGEMENT_PROJECT_NUMBER@gcp-sa-designcenter.iam.gserviceaccount.com" \
      --role="roles/iam.serviceAccountUser"
      
    7. Atualize a aplicação para usar a sua conta de serviço.

      gcloud design-center spaces applications update quickstart-three-tier-test \
      --space=SPACE \
      --location=us-central1 \
      --project=MANAGEMENT_PROJECT_ID \
      --service-account=projects/MANAGEMENT_PROJECT_ID/serviceAccounts/quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com
      
    8. Conceda ao utilizador a autorização actAs na sua conta de serviço.

      gcloud iam service-accounts add-iam-policy-binding quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com \
      --project=MANAGEMENT_PROJECT_ID \
      --member="user:USER" \
      --role="roles/iam.serviceAccountUser"
      

      USER é o seu Google Cloud utilizador. Por exemplo, dana@example.com.

    9. Pré-visualize a aplicação:

      A pré-visualização demora alguns minutos a ser gerada.

      gcloud design-center spaces applications preview quickstart-three-tier-test \
      --location=us-central1 \
      --space=SPACE \
      --project=MANAGEMENT_PROJECT_ID
      
    10. Implemente a aplicação.

      gcloud design-center spaces applications deploy quickstart-three-tier-test \
      --space=SPACE \
      --location=us-central1 \
      --project=MANAGEMENT_PROJECT_ID \
      --async
      
    11. Identifique o ID da operação.

    12. A implementação demora alguns minutos a ser concluída. Monitorize o estado da implementação.

      gcloud design-center operations describe operation-OPERATION_ID \
      --space=SPACE \
      --location=us-central1 \
      --project=MANAGEMENT_PROJECT_ID
      
    13. Quando a implementação estiver concluída, identifique os parâmetros de saída da aplicação.

       gcloud design-center spaces applications describe quickstart-three-tier-test \
       --space=SPACE \
       --location=us-central1 \
       --project=MANAGEMENT_PROJECT_ID \
       --format='yaml(name,appParameters,componentParameters,deploymentMetadata,deploymentRevision,previewReference)'
      

    Opcional: monitorize a sua implementação

    Depois de implementar uma aplicação, pode usar a monitorização de aplicações para ver a telemetria da aplicação e monitorizar o estado e o desempenho:

    1. Na Google Cloud consola, aceda à página Monitorização de aplicações:

      Aceda a Monitorização de aplicações

      Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.

    2. No seletor de projetos da Google Cloud consola, selecione o projeto de gestão.

    3. Para obter instruções detalhadas sobre como usar os painéis de controlo predefinidos e explorar os dados de telemetria, consulte Ver telemetria de aplicações.

    Também pode aceder a informações adicionais de saúde e desempenho no Cloud Hub, incluindo falhas de implementação e implementações que podem ser atualizadas, informações sobre Google Cloud incidentes que afetam as suas aplicações e serviços que estão perto dos respetivos limites de quota.

    Limpar

    Para evitar incorrer em custos na sua Google Cloud conta pelos recursos usados nesta página, elimine o Google Cloud projeto com os recursos.

    Elimine a aplicação implementada

    1. No menu de navegação, clique em Candidaturas.

      Aceda a Aplicações

    2. Na tabela, clique em Início rápido da app Web de três camadas.

    3. Clique em Ações e selecione Eliminar aplicação.

    4. No campo Eliminar, introduza Quickstart three-tier web app.

    5. Clique em Eliminar.

    O sistema elimina a aplicação, incluindo o seguinte:

    • Os detalhes da aplicação são removidos do Centro de design de apps.
    • A aplicação App Hub subjacente é eliminada.
    • Os recursos subjacentes são eliminados.

    Opcional: elimine o projeto

    Para eliminar o projeto descendente que criou em Antes de começar, faça o seguinte:

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

      Aceda a Gerir recursos

    2. Na lista de projetos, selecione o projeto que quer eliminar e, de seguida, clique em Eliminar.
    3. Na mensagem, escreva o ID do projeto e, de seguida, clique em Encerrar.

    O que se segue?