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.

Una aplicación web de tres niveles en el lienzo de diseño. La aplicación incluye componentes de frontend, backend y base de datos.

Diseña la plantilla con una de las siguientes opciones:

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:

Guíame


Antes de empezar

  1. Configura Application Design Center.

  2. Crea un proyecto descendiente en la carpeta habilitada para aplicaciones.

    Desplegarás recursos de Google Cloud en este proyecto cuando despliegues tu aplicación.

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

  • 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
  • Asegúrate de que tienes los roles necesarios

    1. Para crear plantillas, asegúrate de tener uno de los siguientes roles en el proyecto de gestión:

    2. Para desplegar aplicaciones, asegúrate de tener uno de los siguientes roles en el proyecto de gestión:

    3. Para crear una cuenta de servicio durante la implementación, asegúrate de tener los siguientes roles:

    Crear una plantilla y añadir detalles

    Lienzo de diseño

    1. En la Google Cloud consola, ve a la página Plantillas.

      Ir a Plantillas

    2. Haz clic en Crear plantilla e introduce los siguientes datos:

      1. En el campo ID de plantilla, introduce quickstart-three-tier-web-app.

      2. En el campo Nombre de la plantilla, introduce Quickstart three-tier web app .

      3. En el campo Description (Descripción), introduce A template to generate a three-tier web application.

      4. Haz clic en Crear plantilla.

      Se crea la plantilla y se muestra el lienzo de diseño.

    3. 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)
    4. Para crear conexiones entre componentes, sigue estos pasos:

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

      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.

    Gemini Cloud Assist

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

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

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

    4. Revisa el diseño actualizado, que incluye los siguientes componentes:

      • Cloud Run (dos componentes)
      • Cloud SQL para PostgreSQL
    5. Haz clic en Editar diseño de la aplicación.

      Se muestra la página Crear una plantilla.

    6. Introduce los siguientes detalles de la plantilla:

      1. En el campo ID de plantilla, introduce quickstart-three-tier-web-app.

      2. En el campo Nombre de la plantilla, introduce Quickstart three-tier web app .

      3. En el campo Description (Descripción), introduce A template to generate a three-tier web application.

    7. Haz clic en Crear plantilla.

      El sistema crea una plantilla y muestra el lienzo de diseño.

    CLI de gcloud

    1. 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_ID
      
    2. Lista las plantillas compartidas en el catálogo de Google.

      gcloud design-center spaces shared-templates list \
      --google-catalog \
      --location=us-central1
      
      1. Identifica los IDs de plantilla compartidos de Cloud Run y Cloud SQL.
    3. 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_ID
      
    4. Añ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_ID
      
    5. Añ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_ID
      
    6. Conecta 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_ID
      
    7. Conecta 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. Confirma 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_ID
      

    Crear un borrador de aplicación

    Lienzo de diseño

    1. En el lienzo de diseño, haz clic en Configurar una aplicación.

    2. Haz clic en Crear aplicación y sigue estos pasos:

      1. En el campo Name (Nombre), introduce quickstart-three-tier-test.

      2. En el campo Nombre visible, introduce Quickstart three-tier test.

      3. En la lista Región, selecciona us-central1 (Iowa).

      4. En la lista Entorno, selecciona Test.

      5. En la lista Criticidad, selecciona Low.

      6. En el área Ámbito, en la lista Ámbito de la aplicación, selecciona Regional.

    3. Haz clic en Crear aplicación.

      El sistema crea el borrador de la aplicación.

    CLI de gcloud

    1. 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)'
      
    2. 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-central1
      

    Configurar componentes

    Lienzo de diseño

    1. En el lienzo de diseño, haga clic en cloud-run-1 y, en el área Configuración, haga lo siguiente:

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

      2. En el campo Nombre del servicio, introduce frontend-service.

      3. Haz clic en Guardar.

    2. En el lienzo de diseño, haga clic en cloud-run-2 y, en el área Configuración, haga lo siguiente:

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

      2. En el campo Nombre del servicio, introduce backend-service.

      3. Haz clic en Guardar.

    3. En el lienzo de diseño, haz clic en sql-postgresql-1 y, en el área Configuración, haz lo siguiente:

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

      2. En el campo Name (Nombre), introduce database-postgresql.

      3. En la lista Versión de la base de datos, seleccione POSTGRES_15.

      4. En la lista desplegable Zona, selecciona us-central1-a.

      5. 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 Test para verificarlo.

    CLI de gcloud

    1. 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)'
      
    2. En el directorio principal, crea un archivo JSON para cada componente que contenga los valores de los parámetros obligatorios.

      1. 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"
              }
           ]
         }
        
      2. 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"
              }
           ]
         }
        
      3. 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"
              }
           ]
         }
        
    3. 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.json
      

    Desplegar la aplicación

    Lienzo de diseño

    1. Haz clic en Desplegar.

    2. En el área Selecciona una cuenta de servicio, haz lo siguiente:

      1. Haz clic en Crear una cuenta de servicio.

      2. Haz clic en Continuar.

    3. 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.
    4. Para continuar con esta guía de inicio rápido, consulta Actualizar una plantilla de aplicación y volver a implementarla.

    CLI de gcloud

    1. 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)'
      
    2. 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"
      
    3. 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."
      
    4. 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."
      
    5. Identifica el número de tu proyecto de gestión.

      gcloud projects describe MANAGEMENT_PROJECT_ID \
      --format="value(projectNumber)"
      
    6. Añade un enlace de política de gestión de identidades y accesos (IAM) para el rol roles/iam.serviceAccountUser en 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"
      
    7. 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.com
      
    8. Concede 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.

    9. 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_ID
      
    10. Despliega la aplicación.

      gcloud design-center spaces applications deploy quickstart-three-tier-test \
      --space=SPACE \
      --location=us-central1 \
      --project=MANAGEMENT_PROJECT_ID \
      --async
      
    11. Identifica el ID de la operación.

    12. 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_ID
      
    13. Cuando 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)'
      

    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:

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

    2. En el selector de proyectos de la Google Cloud consola, selecciona el proyecto de gestión.

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

    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

    1. En el menú de navegación, haga clic en Aplicaciones.

      Ve a Aplicaciones.

    2. En la tabla, haz clic en Aplicación web de tres niveles de inicio rápido.

    3. Haz clic en Acciones y selecciona Eliminar aplicación.

    4. En el campo Eliminar, introduce Quickstart three-tier web app.

    5. Haz clic en Eliminar.

    El sistema elimina la aplicación, incluidos los siguientes elementos:

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

    Opcional: Eliminar el proyecto

    Para eliminar el proyecto derivado que has creado en la sección Antes de empezar, sigue estos pasos:

    1. En la Google Cloud consola, ve a la página Gestionar recursos.

      Ir a Gestionar recursos

    2. En la lista de proyectos, selecciona el proyecto que quieras eliminar y haz clic en Eliminar.
    3. Cuando se te pida, escribe el ID del proyecto y haz clic en Cerrar.

    Siguientes pasos