Crear y verificar una plantilla
En esta guía de inicio rápido se explica cómo crear e implementar una plantilla de aplicación web de tres niveles que incluye componentes de frontend, backend y base de datos. En la siguiente imagen se muestra el lienzo de diseño, que incluye los componentes y las conexiones de la aplicación.
Diseña la plantilla con una de las siguientes opciones:
- El lienzo de diseño de Application Design Center.
- Peticiones de lenguaje natural en Gemini Cloud Assist.
- Centro de diseño de aplicaciones Google Cloud CLI.
Una vez que hayas completado el diseño, verifica la plantilla desplegando una aplicación de prueba en el Centro de Diseño de Aplicaciones.
Para seguir las instrucciones paso a paso de esta tarea directamente en la Google Cloud consola, haz clic en Ayúdame:
Antes de empezar
Crea un proyecto descendiente en la carpeta habilitada para aplicaciones.
Desplegarás recursos de Google Cloud en este proyecto cuando despliegues tu aplicación.
Asegúrate de que la facturación esté habilitada en el proyecto descendiente.
Configurar herramientas
Puedes usar una de las siguientes opciones para completar esta guía de inicio rápido.
Usa el lienzo de diseño de la Google Cloud consola.
Para usar Gemini Cloud Assist y crear tu diseño, consulta Configurar 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.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init Para crear plantillas, asegúrate de tener uno de los siguientes roles en el proyecto de gestión:
- Administrador del centro de diseño de aplicaciones (
roles/designcenter.admin). - Usuario de Application Design Center (
roles/designcenter.user).
- Administrador del centro de diseño de aplicaciones (
Para desplegar aplicaciones, asegúrate de tener uno de los siguientes roles en el proyecto de gestión:
- Administrador de aplicaciones
(
roles/designcenter.applicationAdmin). - Editor de aplicaciones (
roles/designcenter.applicationEditor).
- Administrador de aplicaciones
(
Para crear una cuenta de servicio durante la implementación, asegúrate de tener los siguientes roles:
Para crear cuentas de servicio, debes tener el rol Crear cuentas de servicio(
roles/iam.serviceAccountCreator) en el proyecto de gestión.Para conceder acceso a una cuenta de servicio a tu proyecto descendiente, debes tener el rol Administrador de gestión de identidades y accesos de proyectos (
roles/resourcemanager.projectIamAdmin) en el proyecto descendiente.
En la Google Cloud consola, ve a la página Plantillas.
Haz clic en Crear plantilla e introduce los siguientes datos:
En el campo ID de plantilla, introduce
quickstart-three-tier-web-app.En el campo Nombre de la plantilla, introduce
Quickstart three-tier web app.En el campo Description (Descripción), introduce
A template to generate a three-tier web application.Haz clic en Crear plantilla.
Se crea la plantilla y se muestra el lienzo de diseño.
En el área Componentes, haga clic en los siguientes componentes para añadirlos al lienzo de diseño:
- Cloud Run (añadir dos componentes)
- Cloud SQL (PostgreSQL)
Para crear conexiones entre componentes, sigue estos pasos:
Desde el punto azul de la parte inferior de cloud-run-1, arrastra hasta el punto azul de la parte superior de cloud-run-2.
Desde el punto azul de la parte inferior de cloud-run-2, arrastra hasta el punto azul de la parte superior de sql-postgresql-1.
Tu plantilla contiene tres componentes. El lienzo muestra los componentes para representar las conexiones.
En la barra de herramientas de la Google Cloud consola, haz clic en chispa Abrir o cerrar chat de Gemini Cloud Assist.
Se abrirá el panel Cloud Assist.
En el chat de Gemini Cloud Assist, introduce la siguiente petición:
I want to create a three-tier web application.Gemini Cloud Assist genera un diseño básico para una aplicación web de tres niveles.
Para quitar los balanceadores de carga y los componentes de Secret Manager, introduce la siguiente petición:
I don't need load balancers or Secret Manager.Gemini Cloud Assist actualiza el diseño para quitar los componentes.
Revisa el diseño actualizado, que incluye los siguientes componentes:
- Cloud Run (dos componentes)
- Cloud SQL para PostgreSQL
Haz clic en Editar diseño de la aplicación.
Se muestra la página Crear una plantilla.
Introduce los siguientes detalles de la plantilla:
En el campo ID de plantilla, introduce
quickstart-three-tier-web-app.En el campo Nombre de la plantilla, introduce
Quickstart three-tier web app.En el campo Description (Descripción), introduce
A template to generate a three-tier web application.
Haz clic en Crear plantilla.
El sistema crea una plantilla y muestra el lienzo de diseño.
Crea una plantilla de aplicación.
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_IDLista las plantillas compartidas en el catálogo de Google.
gcloud design-center spaces shared-templates list \ --google-catalog \ --location=us-central1- Identifica los IDs de plantilla compartidos de Cloud Run y Cloud SQL.
Añade un componente de Cloud Run para usarlo como frontend.
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_IDAñade un segundo componente de Cloud Run para usarlo como backend.
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_IDAñade un componente de 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_IDConecta cloud-run-1 con 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_IDConecta 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_IDConfirma los cambios para crear una revisión de la plantilla de aplicación.
gcloud design-center spaces application-templates commit quickstart-three-tier-web-app \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_IDEn el lienzo de diseño, haz clic en
Configurar una aplicación .Haz clic en
Crear aplicación y sigue estos pasos:En el campo Name (Nombre), introduce
quickstart-three-tier-test.En el campo Nombre visible, introduce
Quickstart three-tier test.En la lista Región, selecciona
us-central1 (Iowa).En la lista Entorno, selecciona
Test.En la lista Criticidad, selecciona
Low.En el área Ámbito, en la lista Ámbito de la aplicación, selecciona
Regional.
Haz clic en Crear aplicación.
El sistema crea el borrador de la aplicación.
Identifica el URI de la última revisión de tu plantilla de aplicación.
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)'Crea un borrador de solicitud a partir de tu plantilla.
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-central1En el lienzo de diseño, haga clic en cloud-run-1 y, en el área Configuración, haga lo siguiente:
En la lista ID de proyecto, selecciona el proyecto descendiente que has creado en la sección Antes de empezar. El recurso se desplegará en este proyecto.
En el campo Nombre del servicio, introduce
frontend-service.Haz clic en Guardar.
En el lienzo de diseño, haga clic en cloud-run-2 y, en el área Configuración, haga lo siguiente:
En la lista ID de proyecto, selecciona el proyecto descendiente que has creado en la sección Antes de empezar. El recurso se desplegará en este proyecto.
En el campo Nombre del servicio, introduce
backend-service.Haz clic en Guardar.
En el lienzo de diseño, haz clic en sql-postgresql-1 y, en el área Configuración, haz lo siguiente:
En la lista ID de proyecto, selecciona el proyecto descendiente que has creado en la sección Antes de empezar. El recurso se desplegará en este proyecto.
En el campo Name (Nombre), introduce
database-postgresql.En la lista Versión de la base de datos, seleccione
POSTGRES_15.En la lista desplegable Zona, selecciona
us-central1-a.Haz clic en Guardar.
En el lienzo se muestra una marca de verificación verde en cada componente para indicar que ha especificado los parámetros obligatorios. Ahora puedes desplegar el borrador de la aplicación en el entorno
Testpara verificarlo.Describe la aplicación para identificar los parámetros de configuración necesarios.
gcloud design-center spaces applications describe quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --format='yaml(name,componentParameters)'En el directorio principal, crea un archivo JSON para cada componente que contenga los valores de los parámetros obligatorios.
Crear
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" } ] }Crear
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" } ] }Crear
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" } ] }
Actualice la aplicación para configurar los parámetros necesarios.
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.jsonHaz clic en
Desplegar .En el área Selecciona una cuenta de servicio, haz lo siguiente:
Haz clic en Crear una cuenta de servicio.
Haz clic en Continuar.
Haz clic en Desplegar.
Al cabo de unos minutos, el sistema implementa la aplicación y crea recursos en tu proyecto. El sistema muestra los siguientes detalles:
- Un enlace a App Hub, donde puedes ver los detalles de los recursos desplegados, incluidos enlaces a los paneles de control de monitorización.
- Enlaces a los registros de Cloud Build, que puedes usar para solucionar errores de despliegue.
- Se muestran resultados como los URIs de servicio, que puedes usar para interactuar con los recursos implementados.
Para continuar con esta guía de inicio rápido, consulta Actualizar una plantilla de aplicación y volver a implementarla.
Describe la aplicación para identificar los roles de gestión de identidades y accesos necesarios para tu cuenta de servicio de implementación.
gcloud design-center spaces applications describe quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --format='yaml(name,projectParameters)'Crea una cuenta de servicio para implementar la aplicación.
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"Añade los roles de proyecto de implementación necesarios a la cuenta de servicio.
#!/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."Añade los roles de proyecto de gestión necesarios a la cuenta de servicio.
#!/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."Identifica el número de tu proyecto de gestión.
gcloud projects describe MANAGEMENT_PROJECT_ID \ --format="value(projectNumber)"Añade un enlace de política de gestión de identidades y accesos (IAM) para el rol
roles/iam.serviceAccountUseren tu proyecto de gestión.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"Actualiza la aplicación para usar tu cuenta de servicio.
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.comConcede a tu usuario el permiso actAs en tu cuenta de servicio.
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 es tu Google Cloud usuario. Por ejemplo,
dana@example.com.Previsualiza la aplicación:
La vista previa tarda unos minutos en generarse.
gcloud design-center spaces applications preview quickstart-three-tier-test \ --location=us-central1 \ --space=SPACE \ --project=MANAGEMENT_PROJECT_IDDespliega la aplicación.
gcloud design-center spaces applications deploy quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --asyncIdentifica el ID de la operación.
El despliegue tarda unos minutos en completarse. Monitoriza el estado del despliegue.
gcloud design-center operations describe operation-OPERATION_ID \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_IDCuando se complete la implementación, identifique los parámetros de salida de la aplicación.
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)'-
En la consola, ve a la página Monitorización de aplicaciones: Google Cloud
Ir a Monitorización de aplicaciones
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Monitorización.
En el selector de proyectos de la Google Cloud consola, selecciona el proyecto de gestión.
Para obtener instrucciones detalladas sobre cómo usar los paneles predefinidos y explorar los datos de telemetría, consulta el artículo Ver telemetría de aplicaciones.
En el menú de navegación, haga clic en Aplicaciones.
En la tabla, haz clic en Aplicación web de tres niveles de inicio rápido.
Haz clic en Acciones y selecciona Eliminar aplicación.
En el campo Eliminar, introduce
Quickstart three-tier web app.Haz clic en Eliminar.
- Los detalles de la aplicación se eliminan de Application Design Center.
- Se elimina la aplicación subyacente App Hub.
- Se eliminan los recursos subyacentes.
- En la Google Cloud consola, ve a la página Gestionar recursos.
- En la lista de proyectos, selecciona el proyecto que quieras eliminar y haz clic en Eliminar.
- Cuando se te pida, escribe el ID del proyecto y haz clic en Cerrar.
Asegúrate de que tienes los roles necesarios
Crear una plantilla y añadir detalles
Lienzo de diseño
Gemini Cloud Assist
CLI de gcloud
Crear un borrador de aplicación
Lienzo de diseño
CLI de gcloud
Configurar componentes
Lienzo de diseño
CLI de gcloud
Desplegar la aplicación
Lienzo de diseño
CLI de gcloud
Opcional: Monitorizar la implementación
Después de implementar una aplicación, puede usar Application Monitoring para ver la telemetría de la aplicación y monitorizar su estado y rendimiento:
También puedes obtener información adicional sobre el estado y el rendimiento en Cloud Hub, como fallos de implementación e implementaciones que se pueden actualizar, información sobre Google Cloud incidentes que afectan a tus aplicaciones y servicios que están cerca de sus límites de cuota.
Limpieza
Para evitar que se apliquen cargos en tu Google Cloud cuenta por los recursos utilizados en esta página, elimina el Google Cloud proyecto con los recursos.
Eliminar la aplicación desplegada
El sistema elimina la aplicación, incluidos los siguientes elementos:
Opcional: Eliminar el proyecto
Para eliminar el proyecto derivado que has creado en la sección Antes de empezar, sigue estos pasos: