En este documento, se describe cómo configurar un proyecto host en App Hub.
El proyecto host es un modelo de configuración de aplicaciones heredado que se admite para los usuarios existentes de App Hub. Te recomendamos que definas límites a nivel de la carpeta configurando una carpeta habilitada para apps para las implementaciones nuevas. Los límites a nivel de la carpeta proporcionan acceso al conjunto completo de funciones de Google Cloud centradas en la aplicación, como Application Design Center y Gemini Cloud Assist. Para comparar las diferencias clave entre los modelos disponibles para la administración de aplicaciones, consulta Elige tu modelo de configuración de aplicaciones.
Descripción general de los proyectos host y de servicio
Un proyecto host es un proyecto de Google Cloudal que adjuntas otros proyectos que contienen los servicios y las cargas de trabajo que deseas agrupar como aplicaciones de App Hub. Los proyectos que adjuntas al proyecto host se denominan proyectos de servicio.
Un proyecto host puede administrar 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 comenzar
Antes de configurar un proyecto Google Cloud como proyecto host y adjuntar proyectos de servicio a él, completa los siguientes pasos:
- Identifica el proyecto Google Cloud que deseas usar como proyecto host. Puedes usar un proyecto existente o crear uno nuevo.
Identifica los proyectos Google Cloud que deseas adjuntar al proyecto host como proyectos de servicio. Debes identificar todos los proyectos que contienen los servicios y las cargas de trabajo que deseas registrar en las aplicaciones de App Hub. App Hub no podrá ver los recursos de otros proyectos. Los proyectos de servicio tienen los siguientes requisitos:
- Los proyectos de servicio deben estar en la misma organización que el proyecto host.
- Un proyecto de servicio solo se puede adjuntar a un proyecto host a la vez.
- Un proyecto host puede actuar como proyecto de servicio para sí mismo y administrar sus propios recursos, pero no puedes adjuntarlo como proyecto de servicio a ningún otro proyecto host.
Roles obligatorios
Para obtener los permisos que necesitas para adjuntar proyectos de servicio al proyecto host, pídele a tu administrador que te otorgue el rol de IAM de 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 otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Configura el proyecto host
Para configurar un proyecto Google Cloud como proyecto host, sigue estos pasos:
Console
En la consola de Google Cloud , usa el selector de proyectos para seleccionar el proyecto que deseas 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 Google Cloud CLI:
gcloud components updateBusca el ID del proyecto del proyecto Google Cloud que deseas configurar como proyecto host.
Configura el proyecto host como el proyecto predeterminado para los comandos:
gcloud config set project HOST_PROJECT_IDReemplaza
HOST_PROJECT_IDpor el ID del proyecto que deseas configurar como proyecto host.Habilita la API de App Hub en el proyecto host:
gcloud services enable apphub.googleapis.com \ --project=HOST_PROJECT_ID
Vincula proyectos de servicio
Vincula los proyectos de servicio que contienen los servicios y las cargas de trabajo que deseas registrar en las aplicaciones de App Hub al proyecto host:
Console
En la consola de Google Cloud , usa el selector de proyectos para seleccionar el proyecto host.
Navega a la página Configuración desde App Hub:
Haz clic en Adjuntar proyectos.
Selecciona los proyectos de servicio que se adjuntarán al proyecto host de una de las siguientes maneras:
- En la lista de proyectos, selecciona las casillas de verificación de los proyectos que deseas adjuntar como proyectos de servicio.
- Filtra los nombres de los proyectos y selecciona sus casillas de verificación.
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 cada uno de los Google Cloud proyectos que deseas configurar como proyectos de servicio.
Vincula cada proyecto de servicio:
gcloud apphub service-projects add SERVICE_PROJECT_ID \ --project=HOST_PROJECT_IDReemplaza lo siguiente:
SERVICE_PROJECT_ID: Es el ID del proyecto de servicio que se adjuntará.HOST_PROJECT_ID: Es el ID del proyecto host.
Repite el proceso anterior para 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 desconectar un proyecto de servicio de un proyecto host, consulta Cómo quitar proyectos de servicio.
Asigna roles y permisos de App Hub
Para otorgar 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:
Console
En la consola de Google Cloud , usa el selector de proyectos para seleccionar el proyecto host.
Navega a la página IAM:
Haz clic en Otorgar acceso. Se abrirá el panel Otorgar acceso.
En el campo Principales nuevas, ingresa la dirección de correo electrónico de la principal a la que deseas otorgar acceso a App Hub.
Haz clic en Seleccionar un rol y, luego, ingresa App Hub en el campo Filtro.
Selecciona el rol de IAM de App Hub que deseas asignar a la principal y haz clic en Guardar.
En cada uno de los proyectos de servicio de App Hub que vinculaste al proyecto host, repite el proceso anterior para otorgar los mismos roles a los mismos usuarios.
gcloud
Busca el ID del proyecto de cada uno de los proyectos Google Cloud que configuraste como proyectos host y de servicio.
Otorga acceso a las principales del proyecto host:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:EMAIL_ADDRESS' \ --role='ROLE_NAME'Reemplaza lo siguiente:
HOST_PROJECT_ID: Es el ID del proyecto host.EMAIL_ADDRESS: Es la dirección de correo electrónico del principal 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 IAM de App Hub que deseas asignar a la principal, por ejemplo,roles/apphub.admin.
En cada uno de los proyectos de servicio de App Hub que vinculaste al proyecto host, otorga los mismos roles a los mismos usuarios:
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member='user:EMAIL_ADDRESS' \ --role='ROLE_NAME'Reemplaza
SERVICE_PROJECT_IDpor el ID del proyecto de servicio al que otorgas acceso.
Configura los Controles del servicio de VPC
Para proteger tus aplicaciones con un perímetro de Controles del servicio de VPC, agrega tu proyecto host y tus proyectos de servicio de App Hub al perímetro antes de crear tus aplicaciones. Para obtener más información, consulta Usa los Controles del servicio de VPC con App Hub.
Opcional: Configura el permiso de métricas
Para ver las métricas del sistema de las aplicaciones dentro de tu proyecto host en Cloud Monitoring, agrega los proyectos de servicio adjuntos al permiso de métricas del proyecto host. El proyecto host sirve como proyecto de alcance para los datos de series temporales, lo que permite generar gráficos y supervisar los datos. Para obtener más información y las instrucciones de configuración, consulta Configura un permiso de métricas y Configura un permiso de métricas con la API.
Cómo quitar proyectos de servicio
Para desconectar un proyecto de servicio de un proyecto host, sigue estos pasos:
Console
En la consola de Google Cloud , usa el selector de proyectos para seleccionar el proyecto host.
Navega a la página Configuración desde App Hub:
Selecciona las casillas de verificación de los proyectos de servicio que deseas quitar del proyecto host.
Haz clic en Desvincular proyectos.
La tabla Attached Service Project(s) se actualiza para mostrar solo los proyectos que permanecen vinculados al proyecto host.
gcloud
- Busca el ID de cada uno de los proyectos de servicio que deseas quitar del proyecto host.
Quita cada proyecto de servicio:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_IDReemplaza lo siguiente:
SERVICE_PROJECT_ID: Es el ID del proyecto de servicio que se quitará.HOST_PROJECT_ID: Es el ID del proyecto host.
Repite el proceso anterior para cada proyecto de servicio que quieras quitar del proyecto host.
Cuando quites un proyecto de servicio de un proyecto host, considera quitarlo también del permiso de métricas del proyecto host si configuraste el permiso de métricas anteriormente. Para obtener más información, consulta Cómo quitar proyectos de un permiso de métricas.
¿Qué sigue?
- Registra recursos existentes en una aplicación
- Configura la supervisión de aplicaciones
- Permisos y roles de IAM de App Hub
- Descripción general de App Hub