Configurar App Hub con un proyecto host

En esta página se describe cómo configurar un proyecto host para agrupar servicios y cargas de trabajo como aplicaciones de App Hub.

Los proyectos host son un modelo de configuración compatible para los usuarios de App Hub. Sin embargo, te recomendamos que uses carpetas habilitadas para aplicaciones para configurar el centro de aplicaciones en las nuevas implementaciones. Las carpetas habilitadas para aplicaciones proporcionan acceso al conjunto completo de funciones de Google Cloud centradas en aplicaciones, como Application Design Center y Gemini Cloud Assist. Para ver una comparación de las principales diferencias entre los modelos de configuración de App Hub disponibles, consulta Elegir un modelo de configuración de App Hub.

Descripción general de los proyectos host y de servicio

Un proyecto host es un proyecto estándar que designas para agrupar recursos admitidos como aplicaciones de App Hub. Google Cloud Puedes vincular manualmente otros proyectos, denominados proyectos de servicio, a este proyecto del host para que App Hub pueda detectar servicios y cargas de trabajo en esos proyectos y registrarlos.

El modelo de proyecto host y de servicio de App Hub es distinto del modelo que utiliza VPC compartida. No puedes usar un proyecto host de VPC compartida ni sus proyectos de servicio asociados en App Hub. En App Hub, los proyectos host y de servicio se usan para agrupar lógicamente los recursos de las aplicaciones, no para compartir redes de VPC.

Antes de empezar

Debes completar los siguientes pasos antes de configurar Google Cloud proyectos como proyectos host y de servicio para tus aplicaciones:

  1. Identifica el Google Cloud proyecto que quieras usar como proyecto host. Puedes usar un proyecto que ya tengas o crear uno.
  2. Identifica los Google Cloud proyectos que quieras vincular al proyecto del host como proyectos de servicio. Debe identificar todos los proyectos que contengan los servicios y las cargas de trabajo que quiera registrar en las aplicaciones de App Hub. App Hub no podrá ver los recursos de otros proyectos. Ten en cuenta los siguientes aspectos de los proyectos de servicio:

    • Los proyectos de servicio deben pertenecer a la misma organización que el proyecto host.
    • Un proyecto de servicio solo se puede vincular a un proyecto del host a la vez.
    • Un proyecto del host puede actuar como proyecto de servicio para gestionar sus propios recursos, pero no puedes vincularlo como proyecto de servicio a ningún otro proyecto del host.

Roles obligatorios

Para obtener los permisos que necesitas para adjuntar proyectos de servicio al proyecto host, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de App Hub (roles/apphub.admin) en el proyecto host y en cada proyecto de servicio que quieras adjuntar. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Configurar el proyecto del host

Sigue estos pasos para configurar un proyecto como proyecto host:

Consola

  1. En la página Bienvenido de la consola de Google Cloud , usa el selector de proyectos para elegir el proyecto que quieras configurar como proyecto host.

    Ir a Bienvenida

  2. Enable the required API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

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 la CLI de Google Cloud:

    gcloud components update
    
  3. Busca el ID del proyecto del proyecto Google Cloud que quieras configurar como proyecto host.

  4. Defina el proyecto host como proyecto predeterminado para los comandos:

    gcloud config set project HOST_PROJECT_ID
    

    Sustituye HOST_PROJECT_ID por el ID del proyecto que quieras configurar como proyecto host.

  5. Habilita la API App Hub en el proyecto host:

    gcloud services enable apphub.googleapis.com \
        --project=HOST_PROJECT_ID
    

Vincular proyectos de servicio

Vincula al proyecto host los proyectos de servicio que contengan los servicios y las cargas de trabajo que quieras agrupar como aplicaciones de App Hub:

Consola

  1. En la página Bienvenido de la consola Google Cloud , usa el selector de proyectos para seleccionar el proyecto host.

    Ir a Bienvenida

  2. Ve a la página Configuración del centro de aplicaciones:

    Ir a Ajustes

  3. Haz clic en Adjuntar proyectos.

  4. Selecciona los proyectos de servicio que quieras vincular al proyecto del host de una de las siguientes formas:

    • En la lista de proyectos, marca las casillas de los proyectos que quieras adjuntar como proyectos de servicio.
    • Filtra los nombres de los proyectos y marca sus casillas.
  5. Haz clic en Seleccionar.

    En la tabla Proyectos de servicio vinculados se muestran los proyectos de servicio seleccionados.

  6. Haz clic en Cerrar.

gcloud

  1. Busca el ID de proyecto de cada uno de los Google Cloud proyectos que quieras configurar como proyectos de servicio.
  2. Vincula cada proyecto de servicio:

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

    Haz los cambios siguientes:

    • SERVICE_PROJECT_ID: el ID del proyecto de servicio que se va a adjuntar.
    • HOST_PROJECT_ID: ID del proyecto host.
  3. Repite el proceso anterior con cada proyecto de servicio que quieras asociar al proyecto host.

Terraform

Para adjuntar un proyecto de servicio a un proyecto host con Terraform, usa el recurso google_apphub_service_project_attachment, por ejemplo:

resource "google_apphub_service_project_attachment" "example" {
    service_project_attachment_id = google_project.service_project.project_id
    depends_on = [time_sleep.wait_120s]
}

resource "google_project" "service_project" {
    project_id ="project-1"
    name = "Service Project"
    org_id = "123456789"
    deletion_policy = "DELETE"
}

resource "time_sleep" "wait_120s" {
    depends_on = [google_project.service_project]

    create_duration = "120s"
}

Para separar un proyecto de servicio, debes quitar la asociación. Para obtener más información, consulta Eliminar proyectos de servicio.

Asignar roles y permisos de App Hub

Sigue estos pasos para conceder los roles y permisos de App Hub adecuados a los usuarios de App Hub en los proyectos host y de servicio:

Consola

  1. En la página Bienvenido de la consola Google Cloud , usa el selector de proyectos para seleccionar el proyecto host.

    Ir a Bienvenida

  2. Ve a la página Gestión de identidades y accesos:

    Ir a IAM

  3. Haz clic en Conceder acceso. Se abrirá el panel Dar acceso.

  4. En el campo Nuevos principales, introduce la dirección de correo del principal al que quieras conceder acceso a App Hub.

  5. Haz clic en Seleccionar un rol e introduce Centro de aplicaciones en el campo Filtrar.

  6. Selecciona el rol de gestión de identidades y accesos de App Hub que quieras asignar a la principal y haz clic en Guardar.

  7. En cada uno de los proyectos de servicio de App Hub que hayas adjuntado al proyecto host, repite el proceso anterior para conceder los mismos roles a los mismos usuarios.

gcloud

  1. Busca el ID de proyecto de cada uno de los Google Cloud proyectos que hayas configurado como proyectos del host y de servicio.

  2. Da acceso a los principales del proyecto del host:

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
        --member='user:EMAIL_ADDRESS' \
        --role='ROLE_NAME'
    

    Haz los cambios siguientes:

    • HOST_PROJECT_ID: ID del proyecto host.
    • EMAIL_ADDRESS: la dirección de correo del director que debe obtener acceso a App Hub en el proyecto host. Este valor debe tener el formato username@yourdomain; por ejemplo, my.user@example.com.
    • ROLE_NAME: el rol de gestión de identidades y accesos de App Hub que quieras asignar al principal. Por ejemplo, roles/apphub.admin.
  3. En cada uno de los proyectos de servicio de App Hub que hayas vinculado al proyecto host, asigna los mismos roles a los mismos usuarios:

    gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \
        --member='user:EMAIL_ADDRESS' \
        --role='ROLE_NAME'
    

    Sustituye SERVICE_PROJECT_ID por el ID del proyecto de servicio al que vas a conceder acceso.

Configurar Controles de Servicio de VPC

Si quieres proteger tus aplicaciones con un perímetro de Controles de Servicio de VPC, añade tus proyectos de host y de servicio de App Hub al perímetro antes de crear las aplicaciones. Para obtener más información, consulta Usar Controles de Servicio de VPC con App Hub.

Ahora puedes registrar recursos en una aplicación.

Opcional: Configurar el ámbito de las métricas

Para ver las métricas del sistema de las aplicaciones de tu proyecto host en Cloud Monitoring, añade los proyectos de servicio adjuntos al ámbito de métricas del proyecto host. El proyecto host actúa como proyecto de ámbito para los datos de series temporales, lo que permite crear gráficos y monitorizar datos. Para obtener más información e instrucciones de configuración detalladas, consulta los artículos Configurar un ámbito de métricas y Configurar un ámbito de métricas mediante la API.

Quitar proyectos de servicio

Puedes modificar los archivos adjuntos de proyectos de servicio para que diferentes servicios y cargas de trabajo se puedan agrupar en una aplicación. Puedes vincular más proyectos de servicio al proyecto del host o seguir estos pasos para desvincular un proyecto de servicio de un proyecto del host:

Consola

  1. En la página Bienvenido de la consola Google Cloud , usa el selector de proyectos para seleccionar el proyecto host.

    Ir a Bienvenida

  2. Ve a la página Configuración del centro de aplicaciones:

    Ir a Ajustes

  3. Seleccione las casillas de los proyectos de servicio que quiera quitar del proyecto host.

  4. Haz clic en Desasociar proyectos.

    La tabla Proyectos de servicio vinculados se actualiza para mostrar solo los proyectos que siguen vinculados al proyecto del host.

gcloud

  1. Busca el ID del proyecto de cada uno de los proyectos de servicio que quieras quitar del proyecto host.
  2. Elimina cada proyecto de servicio:

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

    Haz los cambios siguientes:

    • SERVICE_PROJECT_ID: el ID del proyecto de servicio que se va a quitar.
    • HOST_PROJECT_ID: ID del proyecto host.
  3. Repite el proceso anterior con cada proyecto de servicio que quieras quitar del proyecto host.

Cuando elimines un proyecto de servicio de un proyecto host, también deberías eliminarlo del ámbito de las métricas del proyecto host si lo configuraste anteriormente. Para obtener más información, consulta Quitar proyectos de un ámbito de métricas.

Siguientes pasos