Configura App Hub

En este documento, se proporcionan instrucciones para configurar App Hub para compilar, operar y administrar aplicaciones en Google Cloud. Está destinado a las personas que configuran y administran App Hub.

Si estás configurando App Hub, las tareas principales son las siguientes:

  1. Decide si deseas crear un proyecto host de App Hub nuevo o usar un proyecto existente como proyecto host.
    • Si planeas tener más de un proyecto de host, te recomendamos que los crees en la misma carpeta.
    • Los proyectos host en App Hub no son los mismos que los proyectos de host de VPC compartida y no tienen los mismos requisitos. Por ejemplo, no necesitas una red de VPC compartida para usar App Hub. En este documento, todas las referencias a proyectos host son a proyectos de App Hub.
    • Un proyecto host no puede ser un proyecto de servicio para otros proyectos.
  2. Habilita la API de App Hub en el proyecto host.
  3. Agrega uno o más proyectos de servicio de App Hub al proyecto host.
    • Los proyectos de servicio en App Hub no son los mismos que los proyectos de servicio de VPC compartida ni tienen los mismos requisitos. En este documento, todas las referencias a proyectos de servicio son a proyectos de servicio de App Hub.
  4. Designa a los usuarios de App Hub como administradores, editores o usuarios.
  5. Crear aplicaciones
  6. Registra servicios y cargas de trabajo en la aplicación.

Servicios y cargas de trabajo

Con App Hub, los recursos de los proyectos de servicio conectados al proyecto host están disponibles para ti como servicios y cargas de trabajo. Registrar tus servicios y cargas de trabajo en una aplicación te permite observar y supervisar los recursos. Puedes designar los siguientes recursos como servicios de App Hub y registrarlos en las aplicaciones de App Hub:

  • Reglas de reenvío
  • Mapas de URL
  • Servicios de backend

Puedes designar grupos de instancias administrados (MIG), pero no VMs individuales, como cargas de trabajo y registrarlos en las aplicaciones de App Hub.

App Hub admite recursos regionales y globales (versión preliminar). Para obtener más información, consulta Recursos compatibles con App Hub.

Proceso de configuración general

En la siguiente lista, se resumen los pasos para configurar App Hub:

  1. Determina qué recursos existentes incluir en tu aplicación y a qué proyectos pertenecen.
  2. Crea un proyecto host de App Hub y habilita la API de App Hub en el proyecto. De forma opcional, crea más de un proyecto de host según la estructura organizativa de tu negocio. Si creas varios proyectos, te recomendamos que los crees en una carpeta nueva.
  3. Adjunta proyectos de servicio. Después de configurar un proyecto host, adjúntalo a proyectos de servicio con recursos subyacentes que necesiten tus aplicaciones. Ten en cuenta lo siguiente:
    1. Los proyectos de servicio deben estar en la misma organización que el proyecto host. Después de conectar un proyecto de servicio a un proyecto host, no puedes moverlo a otra organización. Para mover el proyecto de servicio a una organización diferente, debes seguir las instrucciones de este documento para quitar o desvincular el archivo adjunto del proyecto de servicio al proyecto host. Luego, puedes adjuntar el proyecto de servicio a una organización diferente.
    2. Un proyecto de servicio no se puede adjuntar a más de un proyecto host.
    3. Un proyecto host puede ser su propio proyecto de servicio, pero no puede ser un proyecto de servicio para ningún otro proyecto host.
    4. Después de vincular proyectos de servicio a un proyecto host, si consultas el proyecto host en busca de servicios o cargas de trabajo, se mostrarán automáticamente todos los servicios y cargas de trabajo en todos los proyectos de servicio.
  4. Crea una aplicación para organizar varias cargas de trabajo y servicios. Ten en cuenta lo siguiente:
    1. Asegúrate de que la aplicación tenga un nombre único en el proyecto y la ubicación del host.
    2. Un proyecto de servicio se puede adjuntar a un proyecto host con varias aplicaciones, pero sus recursos individuales se pueden registrar en una sola aplicación.
  5. Consulta servicios y cargas de trabajo, y regístralas en tu aplicación. Después de crear una aplicación, debes consultar el proyecto host para obtener los servicios y las cargas de trabajo disponibles. Las consultas se ejecutan en el proyecto host y en todos los proyectos de servicio que están conectados a él. También muestran todos los servicios y las cargas de trabajo de esos proyectos. Ten en cuenta lo siguiente:
    1. Solo puedes registrar un servicio o una carga de trabajo en una sola aplicación.
    2. Debes registrar los servicios y las cargas de trabajo de una región específica en una aplicación regional de la misma región o en una aplicación global. En las instrucciones y los comandos que se indican a continuación, se supone que todos los recursos están en la misma región. Para obtener información sobre las regiones que puedes designar, consulta Ubicaciones.
    3. Los servicios y las cargas de trabajo registrados no se ven afectados por las actualizaciones del recurso de infraestructura subyacente. En otras palabras, si borras los recursos subyacentes que actúan como servicios y cargas de trabajo, App Hub no borra las cargas de trabajo y los servicios asociados de tu aplicación. Debes anular el registro de la carga de trabajo o el servicio por separado.

Requisitos previos

Antes de configurar App Hub, completa las siguientes tareas.

  1. Decide qué proyecto existente es el host o crea uno nuevo para que sea el host. Te recomendamos que crees un proyecto nuevo.
  2. Asegúrate de haber decidido qué personas tienen los roles de Identity and Access Management (IAM) de App Hub: administrador, editor y visor.

Ten en cuenta lo siguiente:

  • Los proyectos host pueden tener uno o más proyectos de servicio adjuntos.
  • Un proyecto de servicio no se puede adjuntar a más de un proyecto host.
  • La persona que vincula un proyecto de servicio a un proyecto host debe tener el rol de administrador de App Hub de IAM en el proyecto de servicio y en el proyecto host. Para obtener más información, consulta Roles y permisos de App Hub.

Configura App Hub

En esta sección, crearás una arquitectura de ejemplo de App Hub.

En el ejemplo, una organización tiene tres proyectos de servicio, con sus recursos de infraestructura implementados en los proyectos de la siguiente manera:

  • El proyecto de servicio 1 tiene dos recursos de infraestructura: el servicio 1 y el servicio 2.
  • El proyecto de servicio 2 tiene tres recursos de infraestructura: el servicio 3, la carga de trabajo 1 y la carga de trabajo 2.
  • El proyecto de servicio 3 tiene tres recursos de infraestructura, el servicio 4, la carga de trabajo 3 y la carga de trabajo 4.

Asegúrate de que los proyectos que elijas para crear el ejemplo contengan los recursos que se describen en esta sección o prepárate para ajustar el ejemplo a medida que sigues las instrucciones.

En las siguientes secciones, se incluyen las instrucciones para crear un ejemplo de App Hub. Creas un proyecto host y agregas proyectos de servicio a él. Luego, creas una aplicación y adjuntas servicios y cargas de trabajo a ella. El ejemplo tiene tres proyectos de servicio, pero puedes agregar menos o más.

En el ejemplo, se supone que los proyectos de servicio que agregues ya existen y que contienen los servicios y las cargas de trabajo que agregas a tu aplicación. Antes de crear el ejemplo, determina qué proyectos de servicio contienen los servicios y las cargas de trabajo que deseas incluir en la aplicación.

Habilitar App Hub

En esta sección, seleccionas o creas un nuevo proyecto host, habilitas la API de App Hub y otorgas los roles y permisos adecuados a las personas de tu organización. También puedes conectar proyectos de servicio al proyecto host.

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 que será el proyecto host de App Hub.

  3. Enable the required API.

    Enable the API

  4. Si eres el creador del proyecto, se te otorga el rol de propietario básico (roles/owner). De forma predeterminada, este rol de 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 el proyecto a la principal correspondiente. Por ejemplo, una principal puede ser una Cuenta de Google (para usuarios finales) o una cuenta de servicio (para aplicaciones y cargas de trabajo de procesamiento). Para 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:

    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 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 de administrador de App Hub y haz clic en Guardar.

    6. En cada uno de los proyectos de servicio de App Hub, otorga el rol de administrador de App Hub al mismo usuario.

  5. En la consola de Google Cloud, ve a la página Configuración de App Hub.

    Ir a la configuración

  6. En la página Configuración, haz clic en Vincular proyectos.

  7. Realiza una de las siguientes acciones:

    • En la lista de proyectos, selecciona las casillas de verificación de los proyectos que deseas agregar como proyectos de servicio.
    • Busca proyectos y, luego, selecciona los que deseas agregar como proyectos de servicio.
  8. Haz clic en Seleccionar. En la tabla Proyectos de servicio adjuntos, se muestran los proyectos de servicio seleccionados.

  9. Haz clic en Cerrar.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Asegúrate de que esté instalada la versión más reciente de Google Cloud CLI. Ejecuta 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 la API de App Hub en el proyecto host que acabas de crear.

    gcloud services enable apphub.googleapis.com \
        --project=HOST_PROJECT_ID
    
  5. Si eres el creador del proyecto, se te otorga el rol de propietario básico (roles/owner). De forma predeterminada, este rol de 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 el proyecto a la principal correspondiente. Por ejemplo, una principal puede ser una Cuenta de Google (para usuarios finales) o una cuenta de servicio (para aplicaciones y cargas de trabajo de procesamiento). Para 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:

    1. De manera opcional, otorga a las personas que administrarán App Hub el rol de administrador de App Hub en el proyecto host. Repite el siguiente comando para cada administrador.

      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 tiene 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 los proyectos de servicio a las personas que administran App Hub. Debe tener el rol de administrador de App Hub para agregar proyectos de servicio al proyecto host. Necesitas al menos una persona con este rol para cada proyecto de servicio. Una sola persona puede tener el rol en varios proyectos de servicio.

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

      Reemplaza lo siguiente:

      • SERVICE_PROJECT_1: Es el primero de los tres proyectos de servicio en este ejemplo.
      • SERVICE_PROJECT_2: Es el segundo de los tres proyectos de servicio en este ejemplo.
      • SERVICE_PROJECT_3: Es el tercero de los tres proyectos de servicio en este ejemplo.
  6. Agrega tus proyectos de servicio al proyecto host de App Hub.

    gcloud apphub service-projects add SERVICE_PROJECT_1 \
        --project=HOST_PROJECT_ID
    
    gcloud apphub service-projects add SERVICE_PROJECT_2 \
        --project=HOST_PROJECT_ID
    
    gcloud apphub service-projects add SERVICE_PROJECT_3 \
        --project=HOST_PROJECT_ID
    

Opcional: Agrega proyectos de servicio al permiso de métricas del proyecto host

Para ver las métricas del sistema de las aplicaciones de tu proyecto host, añade los proyectos de servicio como contenedores de recursos al permiso de métricas del proyecto host. Un proyecto host de App Hub actúa como un proyecto de alcance que aloja un alcance de métricas. El alcance de las métricas de un proyecto de Google Cloud define los contenedores de recursos establecidos cuyos datos de series temporales el proyecto host puede graficar y supervisar. Para obtener más información sobre los contenedores de recursos, el permiso de las métricas y los proyectos de permiso, consulta Cloud Monitoring: Modelo de datos.

Para ver las métricas del sistema de una aplicación, debes agregar o borrar manualmente los proyectos de servicio supervisados, según sea necesario, de los proyectos host. Sin embargo, si usas el proyecto host como su propio proyecto de servicio, no agregues el proyecto al permiso de métricas, ya que las aplicaciones de App Hub se encuentran en el mismo proyecto.

Asegúrate de tener los siguientes roles de IAM:

Console

  1. En la consola de Google Cloud, ve a la página Configuración:

    Ir a Configuración

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. Selecciona Alcance de la métrica.

    En la pestaña Alcance de métricas, se enumeran los recursos supervisados por el proyecto de Google Cloud actual. También se muestra una lista de los proyectos de Google Cloud cuyos permisos incluyen el proyecto actual de Google Cloud.

  3. Para agregar proyectos de Google Cloud al permiso de las métricas, haz lo siguiente:

    1. En el panel Google Cloud Projects, haz clic en Add Projects.
    2. En el diálogo Agregar proyectos de Google Cloud, haz clic en Seleccionar proyectos y, luego, selecciona las casillas de verificación de los proyectos de servicio obligatorios que deseas supervisar.
    3. Para guardar los cambios, haz clic en Agregar proyectos.

      Se mostrará la página Configuración con la tabla de esa página actualizada para mostrar tus selecciones.

Después de agregar proyectos a un permiso de métricas, los cambios demoran unos 60 segundos en propagarse a través de todos los sistemas de Monitoring.

Para obtener más información sobre cómo configurar los permisos de las métricas con la consola de Google Cloud, consulta Configura un permiso de métricas.

gcloud

Para agregar tus proyectos de servicio como un contenedor de recurso supervisado al proyecto host de App Hub, haz lo siguiente:

gcloud beta monitoring metrics-scopes create projects/SERVICE_PROJECT_1 \
    --project=HOST_PROJECT_ID
gcloud beta monitoring metrics-scopes create projects/SERVICE_PROJECT_2 \
    --project=HOST_PROJECT_ID
gcloud beta monitoring metrics-scopes create projects/SERVICE_PROJECT_3 \
    --project=HOST_PROJECT_ID

Para obtener más información sobre cómo configurar los permisos de las métricas con Google Cloud CLI, consulta Configura un permiso de las métricas con la API.

Crea una aplicación

Si aún no tienes una, crea una aplicación para que sea el contenedor de tus servicios y cargas de trabajo. Según el alcance de tus servicios y cargas de trabajo en tus proyectos de servicios, crea una aplicación global (versión preliminar) o regional.

  • Una aplicación global (Versión preliminar) te permite registrar cargas de trabajo y servicios descubiertos desde recursos regionales y globales de Google Cloud.
  • Una aplicación regional te permite registrar cargas de trabajo y servicios descubiertos desde recursos regionales de Google Cloud.

Ten en cuenta que, después de crear una aplicación, no puedes cambiar su alcance. Para obtener más información sobre las aplicaciones globales y regionales, consulta Aplicaciones globales y regionales de App Hub.

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.

  4. En la página Create application, en el panel Choose application region and name, según el alcance de los servicios y las cargas de trabajo que deseas registrar en la aplicación, haz una de las siguientes acciones:

    • Para crear una aplicación que te permita registrar servicios y cargas de trabajo desde una ubicación global, selecciona Global (Versión preliminar).

    • Para crear una aplicación que te permita registrar servicios y cargas de trabajo desde una sola ubicación, haz lo siguiente:

      1. Selecciona Regional.
      2. Selecciona una Región.
  5. Ingresa el Nombre de la aplicación y haz clic en Continuar.

  6. De manera opcional, agrega más detalles de la aplicación en los campos que aparecen a continuación. Para obtener más información, consulta Cómo actualizar una aplicación existente de App Hub en este documento.

  7. Haz clic en Crear.

gcloud

  1. Crea una nueva aplicación llamada APPLICATION_NAME y asígnale un nombre visible, APPLICATION_DISPLAY_NAME.

    gcloud apphub applications create APPLICATION_NAME \
      --scope-type=SCOPE_TYPE \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Reemplaza lo siguiente:

    • APPLICATION_NAME: El nombre de tu aplicación. El nombre solo debe incluir caracteres alfanuméricos en minúsculas sin espacios.
    • SCOPE_TYPE: Es el alcance de tu aplicación que define qué servicios y cargas de trabajo están disponibles para que te registres en la aplicación. Usa uno de los siguientes valores:
    • REGION: Es la región de la aplicación. Según el --scope-type, asígnale el valor us-east1 o global (vista previa).
  2. Enumera las aplicaciones de tu proyecto host.

    gcloud apphub applications list \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    El resultado es similar a este:

    ID                DISPLAY_NAME              CREATE_TIME
    APPLICATION_NAME  APPLICATION_DISPLAY_NAME  2023-10-31T18:33:48
    
  3. Obtén detalles de la aplicación que creaste.

    gcloud apphub applications describe APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

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

    createTime: '2023-10-31T18:33:48.199394108Z'
    displayName: APPLICATION_DISPLAY_NAME
    name: projects/HOST_PROJECT_ID/locations/REGION/applications/APPLICATION_NAME
    scope:
      type: SCOPE_TYPE
    state: ACTIVE
    uid: [APPLICATION_UID]
    updateTime: '2023-10-31T18:33:48.343303819Z'
    
    

Cómo actualizar una aplicación existente de App Hub

También puedes actualizar los atributos de tu aplicación después de crearla.

Console

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

    Ir a Aplicaciones

  2. En la lista de aplicaciones, haz clic en Editar para la aplicación que quieres actualizar.

  3. Cambia los campos según sea necesario y haz clic en Guardar.

  4. Opcional: En la lista Criticality, para indicar la importancia de la aplicación, selecciona una de las siguientes opciones:

    • Fundamental
    • Alta
    • Mediano
    • Baja
  5. Opcional: En la lista Environment, para indicar la etapa del ciclo de vida del software, selecciona una de las siguientes opciones:

    • Producción
    • Etapa de pruebas
    • Desarrollo
    • Prueba
  6. Opcional: Agrega los siguientes detalles según sea necesario para los propietarios desarrolladores, los propietarios operadores y los propietarios de empresas. 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.
  7. Repite estos pasos para cada desarrollador, operador y propietario de la empresa.

  8. Haz clic en Guardar.

gcloud

  1. Actualiza tu aplicación con los atributos criticality-type, environment-type y tipo de propietario:

    gcloud apphub applications update APPLICATION_NAME \
      --display-name='APPLICATION_DISPLAY_NAME' \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --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=REGION
    

    Reemplaza lo siguiente:

    • APPLICATION_DISPLAY_NAME: Es el nombre visible de tu aplicación.
    • CRITICALITY_LEVEL: Indica qué tan importante es una aplicación, un servicio o una carga de trabajo para las operaciones de tu empresa. Proporciona uno de los siguientes valores:
      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • ENVIRONMENT: Indica las etapas del ciclo de vida del software. Proporciona uno de los siguientes valores:
      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • DISPLAY-NAME-DEVELOPER, DISPLAY-NAME-OPERATOR y DISPLAY-NAME-BUSINESS: Son los nombres visibles del desarrollador, el operador y los propietarios de la empresa, respectivamente.
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOR y EMAIL-NAME-BUSINESS: direcciones de correo electrónico del desarrollador, el operador y los propietarios de la empresa, respectivamente. Estos valores deben tener el formato username@yourdomain, por ejemplo, 222larabrown@gmail.com.
  2. Enumera las aplicaciones en las que el atributo environment-type tiene el valor PRODUCTION.

    gcloud apphub applications list \
        --filter='attributes.environment.type=PRODUCTION' \
        --project=HOST_PROJECT_ID \
        --location=REGION
    

    El resultado es similar a este:

    ID                DISPLAY_NAME              CREATE_TIME
    APPLICATION_NAME  APPLICATION_DISPLAY_NAME  2023-10-31T18:33:48
    

Registra servicios y cargas de trabajo

Cuando registras servicios y cargas de trabajo de infraestructura en una aplicación, estos se registran como recursos de App Hub. Usa una aplicación global (versión preliminar) para registrar recursos que sean globales o se distribuyan en varias regiones. Usa una aplicación regional para registrar recursos de la misma región que la aplicación. Si usas los marcadores de posición para crear la aplicación con gcloud CLI, los servicios y las cargas de trabajo en los tres proyectos de servicio son los siguientes:

  • El proyecto de servicio 1 tiene dos recursos de infraestructura: el servicio 1 y el servicio 2.
  • El proyecto de servicio 2 tiene tres recursos de infraestructura: el servicio 3, la carga de trabajo 1 y la carga de trabajo 2.
  • El proyecto de servicio 3 tiene tres recursos de infraestructura, el servicio 4, la carga de trabajo 3 y la carga de trabajo 4.

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. La pestaña Servicios y cargas de trabajo se muestra con una lista de los servicios y las cargas de trabajo registrados que se encuentran en tus proyectos de servicio.

  3. Para cada servicio o carga de trabajo que quieras registrar, haz lo siguiente:

    1. En la pestaña Servicios y cargas de trabajo, haz clic en Registrar servicio o carga de trabajo.
    2. En la página Registrar servicio o carga de trabajo, en el panel Seleccionar recurso, haz clic en Explorar para seleccionar el servicio o la carga de trabajo como Recurso.
    3. En el panel Seleccionar recurso, elige un servicio o una carga de trabajo y haz clic en Seleccionar.
    4. En el panel Seleccionar recurso, ingresa un Nombre para el servicio o la carga de trabajo y haz clic en Continuar.
    5. De manera opcional, en el panel Agregar atributos, agrega más detalles del servicio o la carga de trabajo en los campos que aparecen a continuación. Para obtener más información, consulta Cómo actualizar una aplicación existente de App Hub en este documento. Ten en cuenta que puedes seleccionar valores para los campos Criticality y Environment que sean diferentes de los valores que estableciste cuando creaste la aplicación.
    6. Haga clic en Continuar.
    7. De forma opcional, en la sección Agregar propietarios, agrega más detalles sobre los propietarios del servicio o la carga de trabajo en los campos que aparecen a continuación. Para obtener más información, consulta Cómo actualizar una aplicación existente de App Hub en este documento.
    8. Haz clic en Register.

En la pestaña Servicios y cargas de trabajo, se muestra el servicio o la carga de trabajo registrados. Para obtener más información sobre los estados de registro, consulta las propiedades y los atributos de App Hub.

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 rol de editor de App Hub en el proyecto host. Este valor tiene el formato username@yourdomain, por ejemplo, robert.smith@example.com.

  2. Enumera las cargas de trabajo descubiertas del proyecto de servicio 2, que está adjunto al proyecto host. Este comando muestra las cargas de trabajo que están disponibles para registrarse en una aplicación.

    gcloud apphub discovered-workloads list \
      --filter='workload_properties.gcp_project=projects/SERVICE_PROJECT_2' \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    El resultado es similar al siguiente, que incluye MIG no registradas:

    ID                           WORKLOAD_REFERENCE                                                                                                      WORKLOAD_PROPERTIES
    [DISCOVERED_WORKLOAD_ID_1]   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-1'}     {'gcpProject': 'projects/SERVICE_PROJECT_2', 'location': 'REGION'}
    [DISCOVERED_WORKLOAD_ID_2]   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'}     {'gcpProject': 'projects/SERVICE_PROJECT_2', 'location': 'REGION'}
    

    Copia el ID de la carga de trabajo del resultado para usarlo en el siguiente paso.

  3. Registra una carga de trabajo del paso anterior en tu aplicación.

    gcloud apphub applications workloads create WORKLOAD_NAME \
      --discovered-workload='projects/HOST_PROJECT_ID/locations/REGION/discoveredWorkloads/DISCOVERED_WORKLOAD_ID_2' \
      --display-name='mywebserver-deployment1' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Reemplaza lo siguiente:

    • WORKLOAD_NAME: Es un nombre para registrar la carga de trabajo.
    • DISCOVERED_WORKLOAD_ID_2: Es el ID de la carga de trabajo del resultado del paso anterior.
  4. Repite los dos pasos anteriores para filtrar y registrar las cargas de trabajo que desees del proyecto de servicio 3.

  5. Opcional: Puedes actualizar las cargas de trabajo con los atributos criticality-type, environment-type y propietario.

    gcloud apphub applications workloads update WORKLOAD_NAME \
      --application=APPLICATION_NAME \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --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=REGION
    

    Ten en cuenta que debes proporcionar uno de los valores especificados para criticality-type y environment-type, pero el valor puede ser diferente de los valores que estableciste cuando creaste la aplicación.

  6. Muestra una lista de las cargas de trabajo registradas en la aplicación.

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    El resultado es similar a este:

    ID                DISPLAY_NAME                 WORKLOAD_REFERENCE                                                                                                    CREATE_TIME
    WORKLOAD_NAME     mywebserver-deployment1      {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'}   2023-10-31T18:34:23
    

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

  7. Enumera los servicios descubiertos con reglas de reenvío en el proyecto de servicio 1 que está adjunto al proyecto host. Este comando muestra los servicios disponibles para registrarse en una aplicación.

    gcloud apphub discovered-services list \
      --filter='service_properties.gcp_project=projects/SERVICE_PROJECT_1 AND service_reference.uri~"forwardingRules"' \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    El resultado es similar a este:

    ID                           SERVICE_REFERENCE                                                                                                                    SERVICE_PROPERTIES
    [DISCOVERED_SERVICE_ID_1]    {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-1'}     {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'}
    [DISCOVERED_SERVICE_ID_2]    {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'}     {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'}
    

    Copia el ID de servicio, DISCOVERED_SERVICE_ID_2, del resultado para usarlo en el siguiente paso.

  8. Registra la regla de reenvío, testing-forwarding-rule-2, en el proyecto de servicio 1 como servicio.

    gcloud apphub applications services create SERVICE_NAME \
      --discovered-service='projects/HOST_PROJECT_ID/locations/REGION/discoveredServices/DISCOVERED_SERVICE_ID_2' \
      --display-name='mywebserver-service1' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Reemplaza lo siguiente:

    • SERVICE_NAME: Es un nombre para registrar el servicio.
    • DISCOVERED_SERVICE_ID_2: Es el ID de servicio del resultado del paso anterior.
  9. Repite los pasos anteriores que muestran los servicios, filtran esos servicios y los registran en los proyectos de servicios 1, 2 y 3.

  10. Actualiza un servicio con el atributo criticality-type y el atributo environment-type.

    gcloud apphub applications services update SERVICE_NAME \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID  \
      --location=REGION
    
  11. Muestra una lista de los servicios registrados en la aplicación APPLICATION_NAME y el proyecto host HOST_PROJECT_ID.

    gcloud apphub applications services list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    El resultado es similar al siguiente para cada servicio:

    ID                DISPLAY_NAME                 SERVICE_REFERENCE                                                                                                                  CREATE_TIME
    SERVICE_NAME      mywebserver-service1         {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'}   2023-11-01T21:38:08
    

    Los servicios registrados, pero separados, se indican con un valor vacío en el campo SERVICE_REFERENCE.

  12. Filtra los servicios en la aplicación APPLICATION_NAME y el proyecto host HOST_PROJECT_ID a aquellos en los que el atributo environment-type esté configurado como PRODUCTION.

    gcloud apphub applications services list \
      --filter='attributes.environment.type=PRODUCTION' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

Se completó el proceso de configuración de App Hub.

Agrega o quita proyectos de servicio

Puedes modificar los archivos adjuntos del proyecto de servicio para que diferentes recursos de infraestructura estén disponibles para agruparse en una aplicación.

Para ver las métricas del sistema de las aplicaciones en tu proyecto host, después de agregar un proyecto de servicio a un proyecto host, agrega los proyectos de servicio como contenedores de recursos al alcance de las métricas del proyecto host. Para obtener más información, consulta Cómo agregar proyectos de servicio al permiso de métricas del proyecto host en este documento. Cuando quites un proyecto de servicio de un proyecto host, considera quitar los proyectos de servicio como contenedores de recursos del permiso de métricas del proyecto host (si antes habías optado por ver las métricas del sistema de las aplicaciones en tu proyecto host). Para obtener más información, consulta los pasos para quitar los proyectos de servicio del permiso de métricas del proyecto host en este documento.

Console

Para agregar un proyecto de servicio a un proyecto host, haz lo siguiente:

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

    Ir a la configuración

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

  3. En el panel que se abre, busca proyectos en la lista que se muestra y selecciona las casillas de verificación de los proyectos que deseas agregar como proyectos de servicio.

  4. Haz clic en Seleccionar. En la tabla Proyectos de servicio adjuntos, se muestran los proyectos seleccionados como los proyectos de servicio del proyecto host.

  5. Haz clic en Cerrar.

Para quitar un proyecto de servicio de un proyecto host, haz lo siguiente:

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

    Ir a la configuración

  2. En la página Configuración, selecciona las casillas de verificación de los proyectos que deseas quitar como proyectos de servicio.

  3. Haz clic en Detach projects. La tabla Proyectos de servicio adjuntos se actualiza para mostrar solo los proyectos que permanecen adjuntos al proyecto host.

gcloud

Para agregar un proyecto de servicio a un proyecto host, haz lo siguiente:

gcloud apphub service-projects add SERVICE_PROJECT_ID \
   --project=HOST_PROJECT_ID
Reemplaza SERVICE_PROJECT_ID por el nombre del proyecto de servicio que deseas agregar al proyecto host.
Para quitar un proyecto de servicio del proyecto host, haz lo siguiente:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \
   --project=HOST_PROJECT_ID

Consulta las aplicaciones, los servicios y las cargas de trabajo existentes

Puedes ver las aplicaciones de un proyecto y enumerar los servicios y las cargas de trabajo en una aplicación.

Console

  • Para ver las aplicaciones de un proyecto, en la consola de Google Cloud, ve a la página Aplicaciones de App Hub.

    Ir a Aplicaciones

  • Para enumerar los servicios y las cargas de trabajo, haz lo siguiente:

    Aplicaciones

    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 una aplicación. Aparecerá una página con una lista de los servicios y las cargas de trabajo registrados en tu aplicación.

    3. Opcional: Para filtrar los servicios o las cargas de trabajo, haz lo siguiente:

      1. En el campo Filtro, selecciona un filtro, como Gravedad.
      2. Selecciona Alto como valor.
        Aparecerá una lista de servicios y cargas de trabajo de alta criticidad que están registrados en la aplicación.

    Servicios y cargas de trabajo

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

      Ir a Servicios y cargas de trabajo

    2. En la lista Región, selecciona las regiones desde las que deseas ver los servicios y las cargas de trabajo. Por ejemplo, selecciona us-east1.
      En la página Servicios y cargas de trabajo, se muestran todos los servicios y las cargas de trabajo de los proyectos de servicio adjuntos asociados con us-east1.

    3. Opcional: Para filtrar los servicios o las cargas de trabajo, haz lo siguiente:

      1. En el campo Filtro, selecciona un filtro, como Entorno.
      2. Selecciona Producción como valor.
        Aparecerá una lista de los servicios y las cargas de trabajo del entorno de producción que están registrados en una aplicación.

gcloud

Para ver las aplicaciones de un proyecto, haz lo siguiente:

gcloud apphub applications list \
    --project=HOST_PROJECT_ID \
    --location=REGION

Para enumerar los servicios registrados en una aplicación, sigue estos pasos:

gcloud apphub applications services list \
    --application=APPLICATION_NAME \
    --project=HOST_PROJECT_ID \
    --location=REGION

Para enumerar las cargas de trabajo registradas en una aplicación, sigue estos pasos:

gcloud apphub applications workloads list \
    --application=APPLICATION_NAME \
    --project=HOST_PROJECT_ID \
    --location=REGION

Opcional: Consulta las métricas de las aplicaciones

Puedes ver las métricas del sistema de las aplicaciones creadas en tu proyecto de host de App Hub. Estas métricas corresponden a los indicadores de oro (tráfico, errores, latencia y saturación) que ayudan a supervisar el rendimiento y el estado de la aplicación.

  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 una aplicación.

    La pestaña Servicios y cargas de trabajo se muestra con los metadatos de los servicios y las cargas de trabajo registrados en tu aplicación.

  3. Opcional: Para cambiar el período para el que se muestran las métricas, usa el selector de intervalo de tiempo. El intervalo de tiempo predeterminado es de 1 hora.

  4. Para ver las métricas del sistema de los servicios y las cargas de trabajo registrados, haz clic en bar_chart Métricas.

    Se muestra una tabla con los siguientes indicadores de calidad:

    • Tráfico: Porcentaje de solicitudes entrantes en el recurso durante el período seleccionado.
    • Tasa de errores del servidor: Es el porcentaje promedio de solicitudes entrantes que generan códigos de error HTTP de la serie 5xx durante el período seleccionado.
    • Latencia de P95: Es el percentil 95 de la latencia de una solicitud de servicio agregada durante el período seleccionado, en milisegundos.
    • Uso de CPU: Es el porcentaje promedio de uso de CPU de una carga de trabajo, agregado durante el período especificado. Los valores suelen ser números entre 0.0 y 100.0, pero pueden superar los 100.0.
    • Uso de memoria: Es el porcentaje promedio de uso de memoria de una carga de trabajo, agregado durante el período especificado.

Opcional: Explora métricas con gráficos

Para crear gráficos de métricas de tus proyectos de App Hub, usa el Explorador de métricas. Puedes restringir los datos que se grafican aplicando filtros, que se basan en etiquetas. Para obtener más información, consulta Crea gráficos con el Explorador de métricas.

Las siguientes etiquetas de metadatos del sistema de App Hub están disponibles para que las filtres (Versión preliminar):

  • apphub_application_host_project_id
  • apphub_application_id
  • apphub_application_location
  • apphub_workload_criticality_type
  • apphub_workload_environment_type
  • apphub_workload_id

Para visualizar las etiquetas de metadatos de App Hub en un gráfico, sigue estas instrucciones. Puedes seguir el mismo procedimiento para las otras etiquetas de metadatos del sistema y las métricas de App Hub.

  1. En la consola de Google Cloud, ve a la página Explorador de métricas:

    Ir al Explorador de métricas

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. En el elemento Métrica, expande el menú Seleccionar una métrica, ingresa VM Instance en la barra de filtros y, luego, usa los submenús para seleccionar un métrica y tipo de recurso específicos:
    1. En el menú Recursos activos, selecciona Instancia de VM.
    2. En el menú Categorías de métricas activas, selecciona Métricas populares.
    3. En el menú Métricas activas, selecciona Uso de CPU.
    4. Haz clic en Aplicar.
    El nombre calificado en su totalidad para esta métrica es compute.googleapis.com/instance/cpu/utilization.
  3. Configura cómo se ven los datos. Para mostrar solo las métricas de una etiqueta específica, sigue estos pasos:
    1. En el elemento Filtro, haz clic en Agregar filtro y, luego, elige apphub_application_id. Para el valor, ingresa un nombre específico de App Hub.
    2. En la entrada Agregación, elige Sin agregar en el primer menú.

    Para obtener más información sobre la configuración de un gráfico, consulta elige métricas cuando uses el Explorador de métricas.

Limpia

Limpia una aplicación existente y quita un archivo adjunto de proyecto de servicio del proyecto host para quitar los recursos asociados con el proyecto. Esto detiene el descubrimiento automático de recursos en el proyecto de servicio.

Para ello, primero debes borrar las cargas de trabajo y los servicios registrados en la 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 una aplicación. Aparecerá una lista de los servicios y las cargas de trabajo registrados en la aplicación.

  3. Cancelar el registro de un servicio o una carga de trabajo

    1. En la pestaña Servicios y cargas de trabajo, en la sección Servicios y cargas de trabajo registrados, haz clic en el nombre del servicio o la carga de trabajo que deseas anular el registro.
    2. En la pestaña Detalles, haz clic en Cancelar registro para actualizar el servicio o la carga de trabajo como un recurso Desconocido.
      En la pestaña Servicios y cargas de trabajo, una alerta notifica que la carga de trabajo está sin registrar.
    3. Repite estas instrucciones para cada servicio y carga de trabajo.
  4. Ve a la página Aplicaciones de App Hub.

    Ir a Aplicaciones

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

  6. En la página con los detalles de la solicitud, haz clic en Borrar.

  7. Para quitar los proyectos de servicio de tu proyecto host, consulta la sección Cómo agregar o quitar proyectos de servicio de este documento.

  8. Para quitar los proyectos de servicio del permiso de métricas del proyecto host, haz lo siguiente:

    1. En la consola de Google Cloud, ve a la página Configuración:

      Ir a Configuración

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

    2. Selecciona Alcance de la métrica.
    3. En el panel Proyectos de Google Cloud, haz clic en Quitar proyecto y, luego, completa el diálogo de confirmación.

gcloud

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

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME --project=HOST_PROJECT_ID \
      --location=REGION
    
  2. Cancela el registro de la carga de trabajo de la aplicación:

    gcloud apphub applications workloads delete WORKLOAD_NAME \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    La carga de trabajo ahora es una carga de trabajo descubierta que se puede registrar en la aplicación.

  3. Repite el comando anterior para borrar las cargas de trabajo registradas que queden de la aplicación.

  4. Muestra una lista de los servicios registrados en la aplicación:

    gcloud apphub applications services list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  5. Cancela el registro del servicio en la aplicación:

    gcloud apphub applications services delete SERVICE_NAME \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    El servicio ahora es un servicio descubierto que se puede registrar en la aplicación.

  6. Repite el comando anterior para cancelar el registro de los servicios registrados que quedan en la aplicación.

  7. Borra la aplicación:

    gcloud apphub applications delete APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  8. Quita un proyecto de servicio del proyecto host:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    
  9. Repite el comando anterior para quitar todos los proyectos de servicio del proyecto host.

  10. Quita los proyectos de servicio del permiso de métricas del proyecto host (versión preliminar):

    gcloud beta monitoring metrics-scopes delete projects/SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    
  11. Repite el comando anterior para quitar todos los proyectos de servicio del proyecto host del alcance de las métricas.

¿Qué sigue?