Configurer App Hub avec un projet hôte

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 :

  1. Identifiez le projet Google Cloud que vous souhaitez utiliser comme projet hôte. Vous pouvez utiliser un projet existant ou en créer un.
  2. 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

  1. 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.

    Accéder à la page d'accueil

  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. Assurez-vous que la dernière version de Google Cloud CLI est installée :

    gcloud components update
    
  3. Trouvez l'ID du projet Google Cloud que vous souhaitez configurer comme projet hôte.

  4. 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.

  5. 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

  1. Sur la page Bienvenue de la console Google Cloud , utilisez le sélecteur de projet pour sélectionner le projet hôte.

    Accéder à la page d'accueil

  2. Accédez à la page Paramètres du hub d'applications :

    Accéder aux paramètres

  3. Cliquez sur Associer des projets.

  4. 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.
  5. Cliquez sur Sélectionner.

    Le tableau Projet(s) de service associé(s) affiche les projets de service sélectionnés.

  6. Cliquez sur Fermer.

gcloud

  1. Trouvez l'ID de projet de chacun des projets Google Cloud que vous souhaitez configurer en tant que projets de service.
  2. 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.
  3. 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

  1. Sur la page Bienvenue de la console Google Cloud , utilisez le sélecteur de projet pour sélectionner le projet hôte.

    Accéder à la page d'accueil

  2. Accédez à la page IAM :

    Accéder à la page "IAM"

  3. Cliquez sur  Accorder l'accès. Le volet Accorder l'accès s'affiche.

  4. Dans le champ Nouveaux comptes principaux, saisissez l'adresse e-mail du compte principal auquel vous souhaitez accorder l'accès à App Hub.

  5. Cliquez sur Sélectionner un rôle, puis saisissez App Hub dans le champ Filtre.

  6. Sélectionnez le rôle IAM App Hub que vous souhaitez attribuer au compte principal, puis cliquez sur Enregistrer.

  7. 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

  1. 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.

  2. 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 format username@yourdomain, par exemple my.user@example.com.
    • ROLE_NAME : rôle IAM App Hub que vous souhaitez attribuer au compte principal, par exemple roles/apphub.admin.
  3. 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

  1. Sur la page Bienvenue de la console Google Cloud , utilisez le sélecteur de projet pour sélectionner le projet hôte.

    Accéder à la page d'accueil

  2. Accédez à la page Paramètres du hub d'applications :

    Accéder aux paramètres

  3. Cochez les cases des projets de service que vous souhaitez supprimer du projet hôte.

  4. 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

  1. Recherchez l'ID de projet de chacun des projets de service que vous souhaitez supprimer du projet hôte.
  2. 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.
  3. 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