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


App Hub vous permet de gérer et d'afficher les ressources d'infrastructure des projets Google Cloud via les applications App Hub. Pour créer ces applications App Hub, vous avez besoin d'un projet hôte App Hub auquel vous pouvez associer des projets de service contenant des ressources Google Cloud.

Ce tutoriel explique comment configurer une application App Hub dans un seul projet qui sert de projet hôte et de service App Hub. Dans un projet de service, vous déployez un groupe d'instances géré (MIG) équilibré en charge et associez le projet de service au projet hôte App Hub. Ensuite, dans une application du projet hôte App Hub, vous enregistrez et surveillez toutes les ressources d'infrastructure du projet de service en tant que services et charges de travail App Hub.

Ce tutoriel s'adresse aux personnes qui configurent et administrent App Hub. Vous devez avoir une certaine expérience de Cloud Load Balancing.

Objectifs

Ce guide vous explique comment effectuer les tâches suivantes :

  1. Créez ou sélectionnez un projet Google Cloud. Ce projet est votre projet hôte et de service pour App Hub. Dans ce projet, activez l'API App Hub.
  2. Dans ce projet, vous allez utiliser Terraform pour déployer un réseau VPC, un équilibreur de charge d'application externe régional et un backend MIG pour l'équilibreur de charge. L'équilibreur de charge d'application externe régional inclut les ressources suivantes:

    • Vérification d'état HTTP
    • Règle de transfert
    • Mappage d'URL
    • Proxy cible
    • Un service de backend avec un groupe d'instances géré en tant que backend
    • Un certificat SSL (pour HTTPS)

    Seules la règle de transfert, le mappage d'URL, le service de backend et le MIG sont disponibles en tant que ressources détectées sur App Hub. Pour en savoir plus, consultez les concepts et le modèle de données.

  3. Attribuez les rôles et autorisations appropriés à ce projet pour qu'il agisse en tant que projet hôte de l'App Hub.

  4. Associez le projet hôte App Hub en tant que projet de service App Hub pour découvrir les ressources Google Cloud à partir du projet de service en tant que services et charges de travail découverts.

  5. Créez une application App Hub régionale dans le projet hôte App Hub.

  6. Enregistrez les services découverts et une charge de travail à partir du projet de service dans l'application App Hub, puis attribuez des attributs.

  7. Afficher les détails des services et des charges de travail enregistrés dans App Hub

Coûts

Pour obtenir une estimation du coût des ressources Google Cloud utilisées par la solution de VM gérées avec é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 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).

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

    Enable the APIs

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 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 de l'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ées avec équilibrage de charge.

  1. L'utilisateur envoie une requête à l'application, qui est déployée sur Compute Engine. Cloud Load Balancing reçoit cette requête.

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

Configurer le client Terraform

Vous pouvez exécuter Terraform dans Cloud Shell ou sur votre hôte local. Ce tutoriel 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. La migration 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

Fournissez les rôles et autorisations IAM appropriés au projet hôte de l'App Hub.

Console

Pour obtenir les autorisations nécessaires pour suivre ce tutoriel, demandez à votre administrateur de vous accorder les rôles IAM requis 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 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 Administrateur du hub d'applications.

  6. Cliquez sur Ajouter un autre rôle, puis dans la liste Sélectionner un rôle, sélectionnez Visionneuse de surveillance.

  7. Cliquez sur Enregistrer.

gcloud

  1. Pour attribuer les rôles aux personnes qui utiliseront le hub d'applications, répétez la commande suivante en remplaçant les rôles IAM, si nécessaire. Pour en savoir plus, consultez la section Rôles et autorisations dans App Hub.

    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, 222larabrown@gmail.com).

  2. Accordez le rôle Administrateur du hub d'applications dans le projet de service aux personnes qui administrent le hub d'applications. 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. Dans cet exemple, le projet hôte joue le rôle 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 du HOST_PROJECT_ID.

  3. Accordez le rôle "Lecteur de surveillance" dans le projet hôte aux personnes qui administrent App Hub. Pour afficher les métriques, il doit disposer du rôle "Lecteur de surveillance" sur le projet hôte.

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

Associer un projet de service

Les projets de service sont des projets Google Cloud qui contiennent des ressources d'infrastructure que vous pouvez enregistrer dans une application App Hub. Pour en savoir plus, consultez la section Projets de service. Pour ce tutoriel, comme nous n'avons qu'un seul projet, associez le projet sur lequel vous avez déployé les ressources en tant que projet de service App Hub.

Console

  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 et cochez les cases pour les projets de service App Hub.

  4. Cliquez sur Sélectionner. Le tableau Projets de service associés affiche le projet hôte sélectionné comme projet de service.

  5. Cliquez sur Fermer.

gcloud

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

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

Une fois que vous avez associé le projet de service au projet hôte App Hub, vous pouvez afficher toutes les ressources Google Cloud du projet de service associé en tant que services et charges de travail App Hub découverts. Pour en savoir plus sur l'affichage de ces services et charges de travail détectés, consultez la section Afficher les applications, services et charges de travail existants.

Créer une application

Créez une application qui servira de conteneur à vos services et charges de travail. Lorsque vous créez une application, vous pouvez attribuer des propriétés immuables telles qu'un type de champ d'application ou un emplacement à partir duquel vous souhaitez enregistrer des ressources et des attributs variables tels que la criticité et l'environnement. Vous pouvez utiliser les attributs de variable pour filtrer les applications. Pour en savoir plus, consultez la section Propriétés et attributs.

Console

  1. Assurez-vous d'être dans le projet hôte de l'App Hub.
  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, sélectionnez Régional.

  5. Dans la liste Région, sélectionnez us-west1.

  6. Dans le champ Nom de l'application, saisissez tutorial-application. Ce nom est un identifiant unique et est immuable une fois l'application créée.

  7. Saisissez un nom à afficher, Tutorial, puis cliquez sur Continuer. Il s'agit d'un nom convivial que vous pouvez modifier. Pour en savoir plus, consultez la section Mettre à jour une application existante.

  8. Dans le volet Ajouter des attributs, dans la liste Criticité, sélectionnez Élevée. La criticité indique dans quelle mesure une application, un service ou une charge de travail est critique pour vos opérations commerciales.

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

  10. Cliquez sur Continuer.

  11. Dans le volet Ajouter des propriétaires, ajoutez les informations suivantes pour les propriétaires du développeur, les propriétaires de l'opérateur et les propriétaires de l'établissement. 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.
  12. Répétez ces étapes pour chaque développeur, opérateur et propriétaire d'entreprise.

  13. Cliquez sur Créer.

La nouvelle application est créée et apparaît sur la page Applications.

gcloud

  1. Sélectionnez le projet hôte App Hub 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 un nom à afficher, Tutorial. Ce nom d'application, tutorial-application, est un identifiant unique et ne peut pas être modifié une fois l'application créée. Le nom à afficher,Tutorial, est un nom convivial que vous pouvez modifier. Pour en savoir plus, consultez la section Mettre à jour une application existante.

    gcloud apphub applications create tutorial-application \
        --display-name='Tutorial' \
        --scope-type=REGIONAL \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
  3. Répertoriez les applications de votre projet hôte App Hub:

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

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

    ID                    DISPLAY_NAME  CREATE_TIME
    tutorial-application  Tutorial      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'é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 avoir le format username@yourdomain, par exemple 222larabrown@gmail.com.

    Remarques :

    • criticality-type: indique l'importance d'une application, d'un service ou d'une charge de travail pour vos opérations 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

Enregistrer des services et des charges de travail les ajoute à une application qui vous permet de surveiller les ressources ajoutées.

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, Tutoriel. 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 App Hub.

  3. Enregistrez un service:

    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 le nom du service, l7-xlb-backend-service, puis cliquez sur Sélectionner.
    4. Dans le volet Sélectionner une ressource, saisissez le nom de la ressource, tutorial-service-backend.
    5. Saisissez un nom à afficher, Backend service, puis cliquez sur Continuer.
    6. Dans le volet Ajouter des attributs, dans la liste Criticité, sélectionnez Élevée pour indiquer l'importance de l'application.
    7. Dans le champ Environnement, sélectionnez Production pour indiquer l'étape du cycle de vie du logiciel.
    8. Cliquez sur Continuer.
    9. Dans le volet Ajouter des propriétaires, ajoutez les informations suivantes si nécessaire pour les propriétaires du développeur, les propriétaires de l'opérateur et les propriétaires de l'établissement. 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.
    10. Répétez ces étapes pour chaque développeur, opérateur et propriétaire d'entreprise.
    11. Cliquez sur S'inscrire.

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

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

  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 le volet Enregistrer un service ou une charge de travail, dans la section Choisir 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 le volet Sélectionner une ressource, saisissez le nom de la ressource, tutorial-workload-mig.
    3. Saisissez un nom à afficher, Workload instance group, puis cliquez sur Continuer. Dans l'onglet Services et charges de travail, dans la section Services et charges de travail enregistrés, vous pouvez voir la nouvelle charge de travail ajoutée.

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 App Hub" dans le projet hôte App Hub. Cette valeur a le format username@yourdomain (par exemple, 222larabrown@gmail.com).

  2. Répertoriez tous les services détectés dans le projet hôte de l'App Hub. 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                             SERVICE_REFERENCE                                                                                                              SERVICE_PROPERTIES
    BACKEND_SERVICE_ID          {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'}  {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    FORWARDING_RULE_SERVICE_ID" {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'}  {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    URL_MAP_SERVICE_ID          {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'}             {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    

    Copiez les ID du service, par exemple BACKEND_SERVICE_SP2_ID, à partir de la sortie pour les utiliser à l'étape suivante.

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

    gcloud apphub applications services create tutorial-service-backend \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_ID' \
        --display-name='Backend service' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
    gcloud apphub applications services create tutorial-service-forwarding-rule \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/FORWARDING_RULE_SERVICE_ID' \
        --display-name='Forwarding rule' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
    gcloud apphub applications services create tutorial-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: service 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: service ID du mappage d'URL que vous souhaitez enregistrer.
  4. Répertoriez 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                               DISPLAY_NAME      SERVICE_REFERENCE                                                                                                              CREATE_TIME
    tutorial-service-backend         Backend service   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'}  2024-02-13T00:31:45
    tutorial-service-forwarding-rule Forwarding rule   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'}  2024-02-13T00:31:45
    tutorial-service-url-map         URL map           {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'}             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. Répertoriez toutes les charges de travail détectées dans le projet hôte de l'App Hub. 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                            WORKLOAD_REFERENCE                                                                                                            WORKLOAD_PROPERTIES
    INSTANCE_GROUP_ID          {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'}  {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1', 'zone': 'us-west1-a'}
    

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

  6. Enregistrez la charge de travail de l'étape précédente dans votre application en tant que tutorial-workload-mig. Copiez l'ID de la charge de travail à partir du champ de sortie de l'étape précédente.

    gcloud apphub applications workloads create tutorial-workload-mig \
        --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épertoriez 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                        DISPLAY_NAME              WORKLOAD_REFERENCE                                                                                                            CREATE_TIME
    tutorial-workload-mig     Workload instance group   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'}  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 tous les services et charges de travail

Vous pouvez afficher les détails des services et des charges de travail à partir des projets de service associés au projet hôte de l'App Hub.

  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"

    Tous les services et charges de travail des projets de service App Hub associés sont affichés.

  2. Dans la liste Région, sélectionnez us-west1. La charge de travail Groupe d'instances de charge de travail s'affiche avec des informations telles que Type de hub d'applications, Criticité et Enregistré auprès de.

  3. Pour filtrer les services ou les charges de travail en fonction de leur état:

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

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 de l'application, Tutorial.

    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. Pour afficher les métriques système des services et des charges de travail enregistrés, cliquez sur Métriques.

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 du hub d'applications.

    Accéder à la page Applications

  2. Cliquez sur le nom d'une application, puis sur Tutoriel.

  3. Dans l'onglet Services et charges de travail, dans la section Services et charges de travail enregistrés, cliquez sur le nom d'un service.

  4. Sur la page Services et charges de travail, cliquez sur Désenregistrer.

    Une alerte indique que le service n'est pas enregistré.

  5. Dans l'onglet Services et charges de travail, dans la section Services et charges de travail enregistrés, cliquez sur le nom d'une charge de travail.

  6. Dans l'onglet Détails, cliquez sur Annuler l'enregistrement.

    Une alerte indique que la charge de travail n'est pas enregistrée.

  7. Accédez à la page Applications du hub des applications.

    Accéder à la page Applications

  8. Cliquez sur le nom d'une application.

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

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

    Accéder aux paramètres

  11. Sur la page Settings (Paramètres), cochez la case du projet de service que vous souhaitez supprimer du projet hôte de l'App Hub.

  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 dans l'application:

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

    Remplacez SERVICE_NAME par le nom du service.

    Les services sont désormais des services découverts pouvant ê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 WORKLOAD_NAME \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    

    Remplacez WORKLOAD_NAME par le nom de votre charge de travail.

    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 App Hub:

    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

Console

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez celui que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

gcloud

Supprimez un projet Google Cloud :

gcloud projects delete PROJECT_ID

Remplacez PROJECT_ID par les ID de projet hôte ou de service.

Étape suivante