Criar e verificar um modelo

Este guia de início rápido ajuda você a criar e implantar um modelo de aplicativo da Web de três camadas que inclui componentes de front-end, back-end e banco de dados. A imagem a seguir mostra a tela de design, que inclui os componentes e as conexões do aplicativo.

Um aplicativo da Web de três camadas na tela de design. O aplicativo inclui componentes de front-end, back-end e banco de dados.

Você cria o modelo usando uma das seguintes opções:

Depois de concluir o design, verifique o modelo implantando um aplicativo de teste no App Design Center.


Para seguir as instruções detalhadas desta tarefa diretamente no console do Google Cloud , clique em Orientação:

Orientações


Antes de começar

  1. Configure o App Design Center.

  2. Crie um projeto descendente na pasta ativada para apps.

    Você vai implantar recursos Google Cloud nesse projeto ao implantar o aplicativo.

  3. Verifique se o faturamento está ativado para o projeto descendente.

Configurar ferramentas

Você pode usar uma das seguintes opções para concluir este guia de início rápido.

  • 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.
  • Instale a CLI do Google Cloud.

  • Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

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

    gcloud init
  • Instale a CLI do Google Cloud.

  • Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

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

    gcloud init

Verifique se você tem os papéis necessários

  1. Para criar modelos, verifique se você tem um dos seguintes papéis no projeto de gerenciamento:

  2. Para implantar aplicativos, verifique se você tem um dos seguintes papéis no projeto de gerenciamento:

  3. Para criar uma conta de serviço durante a implantação, verifique se você tem os seguintes papéis:

    • Para criar contas de serviço, você precisa ter o papel Criar contas de serviço(roles/iam.serviceAccountCreator) no projeto de gerenciamento.

    • Para conceder a uma conta de serviço acesso ao projeto descendente, você precisa ter o papel Administrador do IAM do projeto (roles/resourcemanager.projectIamAdmin) no projeto descendente.

Criar um modelo e adicionar detalhes

Tela de design

  1. No console do Google Cloud , acesse a página Modelos.

    Acessar "Modelos"

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

    1. Preencha o campo Código do modelo com quickstart-three-tier-web-app.

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

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

    4. Clique em Criar modelo.

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

  3. Na área Componentes, clique nos seguintes componentes para adicioná-los à tela de design:

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

    1. Do ponto azul na parte de baixo de cloud-run-1, arraste até o ponto azul na parte de cima de cloud-run-2.

    2. Do ponto azul na parte de baixo de cloud-run-2, arraste até o ponto azul na parte de cima de sql-postgresql-1.

    O modelo tem três componentes. A tela mostra linhas entre os componentes para representar conexões.

Gemini Cloud Assist

  1. Na barra de ferramentas do console do Google Cloud , clique no brilho e em Abrir ou fechar o chat do Gemini Cloud Assist.

    O painel do Cloud Assist é aberto.

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

    I want to create a three-tier web application.
    

    O Gemini Cloud Assist gera um design básico para um aplicativo da Web de três níveis.

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

    I don't need load balancers or Secret Manager.
    

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

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

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

    A página Criar um novo modelo é exibida.

  6. Insira os seguintes detalhes do modelo:

    1. Preencha o campo Código do modelo com quickstart-three-tier-web-app.

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

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

  7. Clique em Criar modelo.

    O sistema cria um modelo e mostra a tela de design.

CLI da gcloud

  1. Crie um modelo de aplicativo.

    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. Liste os modelos compartilhados no catálogo do Google.

    gcloud design-center spaces shared-templates list \
    --google-catalog \
    --location=us-central1
    
    1. Identifique os IDs de modelo compartilhados 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. Conecte 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. Conecte 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 mudanças para criar uma revisão do modelo de aplicativo.

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

Criar um rascunho de aplicativo

Tela de design

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

  2. Clique em Criar aplicativo e siga estas etapas:

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

    2. No campo Nome de exibição, insira Quickstart three-tier test.

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

    4. Na lista Ambiente, selecione Test.

    5. Na lista Gravidade, selecione Low.

    6. Na área Escopo, na lista Escopo do aplicativo, selecione Regional.

  3. Clique em Criar aplicativo.

    O sistema cria o rascunho do aplicativo.

CLI da gcloud

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

     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 de aplicativo com base no 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
    

Configurar componentes

Tela de design

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

    1. Na lista ID do projeto, selecione o projeto descendente que você criou em Antes de começar. O recurso será implantado nesse projeto.

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

    3. Clique em Salvar.

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

    1. Na lista ID do projeto, selecione o projeto descendente que você criou em Antes de começar. O recurso será implantado nesse projeto.

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

    3. Clique em Salvar.

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

    1. Na lista ID do projeto, selecione o projeto descendente que você criou em Antes de começar. O recurso será implantado nesse projeto.

    2. No campo Nome, use database-postgresql.

    3. Na lista Versão do banco de dados, selecione POSTGRES_15.

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

    5. Clique em Salvar.

    A tela mostra uma marca de seleção verde em cada componente para indicar que você especificou os parâmetros necessários. Agora é possível implantar o rascunho do aplicativo no ambiente Test para verificação.

CLI da gcloud

  1. Descreva o aplicativo 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 arquivo JSON que contenha os valores de parâmetros obrigató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 o aplicativo 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
    

Implantar o aplicativo

Tela de design

  1. Clique em Implantar.

  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 Proceed.

  3. Clique em Implantar.

    Após alguns minutos, o sistema implanta o aplicativo e cria recursos no projeto. O sistema mostra os seguintes detalhes:

    • Um link para o App Hub, onde é possível conferir detalhes dos recursos implantados, incluindo links para painéis de monitoramento.
    • Links para registros do Cloud Build, que podem ser usados para resolver problemas de implantação.
    • Saídas como URIs de serviço são mostradas, que podem ser usadas para interagir com recursos implantados.
  4. Para continuar este guia de início rápido, consulte Atualizar um modelo de aplicativo e reimplantar.

CLI da gcloud

  1. Descreva o aplicativo para identificar os papéis do IAM necessários para sua conta de serviço de implantaçã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 conta de serviço para implantar o aplicativo.

     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 os papéis necessários do projeto de implantação à 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 os papéis necessários do projeto de gerenciamento à 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 gerenciamento.

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

    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 o aplicativo para usar 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 usuário a permissão actAs na 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 é seu Google Cloud usuário. Por exemplo, dana@example.com.

  9. Visualize o aplicativo:

    A geração da prévia leva alguns minutos.

    gcloud design-center spaces applications preview quickstart-three-tier-test \
    --location=us-central1 \
    --space=SPACE \
    --project=MANAGEMENT_PROJECT_ID
    
  10. Implante o aplicativo.

    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 implantação leva alguns minutos para ser concluída. Acompanhe o status da implantação.

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

     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: monitorar a implantação

Depois de implantar um aplicativo, use o Application Monitoring para ver a telemetria do aplicativo e monitorar a integridade e o desempenho:

  1. No console do Google Cloud , acesse a página Monitoramento de aplicativos:

    Acessar Monitoramento de aplicativos

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.

  2. No seletor de projetos do console Google Cloud , selecione o projeto de gerenciamento.

  3. Para instruções detalhadas sobre como usar os painéis predefinidos e analisar seus dados de telemetria, consulte Ver telemetria de aplicativos.

Você também pode acessar mais informações sobre integridade e desempenho no Cloud Hub, incluindo falhas de implantação e implantações que podem ser atualizadas, informações sobre incidentes que afetam seus aplicativos e serviços que estão perto dos limites de cota. Google Cloud

Limpar

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, exclua o projeto do Google Cloud e os recursos.

Excluir o aplicativo implantado

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

    Acesse Aplicativos

  2. Na tabela, clique em Guia de início rápido do app da Web de três níveis.

  3. Clique em Ações e selecione Excluir aplicativo.

  4. No campo Excluir, insira Quickstart three-tier web app.

  5. Clique em Excluir.

O sistema exclui o aplicativo, incluindo:

  • Os detalhes do aplicativo são removidos do App Design Center.
  • O aplicativo do App Hub subjacente é excluído.
  • Os recursos subjacentes são excluídos.

Excluir o projeto

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

  1. No console Google Cloud , acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
  3. No prompt, digite o ID do projeto e clique em Encerrar.

A seguir