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.
Cria o modelo através de uma das seguintes opções:
- A tela de design no Centro de design de aplicações.
- Comandos em linguagem natural no Gemini Cloud Assist.
- App Design Center CLI do Google Cloud.
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:
Antes de começar
Crie um projeto descendente na pasta com apps ativadas.
Vai implementar Google Cloud recursos neste projeto quando implementar a sua aplicação.
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 Para criar modelos, certifique-se de que tem uma das seguintes funções no projeto de gestão:
- Administrador do Application Design Center (
roles/designcenter.admin). - Utilizador do Application Design Center (
roles/designcenter.user).
- Administrador do Application Design Center (
Para implementar aplicações, certifique-se de que tem uma das seguintes funções no projeto de gestão:
- Administrador da aplicação
(
roles/designcenter.applicationAdmin). - Editor de aplicações (
roles/designcenter.applicationEditor).
- Administrador da aplicação
(
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.
Na Google Cloud consola, aceda à página Modelos.
Clique em Criar modelo e introduza os seguintes detalhes:
No campo ID do modelo, introduza
quickstart-three-tier-web-app.No campo Nome do modelo, introduza
Quickstart three-tier web app.No campo Descrição, introduza
A template to generate a three-tier web application.Clique em Criar modelo.
O modelo é criado e a tela de design é apresentada.
Na área Componentes, clique nos seguintes componentes para os adicionar à tela de design:
- Cloud Run (adicione dois componentes)
- Cloud SQL (PostgreSQL)
Para criar associações entre componentes, faça o seguinte:
A partir do ponto azul na parte inferior de cloud-run-1, arraste para o ponto azul na parte superior de cloud-run-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.
Na Google Cloud barra de ferramentas da consola, clique em spark Abrir ou fechar chat do Gemini Cloud Assist.
O painel Cloud Assist é aberto.
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.
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.
Reveja o design atualizado que inclui os seguintes componentes:
- Cloud Run (dois componentes)
- Cloud SQL para PostgreSQL
Clique em Editar design da app.
É apresentada a página Criar um novo modelo.
Introduza os seguintes detalhes do modelo:
No campo ID do modelo, introduza
quickstart-three-tier-web-app.No campo Nome do modelo, introduza
Quickstart three-tier web app.No campo Descrição, introduza
A template to generate a three-tier web application.
Clique em Criar modelo.
O sistema cria um novo modelo e apresenta a tela de design.
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_IDApresentar os modelos partilhados no catálogo Google.
gcloud design-center spaces shared-templates list \ --google-catalog \ --location=us-central1- Identifique os IDs dos modelos partilhados para o Cloud Run e o Cloud SQL.
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_IDAdicione 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_IDAdicione 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_IDAssocie 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_IDAssocie 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_IDConfirme 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_IDNa tela de design, clique em
Configurar uma app .Clique em
Criar nova aplicação e faça o seguinte:No campo Nome, introduza
quickstart-three-tier-test.No campo Nome a apresentar, introduza
Quickstart three-tier test.Na lista Região, selecione
us-central1 (Iowa).Na lista Ambiente, selecione
Test.Na lista Criticidade, selecione
Low.Na área Âmbito, na lista Âmbito da aplicação, selecione
Regional.
Clique em Criar aplicação.
O sistema cria o rascunho da aplicação.
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)'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-central1Na tela de design, clique em cloud-run-1 e faça o seguinte na área de configuração:
Na lista ID do projeto, selecione o projeto descendente que criou em Antes de começar. O recurso vai ser implementado neste projeto.
No campo Nome do serviço, introduza
frontend-service.Clique em Guardar.
Na tela de design, clique em cloud-run-2 e faça o seguinte na área de configuração:
Na lista ID do projeto, selecione o projeto descendente que criou em Antes de começar. O recurso vai ser implementado neste projeto.
No campo Nome do serviço, introduza
backend-service.Clique em Guardar.
Na tela de design, clique em sql-postgresql-1 e faça o seguinte na área de configuração:
Na lista ID do projeto, selecione o projeto descendente que criou em Antes de começar. O recurso vai ser implementado neste projeto.
No campo Nome, introduza
database-postgresql.Na lista Versão da base de dados, selecione
POSTGRES_15.Na lista pendente Zona, selecione
us-central1-a.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
Testpara validação.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)'Para cada componente, no diretório inicial, crie um ficheiro JSON que contenha os valores dos parâmetros necessários.
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" } ] }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" } ] }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" } ] }
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.jsonClique em
Implementar .Na área Selecionar uma conta de serviço, faça o seguinte:
Clique em Criar uma nova conta de serviço.
Clique em Continuar.
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.
Para criar com base neste início rápido, consulte o artigo Atualize um modelo de aplicação e volte a implementá-lo.
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)'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"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."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."Identifique o número do projeto de gestão.
gcloud projects describe MANAGEMENT_PROJECT_ID \ --format="value(projectNumber)"Adicione uma associação de política IAM para a função
roles/iam.serviceAccountUserno 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"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.comConceda 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.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_IDImplemente a aplicação.
gcloud design-center spaces applications deploy quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --asyncIdentifique o ID da operação.
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_IDQuando 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)'-
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.
No seletor de projetos da Google Cloud consola, selecione o projeto de gestão.
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.
No menu de navegação, clique em Candidaturas.
Na tabela, clique em Início rápido da app Web de três camadas.
Clique em Ações e selecione Eliminar aplicação.
No campo Eliminar, introduza
Quickstart three-tier web app.Clique em Eliminar.
- 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.
- Na Google Cloud consola, aceda à página Gerir recursos.
- Na lista de projetos, selecione o projeto que quer eliminar e, de seguida, clique em Eliminar.
- Na mensagem, escreva o ID do projeto e, de seguida, clique em Encerrar.
Certifique-se de que tem as funções necessárias
Crie um novo modelo e adicione detalhes
Tela de design
Gemini Cloud Assist
CLI gcloud
Crie um rascunho da candidatura
Tela de design
CLI gcloud
Configure componentes
Tela de design
CLI gcloud
Implemente a aplicação
Tela de design
CLI gcloud
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:
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
O sistema elimina a aplicação, incluindo o seguinte:
Opcional: elimine o projeto
Para eliminar o projeto descendente que criou em Antes de começar, faça o seguinte: