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
- Identifica el Google Cloud proyecto que quieras usar como proyecto host. Puedes usar un proyecto que ya tengas o crear uno.
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
En la Google Cloud consola, usa el selector de proyectos para elegir el proyecto que quieras configurar como proyecto host.
-
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 theserviceusage.services.enablepermission. Learn how to grant roles.
gcloud
-
In the Google Cloud console, 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.
Asegúrate de que esté instalada la versión más reciente de la CLI de Google Cloud:
gcloud components updateBusca el ID del proyecto del proyecto Google Cloud que quieras configurar como proyecto host.
Defina el proyecto host como proyecto predeterminado para los comandos:
gcloud config set project HOST_PROJECT_IDSustituye
HOST_PROJECT_IDpor el ID del proyecto que quieras configurar como proyecto host.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
En la Google Cloud consola, usa el selector de proyectos para seleccionar el proyecto host.
Para ir a la página Configuración desde el Centro de aplicaciones, sigue estos pasos:
Haz clic en Adjuntar proyectos.
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.
Haz clic en Seleccionar.
En la tabla Proyectos de servicio vinculados se muestran los proyectos de servicio seleccionados.
Haz clic en Cerrar.
gcloud
- Busca el ID de proyecto de cada uno de los Google Cloud proyectos que quieras configurar como proyectos de servicio.
Vincula cada proyecto de servicio:
gcloud apphub service-projects add SERVICE_PROJECT_ID \ --project=HOST_PROJECT_IDHaz los cambios siguientes:
SERVICE_PROJECT_ID: el ID del proyecto de servicio que se va a adjuntar.HOST_PROJECT_ID: ID del proyecto host.
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
En la Google Cloud consola, usa el selector de proyectos para seleccionar el proyecto host.
Ve a la página Gestión de identidades y accesos:
Haz clic en Conceder acceso. Se abrirá el panel Dar acceso.
En el campo Principales nuevos, introduce la dirección de correo del principal al que quieras conceder acceso a App Hub.
Haz clic en Seleccionar un rol e introduce Centro de aplicaciones en el campo Filtrar.
Selecciona el rol de gestión de identidades y accesos de App Hub que quieras asignar a la entidad y haz clic en Guardar.
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
Busca el ID de proyecto de cada uno de los Google Cloud proyectos que hayas configurado como proyectos del host y de servicio.
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 formatousername@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.
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_IDpor 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
En la Google Cloud consola, usa el selector de proyectos para seleccionar el proyecto host.
Para ir a la página Configuración desde el Centro de aplicaciones, sigue estos pasos:
Selecciona las casillas de los proyectos de servicio que quieras quitar del proyecto host.
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
- Busca el ID de proyecto de cada uno de los proyectos de servicio que quieras quitar del proyecto host.
Elimina cada proyecto de servicio:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_IDHaz los cambios siguientes:
SERVICE_PROJECT_ID: el ID del proyecto de servicio que se va a quitar.HOST_PROJECT_ID: ID del proyecto host.
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
- Registrar recursos en una aplicación
- Configurar la monitorización de aplicaciones
- Roles y permisos de gestión de identidades y accesos de App Hub
- Descripción general de App Hub