Cette page explique comment configurer un projet hôte pour regrouper les services et les charges de travail en tant qu'applications App Hub.
Les projets hôtes sont un modèle de configuration compatible pour les utilisateurs existants d'App Hub. Toutefois, nous vous recommandons d'utiliser des dossiers compatibles avec les applications pour configurer App Hub pour les nouvelles implémentations. Les dossiers compatibles avec les applications donnent accès à l'ensemble complet des fonctionnalités Google Cloud axées sur les applications, telles qu'Application Design Center et Gemini Cloud Assist. Pour comparer les principales différences entre les modèles de configuration App Hub disponibles, consultez Choisir votre modèle de configuration App Hub.
Présentation des projets hôte et de service
Un projet hôte est un projet Google Cloud standard que vous désignez pour regrouper les ressources compatibles en tant qu'applications App Hub. Vous associez manuellement d'autres projets, appelés projets de service, à ce projet hôte afin qu'App Hub puisse découvrir les services et les charges de travail dans ces projets et les enregistrer.
Le modèle de projet hôte et de service dans App Hub est différent de celui utilisé par le VPC partagé. Vous ne pouvez pas utiliser un projet hôte de VPC partagé ni ses projets de service associés pour App Hub. Dans App Hub, les projets hôtes et de service permettent de regrouper logiquement les ressources d'application, et non de partager des réseaux VPC.
Avant de commencer
Avant de configurer des projets Google Cloud en tant que projets hôtes et de service pour vos applications, vous devez effectuer les étapes suivantes :
- Identifiez le projet Google Cloud que vous souhaitez utiliser comme projet hôte. Vous pouvez utiliser un projet existant ou en créer un.
Identifiez les projets Google Cloud que vous souhaitez associer au projet hôte en tant que projets de service. Vous devez identifier tous les projets contenant les services et les charges de travail que vous souhaitez enregistrer dans les applications App Hub. Les ressources d'autres projets ne seront pas visibles dans App Hub. Tenez compte des aspects suivants pour les projets de service :
- Les projets de service doivent appartenir à la même organisation que le projet hôte.
- Un projet de service ne peut être associé qu'à un seul projet hôte à la fois.
- Un projet hôte peut servir de projet de service pour gérer ses propres ressources, mais vous ne pouvez pas l'associer en tant que projet de service à un autre projet hôte.
Rôles requis
Pour obtenir les autorisations nécessaires pour associer des projets de service au projet hôte, demandez à votre administrateur de vous accorder le rôle IAM Administrateur App Hub (roles/apphub.admin
) sur le projet hôte et sur chaque projet de service que vous souhaitez associer.
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Configurer le projet hôte
Pour configurer un projet en tant que projet hôte :
Console
Sur la page Bienvenue de la console Google Cloud , utilisez le sélecteur de projet pour sélectionner le projet que vous souhaitez configurer comme projet hôte.
-
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.enable
permission. 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.
Assurez-vous que la dernière version de Google Cloud CLI est installée :
gcloud components update
Trouvez l'ID du projet Google Cloud que vous souhaitez configurer comme projet hôte.
Définissez le projet hôte comme projet par défaut pour les commandes :
gcloud config set project HOST_PROJECT_ID
Remplacez
HOST_PROJECT_ID
par l'ID du projet que vous souhaitez configurer comme projet hôte.Activez l'API App Hub dans le projet hôte :
gcloud services enable apphub.googleapis.com \ --project=HOST_PROJECT_ID
Associer les projets de service
Associez au projet hôte les projets de service contenant les services et les charges de travail que vous souhaitez regrouper en tant qu'applications App Hub :
Console
Sur la page Bienvenue de la console Google Cloud , utilisez le sélecteur de projet pour sélectionner le projet hôte.
Accédez à la page Paramètres du hub d'applications :
Cliquez sur Associer des projets.
Sélectionnez les projets de service à associer au projet hôte de l'une des manières suivantes :
- Dans la liste des projets, cochez ceux que vous souhaitez associer en tant que projets de service.
- Filtrez les noms des projets et cochez les cases correspondantes.
Cliquez sur Sélectionner.
Le tableau Projet(s) de service associé(s) affiche les projets de service sélectionnés.
Cliquez sur Fermer.
gcloud
- Trouvez l'ID de projet de chacun des projets Google Cloud que vous souhaitez configurer en tant que projets de service.
Associez chaque projet de service :
gcloud apphub service-projects add SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
Remplacez les éléments suivants :
SERVICE_PROJECT_ID
: ID du projet de service à associer.HOST_PROJECT_ID
: ID du projet hôte.
Répétez la procédure précédente pour chaque projet de service que vous souhaitez associer au projet hôte.
Terraform
Pour associer un projet de service à un projet hôte à l'aide de Terraform, utilisez la ressource google_apphub_service_project_attachment
, par exemple :
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"
}
Pour dissocier un projet de service, vous devez supprimer le rattachement. Pour en savoir plus, consultez Supprimer des projets de service.
Attribuer des rôles et des autorisations App Hub
Suivez ces étapes pour accorder les rôles et autorisations App Hub appropriés aux utilisateurs App Hub dans les projets hôte et de service :
Console
Sur la page Bienvenue de la console Google Cloud , utilisez le sélecteur de projet pour sélectionner le projet hôte.
Accédez à la page IAM :
Cliquez sur
Accorder l'accès. Le volet Accorder l'accès s'affiche.Dans le champ Nouveaux comptes principaux, saisissez l'adresse e-mail du compte principal auquel vous souhaitez accorder l'accès à App Hub.
Cliquez sur Sélectionner un rôle, puis saisissez App Hub dans le champ Filtre.
Sélectionnez le rôle IAM App Hub que vous souhaitez attribuer au compte principal, puis cliquez sur Enregistrer.
Dans chacun des projets de service App Hub que vous avez associés au projet hôte, répétez la procédure précédente pour accorder les mêmes rôles aux mêmes utilisateurs.
gcloud
Trouvez l'ID de projet de chacun des projets Google Cloud que vous avez configurés en tant que projets hôtes et de service.
Accordez l'accès aux comptes principaux dans le projet hôte :
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:EMAIL_ADDRESS' \ --role='ROLE_NAME'
Remplacez les éléments suivants :
HOST_PROJECT_ID
: ID du projet hôte.EMAIL_ADDRESS
: adresse e-mail du compte principal qui doit obtenir l'accès à App Hub dans le projet hôte. Cette valeur doit être au formatusername@yourdomain
, par exemplemy.user@example.com
.ROLE_NAME
: rôle IAM App Hub que vous souhaitez attribuer au compte principal, par exempleroles/apphub.admin
.
Dans chacun des projets de service App Hub que vous avez associés au projet hôte, attribuez les mêmes rôles aux mêmes utilisateurs :
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member='user:EMAIL_ADDRESS' \ --role='ROLE_NAME'
Remplacez
SERVICE_PROJECT_ID
par l'ID du projet de service auquel vous accordez l'accès.
Configurer VPC Service Controls
Si vous souhaitez protéger vos applications avec un périmètre VPC Service Controls, ajoutez vos projets hôtes et de service App Hub au périmètre avant de créer vos applications. Pour en savoir plus, consultez Utiliser VPC Service Controls avec App Hub.
Vous pouvez désormais enregistrer des ressources existantes dans une application.
Facultatif : Configurez le champ d'application des métriques.
Pour afficher les métriques système des applications de votre projet hôte dans Cloud Monitoring, ajoutez les projets de service associés au champ d'application des métriques du projet hôte. Le projet hôte sert de projet de champ d'application pour les données de série temporelle, ce qui permet de représenter les données sous forme de graphiques et de les surveiller. Pour en savoir plus et obtenir des instructions de configuration détaillées, consultez Configurer un champ d'application des métriques et Configurer un champ d'application des métriques à l'aide de l'API.
Supprimer des projets de service
Vous pouvez modifier les pièces jointes du projet de service pour permettre à différents services et charges de travail d'être regroupés dans une application. Vous pouvez associer d'autres projets de service au projet hôte ou suivre ces étapes pour dissocier un projet de service d'un projet hôte :
Console
Sur la page Bienvenue de la console Google Cloud , utilisez le sélecteur de projet pour sélectionner le projet hôte.
Accédez à la page Paramètres du hub d'applications :
Cochez les cases des projets de service que vous souhaitez supprimer du projet hôte.
Cliquez sur Dissocier des projets.
Le tableau Projets de service associés s'actualise pour n'afficher que les projets qui restent associés au projet hôte.
gcloud
- Recherchez l'ID de projet de chacun des projets de service que vous souhaitez supprimer du projet hôte.
Supprimez chaque projet de service :
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
Remplacez les éléments suivants :
SERVICE_PROJECT_ID
: ID du projet de service à supprimer.HOST_PROJECT_ID
: ID du projet hôte.
Répétez la procédure précédente pour chaque projet de service que vous souhaitez supprimer du projet hôte.
Lorsque vous supprimez un projet de service d'un projet hôte, pensez également à le supprimer du champ d'application des métriques du projet hôte si vous avez configuré le champ d'application des métriques auparavant. Pour en savoir plus, consultez Supprimer des projets d'un champ d'application des métriques.
Étapes suivantes
- Enregistrer des ressources existantes dans une application
- Configurer la surveillance des applications
- Rôles et autorisations IAM App Hub
- Présentation d'App Hub