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éterminez 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 sont différents des projets hôtes de VPC partagé 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 à des projets hôtes App Hub.
    • Un projet hôte ne peut être un projet de service que 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 sont différents des 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 à des projets de service App Hub.
  4. désigner les utilisateurs App Hub comme administrateurs, éditeurs ou lecteurs App Hub ;
  5. Créer des applications
  6. Enregistre des services et des charges de travail dans l'application.

Services et charges de travail

Avec App Hub, vous pouvez accéder aux ressources des projets de service associés au projet hôte en tant que services et charges de travail. L'enregistrement de vos services et charges de travail dans une application vous permet d'observer et de surveiller les ressources. Vous pouvez désigner les ressources suivantes en tant que services App Hub et les enregistrer dans des 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), mais pas des VM individuelles, en tant que charges de travail et les enregistrer dans des applications App Hub.

App Hub est compatible avec les équilibreurs de charge d'application régionaux de couche 7, externes et internes, avec du trafic HTTP ou HTTPS.

Les charges de travail et les services que vous enregistrez doivent se trouver dans la même région que l'application. Par conséquent, les instructions et les commandes qui suivent 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.

Processus de configuration global

La liste suivante récapitule les étapes de configuration d'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. Si vous le souhaitez, en fonction de la structure organisationnelle de votre entreprise, vous pouvez créer plusieurs projets hôte. Si vous créez plusieurs projets, nous vous recommandons de les créer dans un nouveau dossier.
  3. Associer des projets de service Après avoir configuré un projet hôte, associez-lui les 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 pas 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 le rattachement du projet de service du projet hôte. Vous pouvez ensuite associer le projet de service à une organisation différente.
    2. Un projet de service ne peut pas être associé à plusieurs projets hôte.
    3. Un projet hôte peut être son propre projet de service, mais il ne peut pas s'agir d'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, le fait d'interroger le projet hôte pour obtenir des services ou des charges de travail renvoie automatiquement l'ensemble des services et charges de travail de tous les projets de service.
  4. Créez une application permettant d'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 pour une seule application.
  5. Interrogez des services et des charges de travail, et enregistrez-les dans votre application. Après avoir créé une application, vous interrogez le projet hôte pour connaître les services et charges de travail disponibles. Les requêtes s'exécutent sur le projet hôte et tous les projets de service qui lui sont associés. Ils renvoient également l'ensemble des 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. Tous les services et charges de travail que vous enregistrez doivent se trouver dans la même région que l'application.
    3. Les services et les 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 agissent en tant que services et charges de travail, App Hub ne supprime pas les charges de travail et les services associés de votre application. Vous devez annuler séparément l'enregistrement de la charge de travail ou du service.

Prérequis

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

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

Veuillez noter les points suivants :

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

Configurer App Hub

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

Dans cet exemple, une organisation dispose de trois projets de service et leurs ressources d'infrastructure sont déployées comme suit:

  • Le projet de service 1 dispose de deux ressources d'infrastructure : le service 1 et le service 2.
  • Le projet de service 2 dispose de trois ressources d'infrastructure : le service 3, la charge de travail 1 et la charge de travail 2.
  • Le projet de service 3 dispose de 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 à mesure que vous suivez les instructions.

Les sections suivantes contiennent des instructions pour créer un exemple App Hub. Créez un projet hôte et ajoutez-y des projets de service. Créez ensuite une application, et associez-lui des services et des charges de travail. L'exemple comporte trois projets de service, mais vous pouvez en ajouter plus ou moins.

Dans cet exemple, nous partons du principe que tous les projets de service que vous ajoutez existent déjà, et qu'ils contiennent des services et des charges de travail que vous ajoutez à votre application. Avant de créer l'exemple, déterminez quels projets de service contiennent 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 accorder les rôles et autorisations appropriés aux membres de votre organisation. Vous allez é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 comme projet hôte App Hub.

  3. Activez l'API requise.

    Activer l'API

  4. Si vous êtes le créateur du projet, le rôle de base Propriétaire (roles/owner) vous est attribué. Par défaut, ce rôle Identity and Access Management (IAM) inclut les autorisations nécessaires pour un accès complet à la plupart des ressources Google Cloud.

    Si vous n'êtes pas le créateur du projet, les autorisations requises doivent être accordées sur le projet au compte principal approprié. 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 attribuer 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 gérera App Hub, c'est-à-dire le rôle d'administrateur App Hub dans le projet hôte.

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

    5. Sélectionnez le rôle d'administrateur App Hub, puis cliquez sur Enregistrer.

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

  5. Dans la console Google Cloud, accédez à la page Paramètres d'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 correspondant aux 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 Projet(s) de service associé(s) affiche les projets de service sélectionnés.

  9. Cliquez sur Fermer.

gcloud

  1. Dans la console Google Cloud, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Assurez-vous que la version la plus récente de la 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) comme 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, le rôle de base Propriétaire (roles/owner) vous est attribué. Par défaut, ce rôle Identity and Access Management (IAM) inclut les autorisations nécessaires pour un accès complet à la plupart des ressources Google Cloud.

    Si vous n'êtes pas le créateur du projet, les autorisations requises doivent être accordées sur le projet au compte principal approprié. 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 attribuer les rôles IAM suivants sur votre projet:

    1. Si vous le souhaitez, attribuez aux personnes qui géreront 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 d'administrateur App Hub dans le projet hôte. Cette valeur est au format username@yourdomain (par exemple, robert.smith@example.com).

    2. Attribuez le rôle d'administrateur App Hub dans les projets de service aux personnes qui administrent App Hub. Ils doivent disposer du rôle d'administrateur App Hub pour ajouter des projets de service au projet hôte. Une personne au moins doit disposer de ce rôle pour chaque projet de service. Une même personne peut avoir le 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
    

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.

Console

  1. Vérifiez que vous êtes bien dans le projet hôte.
  2. Dans la console Google Cloud, accédez à la page Applications d'App Hub.

    Accéder à la page Applications

  3. Cliquez sur Créer une application. Le volet Create application (Créer une application) s'affiche.

  4. Sélectionnez une Région.

  5. Saisissez le nom de l'application, puis cliquez sur Continuer.

  6. Dans la section Ajouter des attributs, saisissez le nom à afficher.

  7. Vous pouvez éventuellement ajouter d'autres détails concernant l'application dans les champs suivants. Pour en savoir plus, dans ce document, consultez la section Mettre à jour une application App Hub existante.

  8. Cliquez sur Créer.

gcloud

  1. Créez une application appelée APPLICATION_NAME et attribuez-lui un nom à afficher, APPLICATION_DISPLAY_NAME. L'option --scope-type définit les services et les charges de travail qui peuvent être enregistrés dans une application. Seul REGIONAL est compatible, ce qui signifie que seuls les services et charges de travail de la même région que l'application peuvent être enregistrés.

    gcloud apphub applications create APPLICATION_NAME \
      --display-name='APPLICATION_DISPLAY_NAME' \
      --scope-type=REGIONAL \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Remplacez les éléments suivants :

    • APPLICATION_NAME : nom de votre application. Le nom doit comporter des caractères alphanumériques en minuscules sans espaces.
    • APPLICATION_DISPLAY_NAME: nom à afficher de votre application.
    • REGION: région de l'application. Donnez-lui la valeur us-east1.
  2. Listez les applications présentes dans votre projet hôte.

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

    Le résultat ressemble à ce qui suit :

    ID: APPLICATION_NAME
    DISPLAY_NAME: APPLICATION_DISPLAY_NAME
    CREATE_TIME: 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: REGIONAL
    state: ACTIVE
    uid: [APPLICATION_UID]
    updateTime: '2023-10-31T18:33:48.343303819Z'
    
    

Mettre à jour une application App Hub existante

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 d'App Hub.

    Accéder à la page Applications

  2. Dans la liste des applications, cliquez sur Modifier à côté de l'application que vous souhaitez mettre à jour.

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

  4. Facultatif: dans la liste Critique, sélectionnez l'une des options suivantes pour indiquer l'importance de l'application:

    • Essentielles
    • Élevée
    • Moyenne
    • Faible
  5. Facultatif: Dans le champ Environnement, sélectionnez l'une des étapes suivantes pour indiquer l'étape du cycle de vie du logiciel:

    • Production
    • Préproduction
    • Développement
    • Tester
  6. Facultatif: Ajoutez les informations suivantes requises pour les développeurs propriétaires, les propriétaires d'opérateurs et les propriétaires d'entreprise. 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 être au format username@yourdomain (par exemple, robert.smith@example.com).
  7. Répétez ces étapes pour chaque développeur, opérateur et propriétaire d'établissement.

  8. Cliquez sur Enregistrer.

gcloud

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

    gcloud apphub applications update 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
    

    Remplacez les éléments suivants :

    • CRITICALITY_LEVEL: indique le degré d'importance d'une application, d'un service ou d'une charge de travail pour vos activités 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'entreprise, 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'entreprise, respectivement. Ces valeurs doivent être au format username@yourdomain (par exemple, robert.smith@example.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: APPLICATION_NAME
    DISPLAY_NAME: APPLICATION_DISPLAY_NAME
    CREATE_TIME: 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, les services et les charges de travail sont enregistrés en tant que ressources App Hub. Si vous utilisez les 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 dispose de deux ressources d'infrastructure : le service 1 et le service 2.
  • Le projet de service 2 dispose de trois ressources d'infrastructure : le service 3, la charge de travail 1 et la charge de travail 2.
  • Le projet de service 3 dispose de 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 d'App Hub.

    Accéder à la page Applications

  2. Cliquez sur le nom de votre application. L'onglet Services et charges de travail s'affiche. Il contient la liste des charges de travail et des services enregistrés qui se trouvent 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 le service/charge de travail.
    2. Dans la section Choisir un service ou une charge de travail du volet Enregistrer un service ou une charge de travail, sélectionnez le service ou la charge de travail, puis cliquez sur Continuer.
    3. Dans la section Ajouter des attributs, saisissez un nom pour le service ou la charge de travail.
    4. Vous pouvez également ajouter d'autres détails sur le service ou la charge de travail dans les champs suivants. Pour en savoir plus, dans ce document, consultez la section Mettre à jour une application App Hub existante. Notez que vous devez fournir l'une des valeurs spécifiées dans les champs Critique et Environnement. Toutefois, cette valeur peut être différente de celles que vous avez définies lors de la création de l'application.
    5. Cliquez sur Register (S'inscrire).
    6. Actualisez la page pour afficher l'état d'enregistrement du service ou de la charge de travail qui a été mis à jour sur Registered (Enregistré). 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 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 App Hub dans le projet hôte. Cette valeur est au 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, qui inclut les MIG non enregistrés:

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

    Copiez l'ID de charge de travail figurant dans le résultat 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 pour le projet de service 3.

  5. Facultatif: Vous pouvez mettre à jour les charges de travail avec les attributs criticality-type, environment-type et propriétaire.

    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 elle peut être différente de celles que vous avez définies lors de la création de l'application.

  6. Lister 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: WORKLOAD_NAME
    DISPLAY_NAME: mywebserver-deployment1
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'}
    CREATE_TIME: 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. Répertoriez les 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: [DISCOVERED_SERVICE_ID_1]
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-1'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'}
    
    ID: [DISCOVERED_SERVICE_ID_2]
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'}
    

    Copiez l'ID de service (DISCOVERED_SERVICE_ID_2) figurant dans le résultat 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 répertorient les services, les filtrent et les enregistrent 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épertorier 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: SERVICE_NAME
    DISPLAY_NAME: mywebserver-service1
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'}
    CREATE_TIME: 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 en fonction de ceux où 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 rattachements de projets de service pour regrouper différentes ressources d'infrastructure pouvant être regroupées dans une application.

Console

Pour ajouter un projet de service à un projet hôte, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Paramètres d'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 ou dans la liste affichée, cochez les cases correspondant aux projets que vous souhaitez ajouter en tant que projets de service.

  4. Cliquez sur Sélectionner. Le tableau Projet(s) 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, procédez comme suit:

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

    Accéder aux paramètres

  2. Sur la page Paramètres, cochez les cases des projets que vous souhaitez supprimer en tant que projets de service.

  3. Cliquez sur Dissocier des projets. La table Projet(s) 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, procédez comme suit:

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, procédez comme suit:
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, et répertorier les services et charges de travail d'une application.

Console

  • Pour afficher les applications d'un projet, accédez à la page Applications d'App Hub dans la console Google Cloud.

    Accéder à la page Applications

  • Pour répertorier les services et les charges de travail, procédez comme suit:

    Applications

    1. Dans la console Google Cloud, accédez à la page Applications d'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 pour votre application s'affiche.

    3. Facultatif: Pour filtrer les services ou les charges de travail, procédez comme suit:

      1. Dans le champ Filtre, sélectionnez un filtre, par exemple Critique.
      2. Sélectionnez la valeur Élevée.
        Une liste des services et charges de travail de haute criticité enregistrés pour l'application s'affiche.

    Services et charges de travail

    1. Dans la console Google Cloud, accédez à la page Services et charges de travail d'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 l'ensemble des services et charges de travail des projets de service associés associés à us-east1.

    3. Facultatif: Pour filtrer les services ou les charges de travail, procédez comme suit:

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

gcloud

Pour afficher les applications d'un projet:

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

Pour répertorier les services enregistrés dans une application:

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

Pour répertorier les charges de travail enregistrées dans une application, procédez comme suit:

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

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 pour l'application.

Console

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

    Accéder à la page Applications

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

  3. Annuler l'enregistrement d'un service ou d'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 dont vous souhaitez annuler l'enregistrement.
    2. Sur la page qui s'ouvre pour le service ou la charge de travail enregistrés, 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 charge de travail.
  4. Accédez à la page Applications d'App Hub.

    Accéder à la page Applications

  5. Cliquez sur le nom d'une application.

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

  7. Dans ce document, suivez les instructions de la section Ajouter ou supprimer des projets de service pour supprimer les projets de service de votre projet hôte.

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 de l'application les charges de travail enregistrées restantes.

  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. Annulez l'enregistrement du service dans l'application:

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

    Il s'agit désormais d'un service détecté qui peut être enregistré auprès de l'application.

  6. Répétez la commande précédente pour annuler l'enregistrement des 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.

Étapes suivantes