Configurer un projet hôte (ancienne méthode)

Ce document explique comment configurer un projet hôte dans App Hub et créer une limite multiprojets.

Le projet hôte est un ancien modèle de configuration d'application compatible avec les utilisateurs App Hub existants. Nous vous recommandons de définir des limites au niveau des dossiers en configurant un dossier compatible avec les applications pour les nouvelles implémentations. Les limites au niveau des dossiers donnent accès à l'ensemble 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 disponibles pour la gestion des applications, consultez Choisir votre modèle de configuration d'application.

Présentation des projets hôte et de service

Un projet hôte est un projet Google Cloudauquel vous associez d'autres projets contenant les services et les charges de travail que vous souhaitez regrouper en tant qu'applications App Hub. Les projets que vous associez au projet hôte sont appelés projets de service. L'association du projet hôte et des projets de service définit une limite multiprojet.

Un projet hôte peut gérer ses propres ressources directement en s'y rattachant. Toutefois, pour une configuration à projet unique, nous vous recommandons d'utiliser l'approche à projet unique.

Avant de commencer

Avant de configurer un projet Google Cloud en tant que projet hôte et d'y associer des projets de service, procédez comme suit :

  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 qui contiennent 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. Les projets de service doivent répondre aux exigences suivantes :

    • 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 à un autre projet hôte en tant que projet de service.

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 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 Google Cloud en tant que projet hôte, procédez comme suit :

Console

  1. Dans la console Google Cloud , utilisez le sélecteur de projet pour sélectionner votre projet.

  2. Accédez à la page Présentation depuis App Hub :

    Accéder à la page "Vue d'ensemble"

  3. Cliquez sur Configurer le hub d'applications.

  4. Sur la page Activer App Hub, sélectionnez Configuration complète pour créer une limite multiprojet.

  5. Notez le nom et l'ID du projet. Ces informations identifient le projet hôte et vous les utiliserez pour accorder l'accès.

  6. Consultez la liste des API en cours d'activation. Certaines API entraînent des coûts. En savoir plus sur les coûts des API ou cliquez sur chaque API pour voir les coûts associés.

  7. Cliquez sur Continuer.

  8. Dans l'onglet Définir la limite, vérifiez les informations sur votre projet.

  9. Cliquez sur Ajouter un projet pour ajouter des projets de service à votre limite ou les ajouter ultérieurement.

  10. Cliquez sur Continuer.

  11. Dans l'onglet Accorder l'accès, choisissez les rôles et autorisations IAM appropriés pour les administrateurs du projet. Pour obtenir la liste des rôles axés sur les applications recommandés pour les produitsGoogle Cloud , consultez Attribuer des rôles axés sur les applications à vos utilisateurs.

  12. Dans la zone Nouveaux comptes principaux, saisissez les utilisateurs, les groupes ou les comptes de service qui doivent disposer d'un accès administrateur aux tâches axées sur les applications dans le projet.

  13. Cliquez sur Attribuer des rôles, puis sur Terminer.

Vous pourrez attribuer des rôles IAM supplémentaires à vos comptes principaux ultérieurement sur la page IAM. Pour en savoir plus, consultez Attribuer un rôle IAM à l'aide de la console Google Cloud .

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
    

Ajouter des projets de service

Ajoutez des projets de service à votre limite de gestion des applications en les associant au projet hôte.

Pour associer des projets de service au projet hôte et créer une limite multiprojet, procédez comme suit :

Console

  1. Dans 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 des limites depuis App Hub :

    Accéder aux paramètres de la limite

  3. Cliquez sur  Ajouter un projet.

  4. Sélectionnez les projets de service que vous souhaitez associer au projet hôte et ajouter à votre limite 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 Projets dans votre limite affiche les projets de service sélectionnés. Le processus d'ajout de pièces jointes peut prendre un certain temps.

  6. Vérifiez que la liste des projets de service est complète.

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 d'un projet hôte, consultez Supprimer des projets de service.

Attribuer des rôles et des autorisations App Hub

Pour accorder les rôles et autorisations App Hub appropriés aux utilisateurs App Hub dans le projet hôte et les projets de service, procédez comme suit :

Console

  1. Dans 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 à 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, accordez 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

Pour protéger vos applications avec un périmètre VPC Service Controls, ajoutez vos projets hôte 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.

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

Supprimez les projets de service de votre limite de gestion des applications en les dissociant du projet hôte.

Pour dissocier un projet de service d'un projet hôte, procédez comme suit :

Console

  1. Dans 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 des limites depuis App Hub :

    Accéder aux paramètres de la limite

  3. Cochez les cases des projets de service que vous souhaitez dissocier du projet hôte et supprimer de votre périmètre.

  4. Cliquez sur Dissocier des projets.

    Le tableau Projets dans votre limite s'actualise pour n'afficher que les projets qui restent associés au projet hôte.

  5. Vérifiez que la liste des projets de service est à jour.

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. Pour en savoir plus, consultez Supprimer des projets d'un champ d'application des métriques.

Étapes suivantes