Crea una aplicación de App Hub con un solo proyecto


En este instructivo, se muestra cómo configurar una aplicación de App Hub en en un solo proyecto. En un proyecto de servicio que funcione como App Hub proyecto host, implementarás un grupo de instancias administrado (MIG) con balanceo de cargas. Luego, visualizar los recursos de infraestructura como servicios y cargas de trabajo en aplicaciones en el proyecto host de App Hub.

Este instructivo está dirigido a personas que configuran y administran App Hub. Debes tener algo de experiencia con Cloud Load Balancing.

Objetivos

En este instructivo, se muestra cómo completar las siguientes tareas:

  1. Crea o selecciona un proyecto de Google Cloud. Este proyecto es tu Proyecto host de App Hub.
  2. Usa Terraform para implementar una red de VPC, un balanceador de cargas de aplicaciones externo regional y un MIG que es el extremo del balanceador de cargas. El balanceador de cargas de aplicaciones externo regional incluye los siguientes recursos:

    • Verificación de estado de HTTP
    • Regla de reenvío
    • Mapa de URL
    • Proxy de destino
    • Servicio de backend con un grupo de instancias administrado como backend
    • Certificado SSL (para HTTPS)

    Solo la regla de reenvío, el mapa de URL, el servicio de backend y el MIG pasan a estar disponibles como descubridos en App Hub. Para obtener más información, consulta conceptos y modelo de datos.

  3. Proporciona las funciones y los permisos adecuados al proyecto host.

  4. Adjunta el proyecto host de App Hub como un proyecto de servicio.

  5. Crea una aplicación en el proyecto host de App Hub.

  6. Descubre los recursos de infraestructura como servicios de App Hub y de las cargas de trabajo.

  7. Registra servicios y una carga de trabajo del proyecto de servicio en el a la aplicación y asignar atributos.

  8. Consulta los detalles de las cargas de trabajo y los servicios registrados en App Hub.

Costos

Para obtener una estimación del costo de los recursos de Google Cloud que la que usa la solución de VM administrada con balanceo de cargas, consulta la estimación calculada previamente en Calculadora de precios de Google Cloud.

Usa la estimación como punto de partida para calcular el costo de la implementación. Puedes cambiar la estimación para que refleje cualquier cambio de configuración que planeas hacer para los recursos que se usan en la solución.

La estimación calculada con anterioridad se basa en suposiciones para ciertos factores, incluidos los siguientes:

  • Las ubicaciones de Google Cloud en las que se implementan los recursos.
  • La cantidad de tiempo que se usan los recursos.

Para obtener más información sobre los costos de App Hub, consulta la página de Precios.

Antes de comenzar

Si eres el creador del proyecto, se te otorga la función de propietario básica (roles/owner). De forma predeterminada, este rol de Identity and Access Management (IAM) incluye los permisos necesarios para obtener acceso completo a la mayoría de los recursos de Google Cloud.

Si no eres el creador del proyecto, se deben otorgar los permisos necesarios en la el proyecto al principal correspondiente. Por ejemplo, un principal puede ser un Cuenta de Google (para usuarios finales) o una cuenta de servicio (para aplicaciones y cargas de trabajo de alto rendimiento).

Si quieres obtener los permisos que necesitas para completar este instructivo, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:

Si quieres obtener más información para otorgar roles, consulta Administra el acceso.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Console

  1. En la consola de Google Cloud, ve a la página del selector de proyectos.

    Ir al selector de proyectos

  2. Selecciona o crea un proyecto de Google Cloud. para que sea tu proyecto host de App Hub.

  3. Habilita las API necesarias.

    Habilita las API

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Asegúrate de que esté instalada la versión más reciente de Google Cloud CLI. Ejecutar el siguiente comando desde Cloud Shell:

      gcloud components update

  3. Crea o selecciona un proyecto nuevo, HOST_PROJECT_ID, para que sea el proyecto host de App Hub.

    • Crea un proyecto de Google Cloud:

      gcloud projects create HOST_PROJECT_ID
    • Selecciona el proyecto de Google Cloud que creaste:

      gcloud config set project HOST_PROJECT_ID
  4. Habilita las APIs de :

    gcloud services enable apphub.googleapis.com \
       cloudresourcemanager.googleapis.com \
       compute.googleapis.com \
       config.googleapis.com \
       serviceusage.googleapis.com
    

Prepara el entorno

Para ayudarte a implementar esta solución con un esfuerzo mínimo, se proporciona una configuración de Terraform en GitHub. La configuración de Terraform define todos los recursos de Google Cloud que se requieren para la solución. Descarga la configuración de Terraform desde GitHub, puedes personalizar el código según sea necesario y, luego, implementar la solución usando CLI de Terraform Luego de implementar la solución, puedes seguir usando Terraform para administrarla.

Cargas de trabajo y servicios de App Hub con un balanceador de cargas y un grupo de instancias administrado.
Figura 1: Cargas de trabajo y servicios de App Hub con un balanceador de cargas y un grupo de instancias administrado.

A continuación, se muestra el flujo de procesamiento de solicitudes de la topología a la que implementaciones de soluciones de VM administradas con balanceo de cargas.

  1. El usuario realiza una solicitud a la aplicación, que se implementa en Compute Engine. Cloud Load Balancing recibe esta solicitud.

  2. Cloud Load Balancing enruta el tráfico a Compute Engine grupo de instancias administrado con la información de la regla de reenvío, el mapa de URL y backend.

Configura el cliente de Terraform

Puedes ejecutar Terraform en Cloud Shell o en tu host local. Esta en este instructivo se describe cómo ejecutar Terraform en Cloud Shell, que tiene Terraform preinstalado y configurado para autenticarse con Google Cloud

El código de Terraform para esta solución está disponible en un repositorio de GitHub.

  1. En Cloud Shell, clona el repositorio de GitHub en Cloud Shell.

    git clone https://github.com/terraform-google-modules/terraform-docs-samples
    
  2. En Cloud Shell, verifica si el directorio de trabajo actual es terraform-docs-samples/lb/regional_external_http_load_balancer. Este es el directorio que contiene los archivos de configuración de Terraform para la solución. Si necesitas cambiar a ese directorio, ejecuta el siguiente comando:

    cd terraform-docs-samples/lb/regional_external_http_load_balancer 
    
  3. Inicializa Terraform con la ejecución del siguiente comando:

    terraform init
    

    Espera hasta ver el siguiente mensaje:

    Terraform has been successfully initialized!
    

Valida y revisa la configuración de Terraform

  1. Asegúrate de que el directorio de trabajo actual sea terraform-docs-samples/lb/regional_external_http_load_balancer. Si no es así, ve a ese directorio.

  2. Verifica que la configuración de Terraform no tenga errores:

    terraform validate
    

    Si el comando muestra algún error, realiza las correcciones necesarias en la configuración y, luego, vuelve a ejecutar el comando terraform validate. Repite este paso hasta que el comando muestre el siguiente mensaje:

    Success! The configuration is valid.
    
  3. Revisa los recursos que se definen en la configuración:

    terraform plan
    

    El resultado del comando terraform plan es una lista de los recursos que Terraform aprovisiona cuando aplicas la configuración.

    Si deseas hacer algún cambio, cambia la configuración y, luego, vuelve a ejecutar los comandos terraform validate y terraform plan.

Aprovisiona los recursos

Cuando no se necesiten más cambios en la configuración de Terraform, implementa los recursos de la siguiente manera:

  1. Asegúrate de que el directorio de trabajo actual sea terraform-docs-samples/lb/regional_external_http_load_balancer. Si no es así, ve a ese directorio.

  2. Aplica la configuración de Terraform:

    terraform apply
    

    Terraform muestra una lista de los recursos que se crearán.

  3. Cuando se te solicite que realices las acciones, ingresa yes.

    Terraform muestra mensajes que señalan el progreso de la implementación.

    Si no se puede completar la implementación, Terraform muestra los errores que causaron la falla. Revisa los mensajes de error y actualiza la configuración para corregir los errores. Luego, vuelva a ejecutar el comando terraform apply.

    Una vez que se hayan creado todos los recursos, Terraform mostrará el siguiente mensaje:

    Apply complete!
    

Espera hasta que Terraform muestre el mensaje “Apply complete!”.

Cloud Load Balancing distribuye el tráfico regla de firewall, mapa de URL, servicio de backend y MIG de Compute Engine. El backend el mapa de URL, las reglas de reenvío y el servicio servicios descubiertos en el proyecto host de App Hub. El El MIG de Compute Engine se convierte en una carga de trabajo descubierta en la Proyecto host de App Hub.

Cuando ya no necesites la solución, puedes borrar la implementación para evitar que se sigan facturando los recursos de Google Cloud. Para obtener más información, consulta Borra la implementación.

Otorga permisos de IAM

Proporciona los roles y permisos de IAM adecuados al Proyecto host de App Hub.

Console

  1. Para obtener los permisos que necesitas para completar este Pídele a tu administrador que te otorgue los permisos Roles de IAM en tu proyecto:

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

      Ir a IAM

    2. Haz clic en Otorgar acceso. Se abrirá el panel Otorgar acceso.

    3. En el campo Principales nuevas, ingresa la dirección de correo electrónico de la la persona que administrará App Hub, el rol de administrador de App Hub en el proyecto host.

    4. Haz clic en Seleccionar un rol y, en el campo Filtro, ingresa App Hub.

    5. Selecciona el rol Administrador de App Hub y haz clic en Guardar.

gcloud

  1. Para otorgar los roles a las personas que administrarán App Hub, repite el siguiente comando reemplazando el roles de IAM, según sea necesario.

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
        --member='user:HOST_PROJECT_ADMIN' \
        --role='roles/apphub.admin'

    Reemplaza HOST_PROJECT_ADMIN por el usuario que el rol de administrador de App Hub en el proyecto host. Este valor tiene el formato username@yourdomain, por ejemplo, robert.smith@example.com

  2. Otorga el rol de administrador de App Hub en el proyecto de servicio a la las personas que administran App Hub. Deben contar con el Rol de administrador de App Hub para agregar proyectos de servicio al host en un proyecto final. Necesitas al menos una persona con este rol para cada servicio. en un proyecto final. En este ejemplo, el proyecto host actúa como el proyecto de servicio.

    gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \
       --member='user:HOST_PROJECT_ADMIN' \
       --role='roles/apphub.admin'

    Reemplaza SERVICE_PROJECT_ID por el nombre del HOST_PROJECT_ID

Adjunta un proyecto de servicio

Conecta el proyecto host en el que implementaste los recursos como el servicio en un proyecto final.

Console

  1. En la consola de Google Cloud, ve a la Configuración de App Hub. .

    Ir a la configuración

  2. En la página Configuración, haz clic en Adjuntar proyectos.

  3. En el panel que aparece, busca proyectos en la lista que se muestra. selecciona la casilla de verificación del proyecto host.

  4. Haz clic en Seleccionar. En la tabla Proyectos de servicio vinculados, se muestra el host seleccionado. como el proyecto de servicio.

  5. Haz clic en Cerrar.

gcloud

Agrega tu proyecto host como proyecto de servicio a App Hub proyecto host.

gcloud apphub service-projects add HOST_PROJECT_ID \
  --project=HOST_PROJECT_ID

Crea una aplicación

Crea una aplicación para que sea el contenedor de tus servicios y cargas de trabajo.

Console

  1. Asegúrate de estar en el proyecto host.
  2. En la consola de Google Cloud, ve a la página Aplicaciones de App Hub.

    Ir a Aplicaciones

  3. Haz clic en Crear aplicación. El panel Crear aplicación que se muestra.

  4. En la lista Región, selecciona us-west1.

  5. En el campo Nombre de la aplicación, ingresa tutorial-application.

  6. Haga clic en Continuar.

  7. En la sección Agregar atributos, ingresa un Nombre visible. sample-application.

  8. En la lista Importancia, selecciona Alta. La importancia indica qué tan importante es una aplicación, un servicio o una carga de trabajo para tu empresa operations.

  9. En el campo Entorno, para indicar la etapa del software Lifecycle, selecciona Producción.

  10. Haga clic en Continuar.

  11. En la sección Agregar propietarios, agrega los siguientes detalles. para propietarios desarrolladores, propietarios operativos y propietarios de empresas. Ten en cuenta que debes ingresar la dirección de correo electrónico del propietario si agregas una pantalla de la fuente de datos.

    1. Ingresa el nombre visible de un propietario.
    2. Ingresa la dirección de correo electrónico del propietario. Este valor debe tener el formato username@yourdomain, por ejemplo, 222larabrown@gmail.com.
  12. Repite estos pasos para cada desarrollador, operador y propietario de la empresa.

  13. Haz clic en Crear.

Se creará la nueva aplicación y aparecerá en la página Aplicaciones.

gcloud

  1. Selecciona el proyecto host que creaste:

    gcloud config set project HOST_PROJECT_ID
  2. Crea una aplicación nueva llamada tutorial-application. en la región us-west1 y asígnale un nombre visible, Tutorial:

    gcloud apphub applications create tutorial-application \
        --display-name='Tutorial' \
        --scope-type=REGIONAL \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
  3. Obtén una lista de las aplicaciones de tu proyecto host.

    gcloud apphub applications list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Verás un resultado similar al siguiente:

    ID: tutorial-application
    DISPLAY_NAME: Tutorial
    CREATE_TIME: 2023-10-31T18:33:48
    
  4. Actualiza tu aplicación con criticality-type, environment-type y de propietario:

    gcloud apphub applications update tutorial-application \
      --criticality-type='HIGH' \
      --environment-type='PRODUCTION' \
      --developer-owners=display-name=DISPLAY-NAME-DEVELOPER,email=EMAIL-DEVELOPER \
      --operator-owners=display-name=DISPLAY-NAME-OPERATOR,email=EMAIL-OPERATOR \
      --business-owners=display-name=DISPLAY-NAME-BUSINESS,email=EMAIL-BUSINESS \
      --project=HOST_PROJECT_ID \
      --location=us-west1
    

    Reemplaza lo siguiente:

    • DISPLAY-NAME-DEVELOPER, DISPLAY-NAME-OPERATOR y DISPLAY-NAME-BUSINESS: Son los nombres visibles de las desarrollador, operador y propietario de la empresa, respectivamente.
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOR y EMAIL-NAME-BUSINESS: direcciones de correo electrónico del desarrollador, operador y propietario de la empresa, respectivamente. Estos valores deben tienen el formato username@yourdomain, por ejemplo, 222larabrown@gmail.com

    Notas:

    • criticality-type: Indica la importancia que tiene una aplicación, o carga de trabajo es a las operaciones comerciales.
    • environment-type: Indica las etapas del software. en el ciclo de vida del AA.
  5. Obtén detalles de la aplicación que creaste.

    gcloud apphub applications describe tutorial-application \
      --project=HOST_PROJECT_ID \
      --location=us-west1
    

    El comando muestra información en formato YAML, similar a la siguiente:

    attributes:
    businessOwners:
    – displayName: [DISPLAY-NAME-BUSINESS]
      email: [EMAIL-BUSINESS]
    criticality:
      type: HIGH
    developerOwners:
    – displayName: [DISPLAY-NAME-DEVELOPER]
      email: [EMAIL-DEVELOPER]
    environment:
      type: PRODUCTION
    operatorOwners:
    – displayName: [DISPLAY-NAME-OPERATOR]
      email: [EMAIL-OPERATOR]
    createTime: '2023-10-31T18:33:48.199394108Z'
    displayName: Tutorial
    name: projects/HOST_PROJECT_ID/locations/us-west1/applications/tutorial-application
    scope:
      type: REGIONAL
    state: ACTIVE
    uid: 9d991a9d-5d8a-4c0d-b5fd-85e39fb58c73
    updateTime: '2023-10-31T18:33:48.343303819Z'
    

Registra servicios y una carga de trabajo

El registro de servicios y cargas de trabajo los agrega a una aplicación.

Console

  1. En la consola de Google Cloud, ve a la página Aplicaciones de App Hub.

    Ir a Aplicaciones

  2. Haz clic en el nombre de tu aplicación, sample-application. Se mostrará la pestaña Servicios y cargas de trabajo con una lista de registros servicios y cargas de trabajo de tus proyectos de servicio.

  3. Registra un servicio:

    1. En la pestaña Servicios y cargas de trabajo, haz clic en Registra servicio o carga de trabajo.
    2. En el panel Registrar servicio o carga de trabajo, en la En la sección Elige un servicio o una carga de trabajo, selecciona el Nombre l7-xlb-backend-service y haz clic en Continuar.
    3. En la sección Agregar atributos, ingresa el Nombre del atributo. sample-service-backend.
    4. Ingresa service-backend en el Nombre visible.
    5. En la lista Importancia, para indicar la importancia de la app, selecciona Alta.
    6. En el campo Entorno, para indicar la etapa del software Lifecycle, selecciona Producción.
    7. Haga clic en Continuar.
    8. Agrega los siguientes detalles según sea necesario para los Propietarios desarrolladores: Propietarios operadores y Propietarios de empresa. Ten en cuenta que debes ingresar la dirección de correo electrónico del propietario si agregas un nombre visible.
      1. Ingresa el nombre visible de un propietario.
      2. Ingresa la dirección de correo electrónico del propietario. Este valor debe tener el formato username@yourdomain, por ejemplo, 222larabrown@gmail.com.
    9. Repite estos pasos para cada desarrollador, operador y propietario de la empresa.
    10. Haz clic en Register.

    En la pestaña Servicios y cargas de trabajo, en la Registros de servicios y cargas de trabajo, puedes ver el nuevo servicio agregado.

  4. Repite los pasos anteriores para registrar los otros servicios como sample-service-forwarding-rule y sample-service-url-map, respectivamente.

  5. Registra una carga de trabajo repitiendo los pasos anteriores para registrar un servicio con las siguientes excepciones:

    1. En el panel Registrar servicio o carga de trabajo, en la En la sección Elige un servicio o una carga de trabajo, selecciona el Nombre l7-xlb-backend-example y haz clic en Continuar.
    2. En la sección Agregar atributos, ingresa el Nombre del atributo. sample-workload.
    3. Ingresa workload-instance-group en el Nombre visible.

    En la pestaña Servicios y cargas de trabajo, en la Registros de servicios y cargas de trabajo, puedes ver el nuevo carga de trabajo agregada.

gcloud

  1. Agrega a una persona con permisos de editor de App Hub.

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
      --member='user:APP_HUB_EDITOR' \
      --role='roles/apphub.editor'
    

    Reemplaza APP_HUB_EDITOR por el usuario que tiene el Editor de App Hub en el proyecto host. Este valor tiene el valor formato username@yourdomain, por ejemplo, robert.smith@example.com.

  2. Enumera todos los servicios descubiertos en el proyecto host. Este comando devuelve servicios que están disponibles para registrarse en una aplicación.

    gcloud apphub discovered-services list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Verás un resultado similar al siguiente:

    ID: 71dd6fa4-5644-43ee-918f-c5fda03ffe24
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    
    ID: fe831ba4-ec16-4eb8-9ea4-b394fd30f561
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    
    ID: 637a3216-c6cc-410e-8bf9-83b7ef66a62f
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    

    Copia el servicio ID, por ejemplo, 71dd6fa4-5644-43ee-918f-c5fda03ffe24. de la salida para usar en el siguiente paso.

  3. Registra los servicios del paso anterior en tu aplicación. Copiar los IDs de servicio del campo de salida del paso anterior.

    gcloud apphub applications services create sample-service-backend \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_ID' \
        --display-name='service-backend' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
    gcloud apphub applications services create sample-service-forwarding-rule \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/FORWARDING_RULE_SERVICE_ID' \
        --display-name='service-forwarding-rule' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
    gcloud apphub applications services create sample-service-url-map \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/URL_MAP_SERVICE_ID' \
        --display-name='url-map' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Reemplaza lo siguiente:

    • BACKEND_SERVICE_ID: Es el servicio ID de la servicio de backend que quieras registrar.
    • FORWARDING_RULE_SERVICE_ID: el servicio ID de la regla de reenvío que quieres registrar.
    • URL_MAP_SERVICE_ID: Es el servicio ID de la URL. mapa que quieres registrar.
  4. Enumera todos los servicios registrados en la aplicación.

    gcloud apphub applications services list \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Verás un resultado similar al siguiente:

    ID: sample-service-backend
    DISPLAY_NAME: service-backend
    SERVICE_REFERENCE:  {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'}
    CREATE_TIME: 2024-02-13T00:31:45
    
    ID: sample-service-forwarding-rule
    DISPLAY_NAME: service-forwarding-rule
    SERVICE_REFERENCE:  {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'}
    CREATE_TIME: 2024-02-13T00:31:45
    
    ID: sample-service-url-map
    DISPLAY_NAME: url-map
    SERVICE_REFERENCE:  {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'}
    CREATE_TIME: 2024-02-13T00:31:45
    

    Los servicios registrados, pero los desvinculados se indican con un valor vacío en la SERVICE_REFERENCE. Para obtener más información sobre el estados de registro, consulta la propiedades y atributos de App Hub.

  5. Enumera todas las cargas de trabajo descubiertas en el proyecto host. Este comando devuelve de las cargas de trabajo que están disponibles para registrarse en una aplicación.

    gcloud apphub discovered-workloads list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Verás un resultado similar al siguiente:

    ID: c9c08669-0fd2-4f7c-b2b1-2cf3c57662c2
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'}
    WORKLOAD_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1', 'zone': 'us-west1-a'}
    

    Copia el ID de la carga de trabajo del resultado para usarlo en el próximo paso.

  6. Registra la carga de trabajo del paso anterior en tu aplicación. como sample-workload. Copia el ID de la carga de trabajo de salida en el paso anterior.

    gcloud apphub applications workloads create sample-workload \
        --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/WORKLOAD_ID' \
        --display-name='workload-instance-group' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Reemplaza WORKLOAD_ID por el ID del la carga de trabajo que quieres registrar.

  7. Enumera todas las cargas de trabajo registradas en la aplicación.

    gcloud apphub applications workloads list \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Verás un resultado similar al siguiente:

    ID: sample-workload
    DISPLAY_NAME: workload-instance-group
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'}
    CREATE_TIME: 2024-02-13T00:31:45
    

    Las cargas de trabajo registradas, pero desconectadas se indican con un valor vacío en el WORKLOAD_REFERENCE. Para obtener más información sobre el estados de registro, consulta la propiedades y atributos de App Hub.

Ver todos los servicios y cargas de trabajo

Puedes ver los detalles de los servicios y las cargas de trabajo de todos los los proyectos vinculados al proyecto host.

  1. En la consola de Google Cloud, ve a App Hub Servicios y cargas de trabajo.

    Ir a Servicios y cargas de trabajo

    Todos los servicios y las cargas de trabajo de los proyectos de servicio vinculados están que se muestra.

  2. En la lista Región, selecciona us-west1. Se muestra la carga de trabajo workload-instance-group con detalles como los siguientes: Tipo de App Hub, Importancia y Registrado en.

  3. Para filtrar los servicios o las cargas de trabajo según su estado, haz lo siguiente:

    1. En el campo Filtro, seleccione filtros como Estado de registro.
    2. Haz clic en Registered. Una lista de servicios y cargas de trabajo registrados a la aplicación.

Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.

Borra los recursos de App Hub

Console

  1. En la consola de Google Cloud, ve a Página Aplicaciones de App Hub

    Ir a Aplicaciones

  2. Haz clic en el nombre de una aplicación, sample-application.

  3. En la pestaña Servicios y cargas de trabajo, selecciona la En la sección Servicios y cargas de trabajo registrados, haz clic en el nombre servicio, service-forwarding-rule.

  4. En la página Servicios y cargas de trabajo, haz clic en Cancelar registro.

    Una alerta notifica que el servicio no está registrado.

  5. En la pestaña Servicios y cargas de trabajo, selecciona la En la sección Servicios y cargas de trabajo registrados, haz clic en el nombre carga de trabajo, workload-instance-group.

  6. En la pestaña Detalles, haz clic en Cancelar registro.

    Una alerta notifica que la carga de trabajo no está registrada.

  7. Ve a la página Aplicaciones de App Hub.

    Ir a Aplicaciones

  8. Haz clic en el nombre de una aplicación.

  9. En la página tutorial-application, haz clic en Borrar.

  10. En la consola de Google Cloud, ve a la Configuración de App Hub. .

    Ir a la configuración

  11. En la página Configuración, selecciona la casilla de verificación de la SERVICE_PROJECT_ID que deseas quitar del proyecto host.

  12. Haz clic en Desconectar proyectos.

gcloud

  1. Obtén una lista de los servicios registrados en la aplicación:

    gcloud apphub applications services list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
  2. Cancela el registro de los servicios de la aplicación:

    gcloud apphub applications services delete sample-service-backend \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
    gcloud apphub applications services delete sample-service-forwarding-rule \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
    gcloud apphub applications services delete sample-service-url-map \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    

    Ahora se detectaron servicios y se pueden registrar y mantener la integridad de su aplicación.

  3. Enumera las cargas de trabajo registradas en la aplicación:

    gcloud apphub applications workloads list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
  4. Cancela el registro de la carga de trabajo en la aplicación:

    gcloud apphub applications workloads delete sample-workload \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    

    Ahora es una carga de trabajo descubierta que se puede registrar y mantener la integridad de su aplicación.

  5. Borra la aplicación:

    gcloud apphub applications delete tutorial-application \
      --project=HOST_PROJECT_ID \
      --location=us-west1
    
  6. Quita el proyecto de servicio del proyecto host:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    

Borrar la implementación

Cuando ya no necesites la solución, borra todos los recursos que creaste para evitar que se sigan facturando.

Usa este procedimiento si implementaste la solución con la CLI de Terraform.

  1. En Cloud Shell, asegúrate de que el directorio de trabajo actual sea terraform-docs-samples/lb/regional_external_http_load_balancer. Si no es así, ve a ese directorio.

  2. Quita los recursos que aprovisionó Terraform:

    terraform destroy
    

    Terraform muestra una lista de los recursos que se destruirán.

  3. Cuando se te solicite que realices las acciones, ingresa yes.

    Terraform mostrará mensajes que muestran el progreso. Después de borrar todos los recursos, Terraform muestra el siguiente mensaje:

    Destroy complete!
    

Cuando ya no necesites el proyecto de Google Cloud que usaste para la solución, puedes borrarlo.

Borra el proyecto

Console

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

    Ir a Administrar recursos

  2. En la lista de proyectos, selecciona el proyecto que deseas borrar y, luego, haz clic en Borrar.
  3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

gcloud

Borra un proyecto de Google Cloud:

gcloud projects delete PROJECT_ID

Reemplaza PROJECT_ID por HOST_PROJECT_ID.

¿Qué sigue?