Configurar un proyecto del host (versión antigua)

En este documento se describe cómo configurar un proyecto anfitrión en App Hub.

El proyecto host es un modelo de configuración de aplicaciones antiguo que se admite para los usuarios de App Hub. Te recomendamos que definas límites a nivel de carpeta configurando una carpeta habilitada para aplicaciones para las nuevas implementaciones. Los límites a nivel de carpeta proporcionan acceso al conjunto completo de funciones de Google Cloud centradas en las aplicaciones, como Application Design Center y Gemini Cloud Assist. Para ver una comparación de las principales diferencias entre los modelos disponibles para la gestión de aplicaciones, consulta el artículo Elegir el modelo de configuración de aplicaciones.

Descripción general de los proyectos host y de servicio

Un proyecto host es un proyecto al que se vinculan otros proyectos que contienen los servicios y las cargas de trabajo que quieres agrupar como aplicaciones de App Hub. Google CloudLos proyectos que vinculas al proyecto del host se denominan proyectos de servicio.

Un proyecto host puede gestionar sus propios recursos directamente adjuntándose a sí mismo. Sin embargo, para una configuración de un solo proyecto, te recomendamos que uses el enfoque de un solo proyecto.

Antes de empezar

Antes de configurar un proyecto como proyecto del host y vincularle proyectos de servicio, completa los siguientes pasos: Google Cloud

  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. Los recursos de otros proyectos no serán visibles para el centro de aplicaciones. Los proyectos de servicio deben cumplir los siguientes requisitos:

    • Los proyectos de servicio deben pertenecer a la misma organización que el proyecto del 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

Para configurar un Google Cloud proyecto como proyecto host, sigue estos pasos:

Consola

  1. En la Google Cloud consola, 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 del host los proyectos de servicio que contengan los servicios y las cargas de trabajo que quieras registrar en las aplicaciones de App Hub:

Consola

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

    Ir a Bienvenida

  2. Para ir a la página Configuración desde el Centro de aplicaciones, sigue estos pasos:

    Ir a Ajustes

  3. Haz clic en Adjuntar proyectos.

  4. Selecciona los proyectos del 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 adjuntar 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 desvincular un proyecto de servicio de un proyecto host, consulta Quitar proyectos de servicio.

Asignar roles y permisos de App Hub

Para conceder los roles y permisos de App Hub adecuados a los usuarios de App Hub en el proyecto host y los proyectos de servicio, sigue estos pasos:

Consola

  1. En la Google Cloud consola, 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 Principales nuevos, 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 entidad 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

Para proteger tus aplicaciones con un perímetro de Controles de Servicio de VPC, añade tu proyecto host y tus proyectos 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.

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, consulta Configurar un ámbito de métricas y Configurar un ámbito de métricas con la API.

Quitar proyectos de servicio

Para desvincular un proyecto de servicio de un proyecto del host, sigue estos pasos:

Consola

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

    Ir a Bienvenida

  2. Para ir a la página Configuración desde el Centro de aplicaciones, sigue estos pasos:

    Ir a Ajustes

  3. Selecciona las casillas de los proyectos de servicio que quieras 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 de 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