Créer une application App Hub à l'aide d'un seul projet


Ce tutoriel vous explique comment configurer une application App Hub dans un seul projet. Dans un projet de service qui agit en tant que projet hôte App Hub, vous déployez un groupe d'instances géré (MIG) à équilibrage de charge. Ensuite, vous afficherez les ressources d'infrastructure en tant que services et charges de travail dans les applications du projet hôte App Hub.

Ce tutoriel s'adresse aux personnes qui configurent et administrent App Hub. Vous devriez vous familiariser avec les équilibreurs de charge.

Objectifs

Ce tutoriel vous explique comment effectuer les tâches suivantes :
  1. Créez un projet Google Cloud. Ce projet est votre projet hôte App Hub.
  2. À l'aide de Terraform, déployez un MIG à équilibrage de charge sur Google Cloud.
  3. Attribuez les rôles et autorisations appropriés au projet hôte.
  4. Associez le projet hôte App Hub en tant que projet de service.
  5. Créez une application dans le projet hôte App Hub.
  6. Découvrez les ressources d'infrastructure en tant que services et charges de travail App Hub.
  7. Enregistrez des services et une charge de travail à partir du projet de service sur l'application, puis attribuez-leur des attributs.
  8. Affichez les détails des services et des charges de travail enregistrés sur App Hub.

Coûts

Pour obtenir une estimation du coût des ressources Google Cloud utilisées par la solution de VM gérée à équilibrage de charge, consultez l'estimation précalculée dans le Simulateur de coût Google Cloud.

Utilisez l'estimation comme point de départ pour calculer le coût de votre déploiement. Vous pouvez modifier l'estimation afin qu'elle reflète les modifications de configuration que vous prévoyez d'apporter aux ressources utilisées dans la solution.

L'estimation précalculée est basée sur des hypothèses pour certains facteurs, y compris les suivants :

  • Emplacements Google Cloud où les ressources sont déployées.
  • La durée d'utilisation des ressources.

Pour en savoir plus sur les coûts d'App Hub, consultez la page Tarifs.

Avant de commencer

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 Identity and Access Management (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 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 accorder les rôles IAM suivants sur votre projet :

Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

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 les API requises.

    Activer les API

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 les API :

    gcloud services enable apphub.googleapis.com \
       cloudresourcemanager.googleapis.com \
       compute.googleapis.com \
       config.googleapis.com \
       serviceusage.googleapis.com
    

Préparer l'environnement

Pour vous aider à déployer cette solution avec un minimum d'efforts, une configuration Terraform est fournie dans GitHub. La configuration Terraform définit toutes les ressources Google Cloud requises pour la solution. Téléchargez la configuration Terraform depuis GitHub, personnalisez éventuellement le code si nécessaire, puis déployez la solution à l'aide de la CLI Terraform. Après avoir déployé la solution, vous pouvez continuer à la gérer à l'aide de Terraform.

Charges de travail et services App Hub avec un équilibreur de charge et un groupe d'instances géré
Figure 1 : Charges de travail et services App Hub avec un équilibreur de charge et un groupe d'instances géré

Voici le flux de traitement des requêtes de la topologie déployée par la solution de VM gérée à équilibrage de charge.

  1. L'utilisateur envoie une requête à l'application, qui est déployée sur Compute Engine. La requête est d'abord envoyée sur Cloud Load Balancing.

  2. Cloud Load Balancing achemine le trafic vers le groupe d'instances géré Compute Engine à l'aide des informations de la règle de transfert, du mappage d'URL et du service de backend.

Configurer le client Terraform

Vous pouvez exécuter Terraform dans Cloud Shell ou sur votre hôte local. Ce guide explique comment exécuter Terraform dans Cloud Shell, où Terraform est préinstallé et configuré pour s'authentifier auprès de Google Cloud.

Le code Terraform de cette solution est disponible dans un dépôt GitHub.

  1. Dans Cloud Shell, clonez le dépôt GitHub dans Cloud Shell.

    git clone https://github.com/terraform-google-modules/terraform-docs-samples
    
  2. Dans Cloud Shell, vérifiez si le répertoire de travail actuel est terraform-docs-samples/lb/regional_external_http_load_balancer. Il s'agit du répertoire qui contient les fichiers de configuration Terraform pour la solution. Si vous devez accéder à ce répertoire, exécutez la commande suivante :

    cd terraform-docs-samples/lb/regional_external_http_load_balancer 
    
  3. Initialisez Terraform à l'aide de la commande suivante :

    terraform init
    

    Attendez que le message suivant s'affiche :

    Terraform has been successfully initialized!
    

Valider et examiner la configuration Terraform

  1. Assurez-vous que le répertoire de travail actuel est terraform-docs-samples/lb/regional_external_http_load_balancer. Si ce n'est pas le cas, accédez à ce répertoire :

  2. Vérifiez que la configuration ne comporte aucune erreur :

    terraform validate
    

    Si la commande renvoie une erreur, apportez les corrections nécessaires dans la configuration, puis exécutez à nouveau la commande terraform validate. Répétez cette étape jusqu'à ce que la commande renvoie le message suivant :

    Success! The configuration is valid.
    
  3. Examinez les ressources définies dans la configuration :

    terraform plan
    

    Le résultat de la commande terraform plan est une liste des ressources provisionnées par Terraform lorsque vous appliquez la configuration.

    Si vous souhaitez apporter des modifications, modifiez la configuration, puis exécutez à nouveau les commandes terraform validate et terraform plan.

Provisionner les ressources

Lorsqu'aucune autre modification n'est nécessaire dans la configuration, déployez les ressources.

  1. Assurez-vous que le répertoire de travail actuel est terraform-docs-samples/lb/regional_external_http_load_balancer. Si ce n'est pas le cas, accédez à ce répertoire :

  2. Appliquez la configuration Terraform :

    terraform apply
    

    Terraform affiche la liste des ressources qui seront créées.

  3. Lorsque vous êtes invité à effectuer les actions, saisissez yes.

    Terraform affiche les messages indiquant la progression du déploiement.

    Si le déploiement ne peut pas être terminé, Terraform affiche les erreurs à l'origine de l'échec. Consultez les messages d'erreur et mettez à jour la configuration pour corriger les erreurs, puis exécutez à nouveau la commande terraform apply.

    Une fois toutes les ressources créées, Terraform affiche le message suivant :

    Apply complete!
    

Attendez que Terraform affiche le message "Apply completed!" (Application terminée).

Cloud Load Balancing distribue le trafic vers la règle de transfert, le mappage d'URL, le service de backend et un MIG Compute Engine. Le service de backend, le mappage d'URL et les règles de transfert deviennent des services découverts dans le projet hôte App Hub. Le MIG Compute Engine devient une charge de travail découverte dans le projet hôte App Hub.

Lorsque vous n'avez plus besoin de la solution, vous pouvez supprimer le déploiement pour éviter de continuer à payer des frais pour les ressources Google Cloud. Pour en savoir plus, consultez la section Supprimer le déploiement.

Accorder des autorisations IAM

Si nécessaire, attribuez les rôles et autorisations IAM appropriés au projet hôte App Hub.

Console

  1. Si vous souhaitez obtenir les autorisations nécessaires pour suivre ce tutoriel, demandez à votre administrateur de vous attribuer les rôles IAM requis pour 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.

gcloud

  1. Si vous le souhaitez, pour attribuer les rôles aux personnes chargées d'administrer App Hub, répétez la commande suivante en remplaçant les rôles IAM si nécessaire.

    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. Accordez le rôle d'administrateur App Hub dans le projet 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. Dans cet exemple, le projet hôte fait office de projet de service.

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

    Remplacez SERVICE_PROJECT_ID par le nom de HOST_PROJECT_ID.

Associer un projet de service

Associez le projet hôte sur lequel vous avez déployé les ressources en tant que projet de service.

Console

  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 cochez la case correspondant au projet hôte dans la liste affichée.

  4. Cliquez sur Sélectionner. Le tableau Projet(s) de service associé(s) affiche le projet hôte sélectionné en tant que projet de service.

  5. Cliquez sur Fermer.

gcloud

Ajoutez votre projet hôte en tant que projet de service au projet hôte App Hub.

gcloud apphub service-projects add HOST_PROJECT_ID \
  --project=HOST_PROJECT_ID

Créer une application

Créez une application qui servira de conteneur pour vos services et 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. Dans la liste Emplacement, sélectionnez us-west1.

  5. Dans le champ Nom de l'application, saisissez tutorial-application.

  6. Cliquez sur Continuer.

  7. Dans la section Ajouter des attributs, saisissez un nom à afficher : sample-application.

  8. Dans la liste Critique, sélectionnez Élevée. La criticité indique le degré d'importance d'une application, d'un service ou d'une charge de travail pour vos activités commerciales.

  9. Dans le champ Environnement, sélectionnez Production pour indiquer l'étape du cycle de vie des logiciels.

  10. Cliquez sur Continuer.

  11. Dans la section Ajouter des propriétaires, ajoutez les informations suivantes pour les développeurs, 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).
  12. Répétez ces étapes pour chaque développeur, opérateur et propriétaire d'établissement.

  13. Cliquez sur Créer.

L'application est créée et s'affiche sur la page Applications.

gcloud

  1. Sélectionnez le projet hôte que vous avez créé:

    gcloud config set project HOST_PROJECT_ID
  2. Créez une application appelée tutorial-application dans la région us-west1 et attribuez-lui le nom à afficher Tutorial:

    gcloud apphub applications create tutorial-application \
        --display-name='Tutorial' \
        --scope-type=REGIONAL \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
  3. Listez les applications présentes dans votre projet hôte.

    gcloud apphub applications list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Vous obtenez un résultat semblable à celui-ci :

    ID: tutorial-application
    DISPLAY_NAME: Tutorial
    CREATE_TIME: 2023-10-31T18:33:48
    
  4. Mettez à jour votre application avec les attributs criticality-type, environment-type et owner:

    gcloud apphub applications update tutorial-application \
      --criticality-type='HIGH' \
      --environment-type='PRODUCTION' \
      --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=us-west1
    

    Remplacez les éléments suivants :

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

    Remarques :

    • criticality-type: indique le degré d'importance d'une application, d'un service ou d'une charge de travail pour vos activités commerciales.
    • environment-type: indique les étapes du cycle de vie du logiciel.
  5. Obtenez des informations sur l'application que vous avez créée.

    gcloud apphub applications describe tutorial-application \
      --project=HOST_PROJECT_ID \
      --location=us-west1
    

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

    attributes:
    businessOwners:
    – displayName: [DISPLAY-NAME-BUSINESS]
      email: [EMAIL-BUSINESS]
    criticality:
      type: HIGH
    developerOwners:
    – displayName: [DISPLAY-NAME-DEVELOPER]
      email: [EMAIL-DEVELOPER]
    environment:
      type: PRODUCTION
    operatorOwners:
    – displayName: [DISPLAY-NAME-OPERATOR]
      email: [EMAIL-OPERATOR]
    createTime: '2023-10-31T18:33:48.199394108Z'
    displayName: Tutorial
    name: projects/HOST_PROJECT_ID/locations/us-west1/applications/tutorial-application
    scope:
      type: REGIONAL
    state: ACTIVE
    uid: 9d991a9d-5d8a-4c0d-b5fd-85e39fb58c73
    updateTime: '2023-10-31T18:33:48.343303819Z'
    

Enregistrer des services et une charge de travail

L'enregistrement des services et des charges de travail les ajoute à une 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 de votre application, sample-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. Enregistrez un service:

    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 nom du service (l7-xlb-backend-service), puis cliquez sur Continuer.
    3. Dans la section Ajouter des attributs, saisissez le nom de l'attribut sample-service-backend.
    4. Dans le champ Nom à afficher, saisissez service-backend.
    5. Dans la liste Critique, sélectionnez Élevée pour indiquer l'importance de l'application.
    6. Dans le champ Environnement, sélectionnez Production pour indiquer l'étape du cycle de vie des logiciels.
    7. Cliquez sur Continuer.
    8. Ajoutez les informations suivantes requises pour les propriétaires de développement, 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).
    9. Répétez ces étapes pour chaque développeur, opérateur et propriétaire d'établissement.
    10. Cliquez sur Register (S'inscrire).

    Dans la section Services et charges de travail enregistrés de l'onglet Services et charges de travail, vous pouvez voir le nouveau service ajouté.

  4. Répétez les étapes précédentes pour enregistrer les autres services respectivement en tant que sample-service-forwarding-rule et sample-service-url-map.

  5. Enregistrez une charge de travail en répétant les étapes précédentes pour enregistrer un service, avec les exceptions suivantes:

    1. Dans la section Choisir un service ou une charge de travail du volet Enregistrer un service ou une charge de travail, sélectionnez le nom de la charge de travail (l7-xlb-backend-example), puis cliquez sur Continuer.
    2. Dans la section Ajouter des attributs, saisissez le nom de l'attribut sample-workload.
    3. Dans le champ Nom à afficher, saisissez workload-instance-group.

    Dans la section Services et charges de travail enregistrés de l'onglet Services et charges de travail, vous pouvez voir la nouvelle charge de travail ajoutée.

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. Listez tous les services détectés dans le projet hôte. Cette commande renvoie les services pouvant être enregistrés dans une application.

    gcloud apphub discovered-services list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Vous obtenez un résultat semblable à celui-ci :

    ID: 71dd6fa4-5644-43ee-918f-c5fda03ffe24
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    
    ID: fe831ba4-ec16-4eb8-9ea4-b394fd30f561
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    
    ID: 637a3216-c6cc-410e-8bf9-83b7ef66a62f
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    

    Copiez le service ID (par exemple, 71dd6fa4-5644-43ee-918f-c5fda03ffe24) à partir de la sortie pour l'utiliser à l'étape suivante.

  3. Enregistrez les services de l'étape précédente dans votre application. Copiez les ID de service du champ de sortie de l'étape précédente.

    gcloud apphub applications services create sample-service-backend \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_ID' \
        --display-name='service-backend' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
    gcloud apphub applications services create sample-service-forwarding-rule \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/FORWARDING_RULE_SERVICE_ID' \
        --display-name='service-forwarding-rule' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
    gcloud apphub applications services create sample-service-url-map \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/URL_MAP_SERVICE_ID' \
        --display-name='url-map' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Remplacez les éléments suivants :

    • BACKEND_SERVICE_ID: ID du service de backend que vous souhaitez enregistrer.
    • FORWARDING_RULE_SERVICE_ID: service ID de la règle de transfert que vous souhaitez enregistrer.
    • URL_MAP_SERVICE_ID: ID du service du mappage d'URL que vous souhaitez enregistrer.
  4. Permet de lister tous les services enregistrés dans l'application.

    gcloud apphub applications services list \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Vous obtenez un résultat semblable à celui-ci :

    ID: sample-service-backend
    DISPLAY_NAME: service-backend
    SERVICE_REFERENCE:  {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'}
    CREATE_TIME: 2024-02-13T00:31:45
    
    ID: sample-service-forwarding-rule
    DISPLAY_NAME: service-forwarding-rule
    SERVICE_REFERENCE:  {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'}
    CREATE_TIME: 2024-02-13T00:31:45
    
    ID: sample-service-url-map
    DISPLAY_NAME: url-map
    SERVICE_REFERENCE:  {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'}
    CREATE_TIME: 2024-02-13T00:31:45
    

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

  5. Listez toutes les charges de travail détectées dans le projet hôte. Cette commande renvoie les charges de travail pouvant être enregistrées dans une application.

    gcloud apphub discovered-workloads list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Vous obtenez un résultat semblable à celui-ci :

    ID: c9c08669-0fd2-4f7c-b2b1-2cf3c57662c2
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'}
    WORKLOAD_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1', 'zone': 'us-west1-a'}
    

    Copiez l'ID de charge de travail figurant dans le résultat pour l'utiliser à l'étape suivante.

  6. Enregistrez la charge de travail de l'étape précédente dans votre application en tant que sample-workload. Copiez l'ID de la charge de travail dans le champ de sortie de l'étape précédente.

    gcloud apphub applications workloads create sample-workload \
        --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/WORKLOAD_ID' \
        --display-name='workload-instance-group' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Remplacez WORKLOAD_ID par l'ID de la charge de travail que vous souhaitez enregistrer.

  7. Répertorier toutes les charges de travail enregistrées dans l'application.

    gcloud apphub applications workloads list \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Vous obtenez un résultat semblable à celui-ci :

    ID: sample-workload
    DISPLAY_NAME: workload-instance-group
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'}
    CREATE_TIME: 2024-02-13T00:31:45
    

    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.

Afficher l'ensemble des services et charges de travail

Vous pouvez afficher les détails des services et des charges de travail de tous les projets de service associés au projet hôte.

  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

    Tous les services et charges de travail des projets de service associés s'affichent.

  2. Dans la liste Région, sélectionnez us-west1. La charge de travail workload-instance-group s'affiche avec des détails tels que le type d'App Hub, la criticité et le rôle enregistré dans.

  3. Pour filtrer les services ou les charges de travail en fonction de leur état, procédez comme suit:

    1. Dans le champ Filtre, sélectionnez des filtres tels que État de l'enregistrement.
    2. Cliquez sur Inscrit. La liste des services et des charges de travail enregistrés pour l'application s'affiche.

Effectuer un nettoyage

Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.

Supprimer les ressources App Hub

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, sample-application.

  3. Dans l'onglet Services et charges de travail, dans la section Services et charges de travail enregistrés, cliquez sur le nom du service (service-forwarding-rule).

  4. Sur la page Services et charges de travail, cliquez sur Annuler l'enregistrement. Une alerte vous informe que l'enregistrement du service a été annulé.

  5. Dans l'onglet Services et charges de travail, dans la section Services et charges de travail enregistrés, cliquez sur le nom de la charge de travail workload-instance-group.

  6. Sur la page Services et charges de travail, cliquez sur Annuler l'enregistrement. Une alerte indique que la charge de travail n'est pas enregistrée.

  7. Accédez à la page Applications d'App Hub.

    Accéder à la page Applications

  8. Cliquez sur le nom d'une application.

  9. Sur la page tutorial-application, cliquez sur Supprimer.

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

    Accéder aux paramètres

  11. Sur la page Settings (Paramètres), cochez la case correspondant au SERVICE_PROJECT_ID que vous souhaitez supprimer du projet hôte.

  12. Cliquez sur Dissocier des projets.

gcloud

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

    gcloud apphub applications services list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
  2. Annulez l'enregistrement des services de l'application:

    gcloud apphub applications services delete sample-service-backend \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
    gcloud apphub applications services delete sample-service-forwarding-rule \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
    gcloud apphub applications services delete sample-service-url-map \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    

    Il s'agit désormais de services découverts qui peuvent être enregistrés dans l'application.

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

    gcloud apphub applications workloads list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
  4. Annulez l'enregistrement de la charge de travail dans l'application:

    gcloud apphub applications workloads delete sample-workload \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    

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

  5. Supprimez l'application:

    gcloud apphub applications delete tutorial-application \
      --project=HOST_PROJECT_ID \
      --location=us-west1
    
  6. Supprimez le projet de service du projet hôte:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    

Supprimer le déploiement

Lorsque vous n'avez plus besoin de la solution, supprimez les ressources que vous avez créées dans cette solution pour éviter de continuer à payer des frais associées à ces ressources.

Suivez cette procédure si vous avez déployé la solution à l'aide de la CLI Terraform.

  1. Dans Cloud Shell, assurez-vous que le répertoire de travail actuel est terraform-docs-samples/lb/regional_external_http_load_balancer. Si ce n'est pas le cas, accédez à ce répertoire :

  2. Supprimez les ressources provisionnées par Terraform :

    terraform destroy
    

    Terraform affiche la liste des ressources qui seront supprimées.

  3. Lorsque vous êtes invité à effectuer les actions, saisissez yes.

    Terraform affiche des messages de progression. Une fois toutes les ressources supprimées, Terraform affiche le message suivant :

    Destroy complete!
    

Lorsque vous n'avez plus besoin du projet Google Cloud que vous avez utilisé pour la solution, vous pouvez le supprimer.

Supprimer le projet

    Supprimez un projet Google Cloud :

    gcloud projects delete PROJECT_ID

Remplacez PROJECT_ID par HOST_PROJECT_ID.

Étapes suivantes