Configurer App Hub

Ce document fournit des instructions pour configurer App Hub afin de créer, d'exploiter et de gérer des applications sur Google Cloud. Il est destiné aux personnes qui configurent et administrent App Hub.

Si vous configurez App Hub, les tâches principales sont les suivantes:

  1. Décidez si vous souhaitez créer un projet hôte App Hub ou utiliser un projet existant comme projet hôte.
    • Si vous prévoyez d'avoir plusieurs projets hôtes, nous vous recommandons vivement de les créer dans le même dossier.
    • Les projets hôtes dans App Hub ne sont pas les mêmes que les projets hôtes de VPC partagés et n'ont pas les mêmes exigences. Par exemple, vous n'avez pas besoin d'un réseau VPC partagé pour utiliser App Hub. Dans ce document, toutes les références aux projets hôtes font référence aux projets hôtes de l'App Hub.
    • Un projet hôte ne peut pas être un projet de service, sauf pour lui-même.
  2. Activez l'API App Hub dans le projet hôte.
  3. Ajoutez un ou plusieurs projets de service App Hub au projet hôte.
    • Les projets de service dans App Hub ne sont pas les mêmes que les projets de service VPC partagé et n'ont pas les mêmes exigences. Dans ce document, toutes les références aux projets de service font référence aux projets de service App Hub.
  4. Désignez les utilisateurs d'App Hub comme administrateurs, éditeurs ou lecteurs.
  5. Créer des applications
  6. Enregistrez les services et les charges de travail dans l'application.

Services et charges de travail

Avec App Hub, les ressources des projets de service associés au projet hôte sont disponibles en tant que services et charges de travail. Enregistrer vos services et vos charges de travail dans une application vous permet d'observer et de surveiller les ressources. Vous pouvez désigner les ressources suivantes comme services App Hub et les enregistrer dans les applications App Hub:

  • Règles de transfert
  • Mappages d'URL
  • Services de backend

Vous pouvez désigner des groupes d'instances gérés (MIG) comme charges de travail, mais pas des VM individuelles, et les enregistrer dans les applications App Hub.

App Hub est compatible avec les ressources globales (bêta) et régionales. Pour en savoir plus, consultez la section Ressources compatibles avec App Hub.

Processus de configuration global

La liste suivante récapitule les étapes à suivre pour configurer App Hub:

  1. Déterminez les ressources existantes à inclure dans votre application et les projets auxquels elles appartiennent.
  2. Créez un projet hôte App Hub et activez l'API App Hub dans le projet. Vous pouvez éventuellement créer plusieurs projets hôtes en fonction de la structure organisationnelle de votre entreprise. Si vous créez plusieurs projets, nous vous recommandons de les placer dans un nouveau dossier.
  3. Associez des projets de service. Une fois que vous avez configuré un projet hôte, associez-lui des projets de service avec les ressources sous-jacentes dont vos applications ont besoin. Remarques :
    1. Les projets de service doivent appartenir à la même organisation que le projet hôte. Une fois que vous avez associé un projet de service à un projet hôte, vous ne pouvez plus le déplacer vers une autre organisation. Pour déplacer le projet de service vers une autre organisation, vous devez suivre les instructions de ce document pour supprimer ou dissocier l'association du projet de service au projet hôte. Vous pouvez ensuite associer le projet de service à une autre organisation.
    2. Un projet de service ne peut pas être associé à plusieurs projets hôtes.
    3. Un projet hôte peut être son propre projet de service, mais il ne peut pas être un projet de service pour un autre projet hôte.
    4. Une fois que vous avez associé des projets de service à un projet hôte, une requête de services ou de charges de travail dans le projet hôte renvoie automatiquement tous les services et charges de travail de tous les projets de service.
  4. Créez une application pour organiser plusieurs charges de travail et services. Veuillez noter les points suivants :
    1. Assurez-vous que l'application porte un nom unique dans le projet hôte et l'emplacement.
    2. Un projet de service peut être associé à un projet hôte avec plusieurs applications, mais ses ressources individuelles ne peuvent être enregistrées que dans une seule application.
  5. Rechercher des services et des charges de travail, puis les enregistrer dans votre application Une fois que vous avez créé une application, vous interrogez le projet hôte pour connaître les services et les charges de travail disponibles. Les requêtes sont exécutées sur le projet hôte et tous les projets de service qui y sont associés. Ils renvoient également tous les services et charges de travail de ces projets. Remarques :
    1. Vous ne pouvez enregistrer un service ou une charge de travail que dans une seule application.
    2. Vous devez enregistrer les services et les charges de travail d'une région spécifique dans une application régionale de la même région ou dans une application globale. Les instructions et les commandes suivantes supposent que toutes les ressources se trouvent dans la même région. Pour en savoir plus sur les régions que vous pouvez désigner, consultez la section Emplacements.
    3. Les services et charges de travail enregistrés ne sont pas affectés par les mises à jour de la ressource d'infrastructure sous-jacente. En d'autres termes, si vous supprimez les ressources sous-jacentes qui servent de services et de charges de travail, App Hub ne supprime pas les charges de travail et les services associés de votre application. Vous devez annuler l'enregistrement de la charge de travail ou du service séparément.

Prérequis

Avant de configurer App Hub, effectuez les tâches suivantes.

  1. Déterminez quel projet existant est le projet hôte ou créez-en un pour qu'il le soit. Nous vous recommandons vivement de créer un nouveau projet.
  2. Assurez-vous d'avoir déterminé les personnes qui détiennent les rôles IAM (Identity and Access Management) pour App Hub: administrateur App Hub, éditeur App Hub et lecteur App Hub.

Veuillez noter les points suivants :

  • Les projets hôtes peuvent être associés à un ou plusieurs projets de service.
  • Un projet de service ne peut pas être associé à plusieurs projets hôtes.
  • La personne qui associe un projet de service à un projet hôte doit disposer du rôle IAM "Administrateur du hub d'applications" dans le projet de service et le projet hôte. Pour en savoir plus, consultez la section Rôles et autorisations dans App Hub.

Configurer App Hub

Dans cette section, vous allez créer un exemple d'architecture d'App Hub.

Dans l'exemple, une organisation dispose de trois projets de service, dont les ressources d'infrastructure sont déployées dans les projets comme suit:

  • Le projet de service 1 comporte deux ressources d'infrastructure, Service 1 et Service 2.
  • Le projet de service 2 comporte trois ressources d'infrastructure : le service 3, la charge de travail 1 et la charge de travail 2.
  • Le projet de service 3 comporte trois ressources d'infrastructure : le service 4, la charge de travail 3 et la charge de travail 4.

Assurez-vous que les projets que vous choisissez pour créer l'exemple contiennent les ressources décrites dans cette section, ou soyez prêt à ajuster l'exemple au fur et à mesure que vous suivez les instructions.

Les sections suivantes contiennent les instructions pour créer un exemple de hub d'applications. Vous créez un projet hôte et ajoutez des projets de service à ce projet, puis vous créez une application et associez des services et des charges de travail à celle-ci. L'exemple comporte trois projets de service, mais vous pouvez en ajouter moins ou plus.

L'exemple suppose que les projets de service que vous ajoutez existent déjà et qu'ils contiennent les services et les charges de travail que vous ajoutez à votre application. Avant de créer l'exemple, déterminez les projets de service contenant les services et les charges de travail que vous souhaitez inclure dans l'application.

Activer App Hub

Dans cette section, vous allez sélectionner ou créer un projet hôte, activer l'API App Hub et attribuer les rôles et autorisations appropriés aux membres de votre organisation. Vous devez également associer des projets de service au projet hôte.

Console

  1. Dans Google Cloud Console, accédez à la page de sélection du projet.

    Accéder au sélecteur de projet

  2. Sélectionnez ou créez un projet Google Cloud qui servira de projet hôte pour App Hub.

  3. Enable the required API.

    Enable the API

  4. Si vous êtes le créateur du projet, vous disposez du rôle de base Propriétaire (roles/owner). Par défaut, ce rôle IAM inclut les autorisations nécessaires pour accéder à la plupart des ressources Google Cloud.

    Si vous n'êtes pas le créateur du projet, les autorisations requises doivent être accordées au compte principal approprié sur le projet. Par exemple, un compte principal peut être un compte Google (pour les utilisateurs finaux) ou un compte de service (pour les applications et les charges de travail de calcul). Pour obtenir les autorisations nécessaires pour suivre ce tutoriel, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet:

    1. Dans la console Google Cloud, accédez à la page IAM.

      Accéder à IAM

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

    3. Dans le champ Nouveaux comptes principaux, saisissez l'adresse e-mail de la personne qui administrera App Hub, le rôle d'administrateur App Hub dans le projet hôte.

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

    5. Sélectionnez le rôle "Administrateur du hub d'applications", puis cliquez sur Enregistrer.

    6. Dans chacun des projets de service App Hub, attribuez le rôle Administrateur App Hub au même utilisateur.

  5. Dans la console Google Cloud, accédez à la page Paramètres de l'App Hub.

    Accéder aux paramètres

  6. Sur la page Paramètres, cliquez sur Associer des projets.

  7. Effectuez l'une des opérations suivantes :

    • Dans la liste des projets, cochez les cases des projets que vous souhaitez ajouter en tant que projets de service.
    • Recherchez des projets, puis sélectionnez ceux à ajouter en tant que projets de service.
  8. Cliquez sur Sélectionner. Le tableau Projets de service associés affiche les projets de service sélectionnés.

  9. Cliquez sur Fermer.

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. Exécutez la commande suivante à partir de Cloud Shell:

    gcloud components update
  3. Créez ou sélectionnez un projet, HOST_PROJECT_ID, qui servira de projet hôte pour App Hub.

    • Créez un projet Google Cloud :
      gcloud projects create HOST_PROJECT_ID
    • Sélectionnez le projet Google Cloud que vous avez créé :
      gcloud config set project HOST_PROJECT_ID
  4. Activez l'API App Hub dans le projet hôte que vous venez de créer.

    gcloud services enable apphub.googleapis.com \
        --project=HOST_PROJECT_ID
    
  5. Si vous êtes le créateur du projet, vous disposez du rôle de base Propriétaire (roles/owner). Par défaut, ce rôle IAM inclut les autorisations nécessaires pour accéder à la plupart des ressources Google Cloud.

    Si vous n'êtes pas le créateur du projet, les autorisations requises doivent être accordées au compte principal approprié sur le projet. Par exemple, un compte principal peut être un compte Google (pour les utilisateurs finaux) ou un compte de service (pour les applications et les charges de travail de calcul). Pour obtenir les autorisations nécessaires pour suivre ce tutoriel, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet:

    1. Si vous le souhaitez, attribuez aux personnes qui administreront App Hub le rôle d'administrateur App Hub dans le projet hôte. Répétez la commande suivante pour chaque administrateur.

      gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
          --member='user:HOST_PROJECT_ADMIN' \
          --role='roles/apphub.admin'
      

      Remplacez HOST_PROJECT_ADMIN par l'utilisateur disposant du rôle Administrateur App Hub dans le projet hôte. Cette valeur a le format username@yourdomain (par exemple, robert.smith@example.com).

    2. Accordez le rôle Administrateur d'App Hub dans les projets de service aux personnes qui administrent App Hub. Il doit disposer du rôle Administrateur du hub d'applications pour ajouter des projets de service au projet hôte. Vous devez disposer d'au moins une personne disposant de ce rôle pour chaque projet de service. Une seule personne peut occuper ce rôle dans plusieurs projets de service.

      gcloud projects add-iam-policy-binding SERVICE_PROJECT_1 \
          --member='user:HOST_PROJECT_ADMIN' \
          --role='roles/apphub.admin'
      
      gcloud projects add-iam-policy-binding SERVICE_PROJECT_2 \
          --member='user:HOST_PROJECT_ADMIN' \
          --role='roles/apphub.admin'
      
      gcloud projects add-iam-policy-binding SERVICE_PROJECT_3 \
          --member='user:HOST_PROJECT_ADMIN' \
          --role='roles/apphub.admin'
      

      Remplacez les éléments suivants :

      • SERVICE_PROJECT_1: premier des trois projets de service de cet exemple.
      • SERVICE_PROJECT_2: deuxième des trois projets de service de cet exemple.
      • SERVICE_PROJECT_3: troisième des trois projets de service de cet exemple.
  6. Ajoutez vos projets de service au projet hôte App Hub.

    gcloud apphub service-projects add SERVICE_PROJECT_1 \
        --project=HOST_PROJECT_ID
    
    gcloud apphub service-projects add SERVICE_PROJECT_2 \
        --project=HOST_PROJECT_ID
    
    gcloud apphub service-projects add SERVICE_PROJECT_3 \
        --project=HOST_PROJECT_ID
    

Facultatif: ajouter des projets de service au champ d'application des métriques du projet hôte

Vous pouvez afficher les métriques système des applications de votre projet hôte en ajoutant les projets de service en tant que conteneurs de ressources au champ d'application des métriques du projet hôte. Un projet hôte App Hub agit comme un projet de champ d'application qui héberge un champ d'application des métriques. Le champ d'application des métriques d'un projet Google Cloud définit les conteneurs de ressources définis dont les données de séries temporelles peuvent être représentées et surveillées par le projet hôte. Pour en savoir plus sur les conteneurs de ressources, le champ d'application des métriques et les projets de champ d'application, consultez la section Cloud Monitoring: modèle de données.

Pour afficher les métriques système d'une application, vous devez ajouter ou supprimer manuellement les projets de service surveillés, selon les besoins, des projets hôtes. Toutefois, si vous utilisez le projet hôte comme projet de service, n'ajoutez pas le projet au champ d'application des métriques, car les applications du hub d'applications se trouvent dans le même projet.

Assurez-vous de disposer des rôles IAM suivants:

  • Pour obtenir les autorisations nécessaires pour afficher les métriques des applications App Hub, demandez à votre administrateur d'accorder le rôle IAM Lecteur Monitoring (roles/monitoring.viewer) aux principaux. Pour en savoir plus, consultez la section Accorder l'accès à Monitoring.
  • Pour obtenir les autorisations nécessaires pour configurer un champ d'application de métriques, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Monitoring (roles/monitoring.admin) sur le projet de surveillance et sur chaque conteneur de ressources que vous souhaitez ajouter au champ d'application de métriques. 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 via des rôles personnalisés ou d'autres rôles prédéfinis.

Console

  1. Accédez à la page  Paramètres dans la console Google Cloud.

    Accéder aux paramètres

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Sélectionnez Champ d'application de la métrique.

    L'onglet Champ d'application des métriques liste les ressources surveillées par le projet Google Cloud actuel. Il liste également les projets Google Cloud dont le champ d'application des métriques inclut le projet Google Cloud actuel.

  3. Pour ajouter des projets Google Cloud au champ d'application des métriques:

    1. Dans le volet Projets Google Cloud, cliquez sur Ajouter des projets.
    2. Dans la boîte de dialogue Add Google Cloud projects (Ajouter des projets Google Cloud), cliquez sur Select Projects (Sélectionner des projets), puis cochez les cases correspondant aux projets de service requis que vous souhaitez surveiller.
    3. Pour enregistrer vos modifications, cliquez sur Ajouter des projets.

      La page Paramètres s'affiche, et le tableau de cette page est mis à jour pour afficher vos sélections.

Une fois que vous avez ajouté des projets à un champ d'application de métriques, la propagation des modifications dans tous les systèmes Monitoring prend environ 60 secondes.

Pour en savoir plus sur la configuration des champs d'application des métriques à l'aide de la console Google Cloud, consultez la section Configurer un champ d'application des métriques.

gcloud

Pour ajouter vos projets de service en tant que conteneur de ressources surveillé au projet hôte App Hub:

gcloud beta monitoring metrics-scopes create projects/SERVICE_PROJECT_1 \
    --project=HOST_PROJECT_ID
gcloud beta monitoring metrics-scopes create projects/SERVICE_PROJECT_2 \
    --project=HOST_PROJECT_ID
gcloud beta monitoring metrics-scopes create projects/SERVICE_PROJECT_3 \
    --project=HOST_PROJECT_ID

Pour en savoir plus sur la configuration des champs d'application des métriques à l'aide de la Google Cloud CLI, consultez la page Configurer un champ d'application de métriques à l'aide de l'API.

Créer une application

Si vous n'en avez pas encore, créez une application qui servira de conteneur pour vos services et vos charges de travail. En fonction de la portée de vos services et de vos charges de travail sur vos projets de service, créez une application globale (Preview) ou régionale.

  • Une application globale (Preview) vous permet d'enregistrer les services et les charges de travail détectés à partir de ressources Google Cloud régionales et globales.
  • Une application régionale vous permet d'enregistrer les services et les charges de travail détectés à partir de ressources Google Cloud régionales.

Notez qu'une fois une application créée, vous ne pouvez plus modifier son champ d'application. Pour en savoir plus sur les applications globales et régionales, consultez la section Applications globales et régionales de l'App Hub.

Console

  1. Assurez-vous d'être dans le projet hôte.
  2. Dans la console Google Cloud, accédez à la page Applications de l'App Hub.

    Accéder à la page Applications

  3. Cliquez sur Créer une application.

  4. Sur la page Créer une application, dans le volet Choisir la région et le nom de l'application, en fonction de la portée des services et des charges de travail que vous souhaitez enregistrer dans l'application, effectuez l'une des opérations suivantes:

    • Pour créer une application qui vous permet d'enregistrer des services et des charges de travail à partir d'un emplacement mondial, sélectionnez Global (Preview, Bêta).

    • Pour créer une application qui vous permet d'enregistrer des services et des charges de travail à partir d'un emplacement unique:

      1. Sélectionnez Régional.
      2. Sélectionnez une Région.
  5. Saisissez le nom de l'application, puis cliquez sur Continuer.

  6. Vous pouvez également ajouter des informations supplémentaires sur l'application dans les champs suivants. Pour en savoir plus, consultez la section Mettre à jour une application App Hub existante de ce document.

  7. Cliquez sur Créer.

gcloud

  1. Créez une application appelée APPLICATION_NAME et attribuez-lui un nom à afficher, APPLICATION_DISPLAY_NAME.

    gcloud apphub applications create APPLICATION_NAME \
      --scope-type=SCOPE_TYPE \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Remplacez les éléments suivants :

    • APPLICATION_NAME : nom de votre application. Le nom ne doit contenir que des caractères alphanumériques en minuscules, sans espaces.
    • SCOPE_TYPE: champ d'application de votre application qui définit les services et les charges de travail que vous pouvez enregistrer dans l'application. Utilisez l'une des valeurs suivantes :
      • REGIONAL
      • GLOBAL (bêta)
    • REGION: région de l'application. Selon --scope-type, attribuez la valeur us-east1 ou global (Preview).
  2. Répertoriez les applications de votre projet hôte.

    gcloud apphub applications list \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Le résultat ressemble à ce qui suit :

    ID                DISPLAY_NAME              CREATE_TIME
    APPLICATION_NAME  APPLICATION_DISPLAY_NAME  2023-10-31T18:33:48
    
  3. Obtenez des informations sur l'application que vous avez créée.

    gcloud apphub applications describe APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    La commande renvoie des informations au format YAML, semblables à ce qui suit.

    createTime: '2023-10-31T18:33:48.199394108Z'
    displayName: APPLICATION_DISPLAY_NAME
    name: projects/HOST_PROJECT_ID/locations/REGION/applications/APPLICATION_NAME
    scope:
      type: SCOPE_TYPE
    state: ACTIVE
    uid: [APPLICATION_UID]
    updateTime: '2023-10-31T18:33:48.343303819Z'
    
    

Mettre à jour une application du hub d'applications

Vous pouvez également mettre à jour les attributs de votre application après sa création.

Console

  1. Dans la console Google Cloud, accédez à la page Applications de l'App Hub.

    Accéder à la page Applications

  2. Dans la liste des applications, cliquez sur Modifier pour l'application que vous souhaitez mettre à jour.

  3. Modifiez les champs selon vos besoins, puis cliquez sur Enregistrer.

  4. Facultatif: Dans la liste Criticality (Importance), sélectionnez l'une des options suivantes pour indiquer l'importance de l'application:

    • Mission Critical
    • Élevé
    • Moyenne
    • Faible
  5. Facultatif: dans la liste Environnement, pour indiquer l'étape du cycle de vie du logiciel, sélectionnez l'une des options suivantes:

    • Production
    • Préproduction
    • Développement
    • Tester
  6. Facultatif: Ajoutez les informations suivantes si nécessaire pour les propriétaires développeurs, les propriétaires exploitants et les propriétaires d'établissements. Notez que vous devez saisir l'adresse e-mail du propriétaire si vous ajoutez un nom à afficher.

    1. Saisissez le nom à afficher d'un propriétaire.
    2. Saisissez l'adresse e-mail du propriétaire. Cette valeur doit avoir le format username@yourdomain, par exemple 222larabrown@gmail.com.
  7. Répétez ces étapes pour chaque développeur, opérateur et propriétaire d'entreprise.

  8. Cliquez sur Enregistrer.

gcloud

  1. Mettez à jour votre application avec les attributs criticality-type, environment-type et type de propriétaire:

    gcloud apphub applications update APPLICATION_NAME \
      --display-name='APPLICATION_DISPLAY_NAME' \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --developer-owners=display-name=DISPLAY-NAME-DEVELOPER,email=EMAIL-DEVELOPER \
      --operator-owners=display-name=DISPLAY-NAME-OPERATOR,email=EMAIL-OPERATOR \
      --business-owners=display-name=DISPLAY-NAME-BUSINESS,email=EMAIL-BUSINESS \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Remplacez les éléments suivants :

    • APPLICATION_DISPLAY_NAME: nom à afficher de votre application.
    • CRITICALITY_LEVEL: indique le niveau de criticité d'une application, d'un service ou d'une charge de travail pour vos opérations commerciales. Indiquez l'une des valeurs suivantes :
      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • ENVIRONMENT: indique les étapes du cycle de vie du logiciel. Indiquez l'une des valeurs suivantes :
      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • DISPLAY-NAME-DEVELOPER, DISPLAY-NAME-OPERATOR et DISPLAY-NAME-BUSINESS: noms à afficher du développeur, de l'opérateur et des propriétaires d'établissements, respectivement.
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOR et EMAIL-NAME-BUSINESS: adresses e-mail du développeur, de l'opérateur et des propriétaires d'établissements, respectivement. Ces valeurs doivent être au format username@yourdomain (par exemple, 222larabrown@gmail.com).
  2. Répertoriez les applications pour lesquelles l'attribut environment-type a la valeur PRODUCTION.

    gcloud apphub applications list \
        --filter='attributes.environment.type=PRODUCTION' \
        --project=HOST_PROJECT_ID \
        --location=REGION
    

    Le résultat ressemble à ce qui suit :

    ID                DISPLAY_NAME              CREATE_TIME
    APPLICATION_NAME  APPLICATION_DISPLAY_NAME  2023-10-31T18:33:48
    

Enregistrer des services et des charges de travail

Lorsque vous enregistrez des services d'infrastructure et des charges de travail dans une application, ils sont enregistrés en tant que ressources App Hub. Utilisez une application globale (Preview) pour enregistrer des ressources globales ou réparties sur plusieurs régions. Utilisez une application régionale pour enregistrer des ressources de la même région que l'application. Si vous utilisez des espaces réservés pour créer l'application avec gcloud CLI, les services et les charges de travail des trois projets de service sont les suivants:

  • Le projet de service 1 comporte deux ressources d'infrastructure, Service 1 et Service 2.
  • Le projet de service 2 comporte trois ressources d'infrastructure : le service 3, la charge de travail 1 et la charge de travail 2.
  • Le projet de service 3 comporte trois ressources d'infrastructure : le service 4, la charge de travail 3 et la charge de travail 4.

Console

  1. Dans la console Google Cloud, accédez à la page Applications de l'App Hub.

    Accéder à la page Applications

  2. Cliquez sur le nom de votre application. L'onglet Services et charges de travail s'affiche avec une liste des services et charges de travail enregistrés dans vos projets de service.

  3. Pour chaque service ou charge de travail que vous souhaitez enregistrer, procédez comme suit:

    1. Dans l'onglet Services et charges de travail, cliquez sur Enregistrer un service/une charge de travail.
    2. Sur la page Enregistrer un service ou une charge de travail, dans le volet Sélectionner une ressource, cliquez sur Parcourir pour sélectionner le service ou la charge de travail en tant que Ressource.
    3. Dans le volet Sélectionner une ressource, choisissez un service ou une charge de travail, puis cliquez sur Sélectionner.
    4. Dans le volet Sélectionner une ressource, saisissez un nom pour le service ou la charge de travail, puis cliquez sur Continuer.
    5. Vous pouvez éventuellement ajouter des informations supplémentaires sur le service ou la charge de travail dans les champs suivants du volet Ajouter des attributs. Pour en savoir plus, consultez la section Mettre à jour une application App Hub existante de ce document. Notez que vous pouvez sélectionner des valeurs pour les champs Criticality (Criticité) et Environment (Environnement) qui sont différentes de celles que vous avez définies lorsque vous avez créé l'application.
    6. Cliquez sur Continuer.
    7. Facultatif : dans la section Ajouter des propriétaires, ajoutez des informations supplémentaires sur les propriétaires du service ou de la charge de travail dans les champs suivants. Pour en savoir plus, consultez la section Mettre à jour une application App Hub existante de ce document.
    8. Cliquez sur S'inscrire.

L'onglet Services et charges de travail affiche le service ou la charge de travail enregistrés. Pour en savoir plus sur les états d'enregistrement, consultez les propriétés et attributs d'App Hub.

gcloud

  1. Ajoutez une personne disposant des autorisations d'éditeur de l'App Hub.

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
      --member='user:APP_HUB_EDITOR' \
      --role='roles/apphub.editor'
    

    Remplacez APP_HUB_EDITOR par l'utilisateur disposant du rôle "Éditeur du hub d'applications" dans le projet hôte. Cette valeur a le format username@yourdomain, par exemple robert.smith@example.com.

  2. Répertoriez les charges de travail détectées à partir du projet de service 2, qui est associé au projet hôte. Cette commande renvoie les charges de travail pouvant être enregistrées dans une application.

    gcloud apphub discovered-workloads list \
      --filter='workload_properties.gcp_project=projects/SERVICE_PROJECT_2' \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Le résultat ressemble à ce qui suit, y compris les MIG non enregistrés:

    ID                           WORKLOAD_REFERENCE                                                                                                      WORKLOAD_PROPERTIES
    [DISCOVERED_WORKLOAD_ID_1]   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-1'}     {'gcpProject': 'projects/SERVICE_PROJECT_2', 'location': 'REGION'}
    [DISCOVERED_WORKLOAD_ID_2]   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'}     {'gcpProject': 'projects/SERVICE_PROJECT_2', 'location': 'REGION'}
    

    Copiez l'ID de la charge de travail à partir de la sortie pour l'utiliser à l'étape suivante.

  3. Enregistrez une charge de travail de l'étape précédente dans votre application.

    gcloud apphub applications workloads create WORKLOAD_NAME \
      --discovered-workload='projects/HOST_PROJECT_ID/locations/REGION/discoveredWorkloads/DISCOVERED_WORKLOAD_ID_2' \
      --display-name='mywebserver-deployment1' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Remplacez les éléments suivants :

    • WORKLOAD_NAME: nom sous lequel enregistrer la charge de travail.
    • DISCOVERED_WORKLOAD_ID_2: ID de la charge de travail obtenu à l'étape précédente
  4. Répétez les deux étapes précédentes pour filtrer et enregistrer les charges de travail souhaitées à partir du projet de service 3.

  5. Facultatif: vous pouvez mettre à jour les charges de travail avec les attributs criticality-type, environment-type et owner.

    gcloud apphub applications workloads update WORKLOAD_NAME \
      --application=APPLICATION_NAME \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --developer-owners=display-name=DISPLAY-NAME-DEVELOPER,email=EMAIL-DEVELOPER \
      --operator-owners=display-name=DISPLAY-NAME-OPERATOR,email=EMAIL-OPERATOR \
      --business-owners=display-name=DISPLAY-NAME-BUSINESS,email=EMAIL-BUSINESS \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Notez que vous devez fournir l'une des valeurs spécifiées pour criticality-type et environment-type, mais la valeur peut être différente de celles que vous avez définies lorsque vous créez l'application.

  6. Répertoriez les charges de travail enregistrées dans l'application.

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Le résultat ressemble à ce qui suit :

    ID                DISPLAY_NAME                 WORKLOAD_REFERENCE                                                                                                    CREATE_TIME
    WORKLOAD_NAME     mywebserver-deployment1      {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'}   2023-10-31T18:34:23
    

    Les charges de travail enregistrées, mais dissociées, sont indiquées par une valeur vide dans le champ WORKLOAD_REFERENCE. Pour en savoir plus sur les états d'enregistrement, consultez les propriétés et attributs d'App Hub.

  7. Liste des services détectés avec des règles de transfert dans le projet de service 1 associé au projet hôte. Cette commande renvoie les services pouvant être enregistrés dans une application.

    gcloud apphub discovered-services list \
      --filter='service_properties.gcp_project=projects/SERVICE_PROJECT_1 AND service_reference.uri~"forwardingRules"' \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Le résultat ressemble à ce qui suit :

    ID                           SERVICE_REFERENCE                                                                                                                    SERVICE_PROPERTIES
    [DISCOVERED_SERVICE_ID_1]    {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-1'}     {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'}
    [DISCOVERED_SERVICE_ID_2]    {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'}     {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'}
    

    Copiez l'ID de service, DISCOVERED_SERVICE_ID_2, à partir de la sortie pour l'utiliser à l'étape suivante.

  8. Enregistrez la règle de transfert, testing-forwarding-rule-2, dans le projet de service 1 en tant que service.

    gcloud apphub applications services create SERVICE_NAME \
      --discovered-service='projects/HOST_PROJECT_ID/locations/REGION/discoveredServices/DISCOVERED_SERVICE_ID_2' \
      --display-name='mywebserver-service1' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Remplacez les éléments suivants :

    • SERVICE_NAME: nom sous lequel enregistrer le service.
    • DISCOVERED_SERVICE_ID_2: ID de service obtenu à l'étape précédente
  9. Répétez les étapes précédentes qui listent les services, les filtre et les enregistre dans les projets de service 1, 2 et 3.

  10. Mettez à jour un service avec les attributs criticality-type et environment-type.

    gcloud apphub applications services update SERVICE_NAME \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID  \
      --location=REGION
    
  11. Répertoriez les services enregistrés dans l'application APPLICATION_NAME et le projet hôte HOST_PROJECT_ID.

    gcloud apphub applications services list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Le résultat ressemble à ce qui suit pour chaque service:

    ID                DISPLAY_NAME                 SERVICE_REFERENCE                                                                                                                  CREATE_TIME
    SERVICE_NAME      mywebserver-service1         {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'}   2023-11-01T21:38:08
    

    Les services enregistrés, mais dissociés, sont indiqués par une valeur vide dans le champ SERVICE_REFERENCE.

  12. Filtrez les services de l'application APPLICATION_NAME et du projet hôte HOST_PROJECT_ID sur ceux pour lesquels l'attribut environment-type est défini sur PRODUCTION.

    gcloud apphub applications services list \
      --filter='attributes.environment.type=PRODUCTION' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

Le processus de configuration d'App Hub est terminé.

Ajouter ou supprimer des projets de service

Vous pouvez modifier les pièces jointes du projet de service pour mettre à disposition différentes ressources d'infrastructure à regrouper dans une application.

Pour afficher les métriques système des applications de votre projet hôte, après avoir ajouté un projet de service à un projet hôte, ajoutez les projets de service en tant que conteneurs de ressources au champ d'application des métriques du projet hôte. Pour en savoir plus, consultez la section Ajouter des projets de service au champ d'application des métriques du projet hôte de ce document. Lorsque vous supprimez un projet de service d'un projet hôte, envisagez de supprimer les projets de service en tant que conteneurs de ressources du champ d'application des métriques du projet hôte (si vous avez précédemment choisi d'afficher les métriques système des applications de votre projet hôte). Pour en savoir plus, consultez la procédure permettant de supprimer les projets de service du champ d'application des métriques du projet hôte dans ce document.

Console

Pour ajouter un projet de service à un projet hôte:

  1. Dans la console Google Cloud, accédez à la page Paramètres de l'App Hub.

    Accéder aux paramètres

  2. Sur la page Paramètres, cliquez sur Associer des projets.

  3. Dans le volet qui s'ouvre, recherchez des projets dans la liste affichée, puis cochez les cases correspondant aux projets que vous souhaitez ajouter en tant que projets de service.

  4. Cliquez sur Sélectionner. Le tableau Projets de service associés affiche les projets sélectionnés en tant que projets de service pour le projet hôte.

  5. Cliquez sur Fermer.

Pour supprimer un projet de service d'un projet hôte:

  1. Dans la console Google Cloud, accédez à la page Paramètres de l'App Hub.

    Accéder aux paramètres

  2. Sur la page Settings (Paramètres), cochez les cases correspondant aux projets que vous souhaitez supprimer en tant que projets de service.

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

Pour ajouter un projet de service à un projet hôte:

gcloud apphub service-projects add SERVICE_PROJECT_ID \
   --project=HOST_PROJECT_ID
Remplacez SERVICE_PROJECT_ID par le nom du projet de service que vous souhaitez ajouter au projet hôte.
Pour supprimer un projet de service du projet hôte:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \
   --project=HOST_PROJECT_ID

Afficher les applications, services et charges de travail existants

Vous pouvez afficher les applications d'un projet, ainsi que les services et les charges de travail d'une application.

Console

  • Pour afficher les applications d'un projet:

    1. Dans la console Google Cloud, accédez à la page Applications du hub d'applications.

      Accéder à la page Applications

    2. Facultatif: Pour filtrer l'application:

      1. Dans le champ Filtre, sélectionnez un filtre tel que Criticité.
      2. Sélectionnez Élevé comme valeur.
        Une liste des applications de haute criticité créées sur le projet hôte s'affiche.
  • Pour afficher la liste des services et des charges de travail:

    Applications

    1. Dans la console Google Cloud, accédez à la page Applications de l'App Hub.

      Accéder à la page Applications

    2. Cliquez sur le nom d'une application. Une page contenant la liste des services et des charges de travail enregistrés dans votre application s'affiche.

    3. Facultatif: Pour filtrer les services ou les charges de travail:

      1. Dans le champ Filtre, sélectionnez un filtre tel que Criticité.
      2. Sélectionnez Élevé comme valeur.
        Une liste des services et des charges de travail à criticité élevée enregistrés dans l'application s'affiche.

    Services et charges de travail

    1. Dans la console Google Cloud, accédez à la page Services et charges de travail de l'App Hub.

      Accéder à "Services et charges de travail"

    2. Dans la liste Région, sélectionnez les régions à partir desquelles vous souhaitez afficher les services et les charges de travail. Par exemple, sélectionnez us-east1.
      La page Services et charges de travail affiche tous les services et charges de travail des projets de service associés à us-east1.

    3. Facultatif: Pour filtrer les services ou les charges de travail:

      1. Dans le champ Filtre, sélectionnez un filtre tel que Environnement.
      2. Sélectionnez Production comme valeur.
        Une liste des services et des charges de travail de l'environnement de production enregistrés dans une application s'affiche.

gcloud

  • Pour afficher les applications d'un projet:

    gcloud apphub applications list \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  • Pour lister les services enregistrés dans une application:

    gcloud apphub applications services list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  • Pour lister les charges de travail enregistrées dans une application:

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  • Facultatif: Pour filtrer les ressources en fonction d'attributs variables, ajoutez un indicateur de commande filter aux commandes précédentes. Par exemple, pour répertorier toutes les charges de travail enregistrées où l'attribut criticality-type est défini sur HIGH:

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME \
      --filter='attributes.criticality.type=HIGH' \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Pour en savoir plus sur les attributs avec lesquels vous pouvez filtrer cette page, consultez Mettre à jour une application App Hub existante.

Facultatif: Afficher les métriques d'application

Vous pouvez afficher les métriques système des applications créées dans votre projet hôte App Hub. Ces métriques correspondent aux signaux clés (trafic, erreurs, latence et saturation) qui aident à surveiller les performances et l'état de l'application.

  1. Dans la console Google Cloud, accédez à la page Applications de l'App Hub.

    Accéder à la page Applications

  2. Cliquez sur le nom d'une application.

    L'onglet Services et charges de travail s'affiche avec les métadonnées des services et des charges de travail enregistrés dans votre application.

  3. Facultatif: Pour modifier la période pendant laquelle les métriques s'affichent, utilisez le sélecteur de période. La période par défaut est de 1 heure.

  4. Pour afficher les métriques système des services et des charges de travail enregistrés, cliquez sur bar_chart Métriques.

    Un tableau s'affiche avec les signaux d'or suivants:

    • Trafic: taux de requêtes entrantes sur la ressource au cours de la période sélectionnée.
    • Taux d'erreur du serveur: pourcentage moyen de requêtes entrantes générant des codes d'erreur HTTP de la série 5xx au cours de la période sélectionnée.
    • Latence au 95e centile: 95e centile de latence pour une requête de service cumulée sur la période sélectionnée, en millisecondes.
    • Utilisation du processeur: pourcentage moyen d'utilisation du processeur pour une charge de travail, agrégée sur la période spécifiée. Les valeurs sont généralement des nombres compris entre 0,0 et 100,0, mais peuvent dépasser 100,0.
    • Utilisation de la mémoire: pourcentage moyen d'utilisation de la mémoire pour une charge de travail, agrégé sur la période spécifiée.

Facultatif: Explorer les métriques à l'aide de graphiques

Pour créer des graphiques de métriques pour vos projets App Hub, utilisez l'explorateur de métriques. Vous pouvez limiter les données à représenter dans un graphique en appliquant des filtres basés sur des libellés. Pour plus d'informations, consultez la page Créer des graphiques avec l'explorateur de métriques.

Vous pouvez filtrer les étiquettes de métadonnées système App Hub suivantes (Aperçu):

  • apphub_application_host_project_id
  • apphub_application_id
  • apphub_application_location
  • apphub_workload_criticality_type
  • apphub_workload_environment_type
  • apphub_workload_id

Pour visualiser les libellés de métadonnées de l'App Hub sur un graphique, suivez ces instructions. Vous pouvez suivre la même procédure pour les autres libellés de métadonnées système et les métriques de l'App Hub.

  1. Dans la console Google Cloud, accédez à la page Explorateur de métriques :

    Accéder à l'explorateur de métriques

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Dans l'élément Métrique, développez le menu Sélectionner une métrique, saisissez VM Instance dans la barre de filtre, puis utilisez les sous-menus pour sélectionner un type de ressource et des métriques spécifiques :
    1. Dans le menu Ressources actives, sélectionnez Instance de VM.
    2. Dans le menu Catégories de métriques actives, sélectionnez Métriques populaires.
    3. Dans le menu Métriques actives, sélectionnez Utilisation du processeur.
    4. Cliquez sur Appliquer.
    Le nom complet de cette métrique est compute.googleapis.com/instance/cpu/utilization.
  3. Configurez le mode d'affichage des données. Pour afficher uniquement les métriques d'une étiquette spécifique, procédez comme suit :
    1. Dans l'élément Filtre, cliquez sur Ajouter un filtre, puis sélectionnez apphub_application_id. Pour la valeur, saisissez un nom de hub d'applications spécifique.
    2. Dans l'entrée Agrégation, définissez le premier menu sur Non agrégé.

    Pour plus d'informations sur la configuration d'un graphique, consultez la page Sélectionner des métriques lors de l'utilisation de l'explorateur de métriques.

Effectuer un nettoyage

Nettoyez une application existante et supprimez un rattachement de projet de service du projet hôte pour supprimer les ressources associées au projet. Cela arrête la découverte automatique des ressources dans le projet de service.

Pour ce faire, vous devez d'abord supprimer les charges de travail et les services enregistrés dans l'application.

Console

  1. Dans la console Google Cloud, accédez à la page Applications du hub d'applications.

    Accéder à la page Applications

  2. Cliquez sur le nom d'une application. La liste des services et des charges de travail enregistrés dans l'application s'affiche.

  3. Désenregistrer un service ou une charge de travail

    1. Dans l'onglet Services et charges de travail, dans la section Services et charges de travail enregistrés, cliquez sur le nom du service ou de la charge de travail que vous souhaitez annuler.
    2. Dans l'onglet Détails, cliquez sur Annuler l'enregistrement pour mettre à jour le service ou la charge de travail en tant que ressource découverte.
      Dans l'onglet Services et charges de travail, une alerte indique que la charge de travail n'est pas enregistrée.
    3. Répétez ces instructions pour chaque service et chaque charge de travail.
  4. Accédez à la page Applications du hub des applications.

    Accéder à la page Applications

  5. Cliquez sur le nom d'une application.

  6. Sur la page des détails de l'application, cliquez sur Supprimer.

  7. Pour supprimer les projets de service de votre projet hôte, consultez la section Ajouter ou supprimer des projets de service de ce document.

  8. Pour supprimer les projets de service du champ d'application des métriques du projet hôte:

    1. Accédez à la page  Paramètres dans la console Google Cloud.

      Accéder aux paramètres

      Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

    2. Sélectionnez Champ d'application de la métrique.
    3. Dans le volet Google Cloud Projects (Projets Google Cloud), cliquez sur Remove project (Supprimer le projet), puis renseignez la boîte de dialogue de confirmation.

gcloud

  1. Répertoriez les charges de travail enregistrées dans l'application:

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME --project=HOST_PROJECT_ID \
      --location=REGION
    
  2. Annulez l'enregistrement de la charge de travail dans l'application:

    gcloud apphub applications workloads delete WORKLOAD_NAME \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    La charge de travail est désormais une charge de travail découverte qui peut être enregistrée dans l'application.

  3. Répétez la commande précédente pour supprimer les charges de travail enregistrées restantes de l'application.

  4. Répertoriez les services enregistrés dans l'application:

    gcloud apphub applications services list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  5. Désinscrivez le service de l'application:

    gcloud apphub applications services delete SERVICE_NAME \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Le service est désormais un service détecté qui peut être enregistré dans l'application.

  6. Répétez la commande précédente pour désenregistrer les services enregistrés restants de l'application.

  7. Supprimez l'application:

    gcloud apphub applications delete APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  8. Supprimez un projet de service du projet hôte:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    
  9. Répétez la commande précédente pour supprimer tous les projets de service du projet hôte.

  10. Supprimez les projets de service du champ d'application des métriques du projet hôte (preview):

    gcloud beta monitoring metrics-scopes delete projects/SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    
  11. Répétez la commande précédente pour supprimer tous les projets de service du projet hôte de la portée des métriques.

Étape suivante