En enregistrant vos ressources Google Cloud existantes en tant que services et charges de travail dans une application App Hub, vous pouvez simplifier la gestion en organisant les ressources en fonction de leur objectif commercial. Cette approche offre une visibilité, une surveillance, une gouvernance et un contrôle opérationnel unifiés.
Ce guide vous explique comment regrouper les ressources Google Cloud existantes qui ne sont pas encore formellement définies comme une application.
Avant de commencer
Vous devez effectuer la configuration initiale de la gestion des applications avant d'organiser les ressources dans des applications. Ce processus implique généralement les rôles et étapes suivants :
Pour les administrateurs :
- Choisissez votre modèle de configuration d'application. Vous devez configurer un projet de gestion et définir une limite de gestion des applications qui inclut les ressources Google Cloud que vous souhaitez organiser.
- Activez les API requises pour toutes les ressources Google Cloud que vous prévoyez d'utiliser.
- Accorder un accès aux utilisateurs Attribuez les rôles IAM appropriés en fonction des responsabilités de l'utilisateur dans le cycle de vie de l'application.
Pour les développeurs et les opérateurs :
- Vérifiez auprès de votre administrateur que la configuration initiale est terminée.
- Assurez-vous de disposer des rôles IAM nécessaires pour les tâches que vous souhaitez effectuer.
- Ouvrez votre projet de gestion dans la console Google Cloud ou trouvez l'ID du projet de gestion pour les interactions avec Terraform ou la Google Cloud CLI.
Créer une application
Créez une application dans App Hub pour qu'elle serve de conteneur logique pour vos ressources Google Cloud existantes :
Console
- Dans la console Google Cloud , utilisez le sélecteur de projet pour sélectionner votre projet de gestion.
Accédez à la page Applications depuis App Hub :
Cliquez sur Créer une application.
Dans le volet Choisir la région et le nom de l'application, sélectionnez l'emplacement le plus adapté à votre application en fonction de vos exigences de répartition géographique :
- Sélectionnez Régional pour créer une application régionale. Ensuite, sélectionnez la région spécifique de votre application en fonction des régions compatibles avec le hub d'applications.
- Sélectionnez Global pour créer une application globale.
Pour en savoir plus sur le meilleur emplacement pour votre application, consultez Applications globales et régionales.
Saisissez le nom de l'application, puis cliquez sur Continuer. Ce nom est un identifiant unique qui ne peut contenir que des lettres minuscules, des chiffres ou des traits d'union. Vous ne pourrez pas modifier ce nom une fois l'application créée.
Facultatif : Définissez les attributs de premier niveau de l'application pour faciliter la découverte et la gouvernance :
- Dans la section Ajouter des attributs, saisissez le nom à afficher. Le nom à afficher n'est pas un identifiant unique. Vous pouvez le modifier après avoir créé l'application.
- Dans la liste Criticité, sélectionnez une valeur pour indiquer l'importance de l'application.
- Dans la liste Environnement, sélectionnez une valeur pour indiquer l'étape du cycle de vie du logiciel.
- Ajoutez les coordonnées des propriétaires, y compris leur nom à afficher et leur adresse e-mail. Notez que les adresses e-mail doivent être au format
username@yourdomain, par exemplejane-doe@gmail.com.
Cliquez sur Créer.
gcloud
Utilisez Google Cloud CLI pour créer une application depuis votre terminal ou Cloud Shell :
gcloud apphub applications create APPLICATION_NAME \ --project=PROJECT_ID \ --scope-type=LOCATION \ --location=REGION \ --display-name=DISPLAY_NAME \ --criticality-type=CRITICALITY \ --environment-type=ENVIRONMENT \ --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \ --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \ --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAILRemplacez
APPLICATION_NAMEpar le nom de votre application. Ce nom est un identifiant unique qui ne peut contenir que des lettres minuscules, des chiffres ou des traits d'union.Utilisez des indicateurs facultatifs tels que
--criticality-typepour définir les attributs de premier niveau de l'application et favoriser la découverte et la gouvernance.Pour les indicateurs obligatoires et facultatifs, remplacez les éléments suivants :
- Obligatoire :
PROJECT_ID: ID du projet de gestion. Obligatoire :
LOCATION: emplacement de votre application en fonction de vos exigences de distribution géographique. Utilisez l'une des valeurs suivantes :REGIONALpour les applications régionales.GLOBALpour les applications mondiales.
Pour en savoir plus sur le meilleur emplacement pour votre application, consultez Applications globales et régionales.
Obligatoire :
REGION, la région spécifique de votre application. Appliquez l'une des valeurs suivantes :- Si l'emplacement
--scope-typede votre application est défini surREGIONAL, spécifiez le nom d'une région compatible avec App Hub. - Si la localisation
--scope-typede votre application est définie surGLOBAL, utilisezglobal.
- Si l'emplacement
Facultatif :
DISPLAY_NAME: nom à afficher de votre application. Le nom à afficher n'est pas un identifiant unique et vous pouvez le modifier après avoir créé l'application.Facultatif :
CRITICALITY, niveau d'importance de l'application pour vos opérations. Utilisez l'une des valeurs suivantes :MISSION_CRITICALHIGHMEDIUMLOW
ENVIRONMENT(facultatif) : étape du cycle de vie du logiciel. Appliquez l'une des valeurs suivantes :PRODUCTIONSTAGINGDEVELOPMENTTEST
Facultatif :
DEV_NAMEetDEV_EMAILcorrespondent respectivement au nom à afficher et à l'adresse e-mail du propriétaire du compte de développeur.Facultatif :
OPERATOR_NAMEetOPERATOR_EMAIL: nom à afficher et adresse e-mail du propriétaire de l'opérateur, respectivement.Facultatif :
BUSINESS_NAMEetBUSINESS_EMAIL, respectivement le nom à afficher et l'adresse e-mail du propriétaire de l'entreprise.
- Obligatoire :
Répertoriez les applications de votre projet :
gcloud apphub applications list \ --project=PROJECT_ID \ --location=REGIONVous devez obtenir un résultat semblable à ce qui suit :
ID DISPLAY_NAME CREATE_TIME APPLICATION_NAME DISPLAY_NAME 2023-10-31T18:33:48
Terraform
Pour créer une application avec Terraform, utilisez la ressource google_apphub_application.
Cette ressource vous permet de définir les propriétés de l'application, y compris son nom, son emplacement et ses attributs.
L'exemple suivant crée une application régionale dans us-central1 avec des attributs de criticité, d'environnement et de propriétaire définis :
resource "google_apphub_application" "example" {
project = "my-project-id"
location = "us-central1"
application_id = "my-application"
display_name = "My Application"
description = "This application represents our platform."
scope {
type = "REGIONAL"
}
attributes {
criticality {
type = "MISSION_CRITICAL"
}
environment {
type = "PRODUCTION"
}
business_owners {
display_name = "Alice"
email = "alice@example.com"
}
developer_owners {
display_name = "Bob"
email = "bob@example.com"
}
operator_owners {
display_name = "Charlie"
email = "charlie@example.com"
}
}
}
Enregistrer des services et des charges de travail
App Hub vous permet de sélectionner des ressources compatibles situées dans la limite de gestion de votre application pour les enregistrer en tant que services et charges de travail. Après avoir créé une application, enregistrez-y vos ressourcesGoogle Cloud existantes en tant que services et charges de travail.
Vous ne pouvez enregistrer les services exclusifs que pour une seule application. Toutefois, les services partagés peuvent être enregistrés dans plusieurs applications. App Hub détecte les services partagés lorsque vous les enregistrez dans une application, même s'ils sont déjà enregistrés dans une autre application. Toutefois, vous ne pourrez peut-être pas modifier leurs attributs.
Console
- Dans la console Google Cloud , utilisez le sélecteur de projet pour sélectionner votre projet de gestion.
Accédez à la page Applications depuis App Hub :
Cliquez sur le nom de l'application pour laquelle vous souhaitez enregistrer les ressources Google Cloud existantes en tant que services et charges de travail.
Sur la page des détails de l'application, sélectionnez l'onglet Services et charges de travail. Cet onglet affiche la liste des ressources existantes que vous pouvez enregistrer dans l'application. App Hub vous permet de sélectionner des ressources compatibles situées dans la limite de gestion de vos applications en tant que services ou charges de travail.
Pour chaque service ou charge de travail que vous souhaitez enregistrer, procédez comme suit :
- Dans l'onglet Services et charges de travail, cliquez sur Enregistrer un service/une charge de travail.
- Accédez au volet Sélectionner une ressource, puis cliquez sur Parcourir pour trouver le service ou la charge de travail que vous souhaitez enregistrer.
- Sélectionnez le service ou la charge de travail, puis cliquez sur Sélectionner.
- Dans le volet Sélectionner une ressource, saisissez un nom pour le service ou la charge de travail, puis cliquez sur Continuer.
Facultatif : Dans le volet Ajouter des attributs, définissez les attributs de premier niveau de la ressource pour faciliter la découverte et la gouvernance.
Cliquez sur Continuer.
Facultatif : Dans la section Ajouter des propriétaires, ajoutez des informations sur les propriétaires du service ou de la charge de travail.
Cliquez sur S'inscrire.
L'onglet Services et charges de travail affiche le service ou la charge de travail enregistrés.
gcloud
App Hub vous permet de sélectionner des ressources compatibles situées dans la limite de gestion de vos applications en tant que services ou charges de travail. Utilisez Google Cloud CLI pour lister les services ou les charges de travail que vous pouvez enregistrer dans l'application depuis votre terminal ou Cloud Shell. Les commandes sont légèrement différentes pour les services et les charges de travail :
Enregistrer les services
Répertoriez les services disponibles que vous pouvez enregistrer dans une application :
gcloud apphub discovered-services list \ --project=PROJECT_ID \ --location=REGION \ --filter=FILTER_EXPRESSIONPour les indicateurs obligatoires et facultatifs, remplacez les éléments suivants :
- Obligatoire :
PROJECT_ID: ID du projet de gestion. Obligatoire :
REGION: région spécifique de votre service en fonction de votre répartition géographique. Utilisez l'une des valeurs suivantes :- Si le service est régional, spécifiez le nom de la région compatible avec App Hub.
- Si le service est global, utilisez
global.
Facultatif :
FILTER_EXPRESSION: expression de filtre pour l'indicateur--filterafin d'afficher uniquement les services d'un projet spécifié dans la limite de gestion des applications ou avec une propriété spécifique, par exemple :service_properties.gcp_project=projects/PROJECT_IDservice_properties.gcp_project=projects/PROJECT_ID AND service_reference.uri~"forwardingRules"
Le résultat ressemble à celui de l'exemple ci-dessous.
ID SERVICE_REFERENCE SERVICE_PROPERTIES SERVICE_ID {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'} {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}- Obligatoire :
Copiez l'ID de service,
SERVICE_ID, à partir de la sortie.Enregistrez le service dans votre application :
gcloud apphub applications services create SERVICE_NAME \ --project=PROJECT_ID \ --location=REGION \ --application=APPLICATION_NAME \ --discovered-service=projects/PROJECT_ID/locations/REGION/discoveredServices/SERVICE_ID \ --display-name=SERVICE_DISPLAY_NAME \ --criticality-type=CRITICALITY \ --environment-type=ENVIRONMENT \ --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \ --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \ --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAILRemplacez
SERVICE_NAMEpar le nom que vous souhaitez utiliser pour enregistrer le service auprès de l'application.Utilisez des indicateurs facultatifs tels que
--criticality-typepour définir les attributs de premier niveau du service et favoriser la détectabilité et la gouvernance.Pour les indicateurs obligatoires et facultatifs, remplacez les éléments suivants :
- Obligatoire :
PROJECT_ID: ID du projet de gestion. Obligatoire :
REGION: région spécifique de votre service en fonction de votre répartition géographique. Utilisez l'une des valeurs suivantes :- Si le service est régional, spécifiez le nom de la région compatible avec App Hub.
- Si le service est global, utilisez
global.
Obligatoire :
APPLICATION_NAME: nom de l'application pour laquelle vous souhaitez enregistrer le service.Obligatoire :
SERVICE_ID: ID de service que vous avez copié à partir du résultat précédent.Facultatif :
SERVICE_DISPLAY_NAME: nom à afficher de votre service.Facultatif :
CRITICALITY: niveau d'importance du service pour vos opérations. Utilisez l'une des valeurs suivantes :MISSION_CRITICALHIGHMEDIUMLOW
ENVIRONMENT(facultatif) : étape du cycle de vie du logiciel. Appliquez l'une des valeurs suivantes :PRODUCTIONSTAGINGDEVELOPMENTTEST
Facultatif :
DEV_NAMEetDEV_EMAIL, respectivement le nom à afficher et l'adresse e-mail du propriétaire du compte de développeur.Facultatif :
OPERATOR_NAMEetOPERATOR_EMAIL: nom à afficher et adresse e-mail du propriétaire de l'opérateur, respectivement.Facultatif :
BUSINESS_NAMEetBUSINESS_EMAIL, respectivement le nom à afficher et l'adresse e-mail du propriétaire de l'établissement.
- Obligatoire :
Listez les services enregistrés dans votre application :
gcloud apphub applications services list \ --application=APPLICATION_NAME --project=PROJECT_ID \ --location=REGIONVous devez obtenir un résultat semblable à ce qui suit pour chaque service enregistré :
ID DISPLAY_NAME SERVICE_REFERENCE CREATE_TIME SERVICE_NAME SERVICE_DISPLAY_NAME {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'} 2023-11-01T21:38:08
Enregistrer des charges de travail
Listez les charges de travail disponibles que vous pouvez enregistrer dans une application :
gcloud apphub discovered-workloads list \ --project=PROJECT_ID \ --location=REGION \ --filter=FILTER_EXPRESSIONPour les indicateurs obligatoires et facultatifs, remplacez les éléments suivants :
- Obligatoire :
PROJECT_ID: ID du projet de gestion. Obligatoire :
REGION: région spécifique de votre charge de travail en fonction de votre répartition géographique. Utilisez l'une des valeurs suivantes :- Si la charge de travail est régionale, spécifiez le nom de la région compatible avec App Hub.
- Si la charge de travail est globale, utilisez
global.
Facultatif :
FILTER_EXPRESSION: expression de filtre pour l'indicateur--filterafin d'afficher uniquement les charges de travail d'un projet spécifié dans la limite de gestion des applications ou avec une propriété spécifique, par exempleworkload_properties.gcp_project=projects/PROJECT_ID.
Le résultat ressemble à celui de l'exemple ci-dessous.
ID WORKLOAD_REFERENCE WORKLOAD_PROPERTIES WORKLOAD_ID {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/instanceGroups/mig-name'} {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}- Obligatoire :
Copiez l'ID de charge de travail,
WORKLOAD_ID, à partir de la sortie.Enregistrez la charge de travail dans votre application :
gcloud apphub applications workloads create WORKLOAD_NAME \ --project=PROJECT_ID \ --location=REGION \ --application=APPLICATION_NAME \ --discovered-workload=projects/PROJECT_ID/locations/REGION/discoveredWorkloads/WORKLOAD_ID \ --display-name=WORKLOAD_DISPLAY_NAME \ --criticality-type=CRITICALITY \ --environment-type=ENVIRONMENT \ --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \ --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \ --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAILRemplacez
WORKLOAD_NAMEpar le nom que vous souhaitez utiliser pour enregistrer la charge de travail auprès de l'application.Utilisez des indicateurs facultatifs tels que
--criticality-typepour définir les attributs de premier niveau de la charge de travail et favoriser la détectabilité et la gouvernance.Pour les indicateurs obligatoires et facultatifs, remplacez les éléments suivants :
- Obligatoire :
PROJECT_ID: ID du projet de gestion. Obligatoire :
REGION: région spécifique de votre charge de travail en fonction de votre répartition géographique. Utilisez l'une des valeurs suivantes :- Si la charge de travail est régionale, spécifiez le nom de la région compatible avec App Hub.
- Si la charge de travail est globale, utilisez
global.
Obligatoire :
APPLICATION_NAME: nom de l'application pour laquelle vous souhaitez enregistrer la charge de travail.Obligatoire :
WORKLOAD_ID: ID de charge de travail que vous avez copié à partir du résultat précédent.WORKLOAD_DISPLAY_NAME(facultatif) : nom à afficher de votre charge de travail.Facultatif :
CRITICALITY: niveau d'importance de la charge de travail pour vos opérations. Utilisez l'une des valeurs suivantes :MISSION_CRITICALHIGHMEDIUMLOW
ENVIRONMENT(facultatif) : étape du cycle de vie du logiciel. Appliquez l'une des valeurs suivantes :PRODUCTIONSTAGINGDEVELOPMENTTEST
Facultatif :
DEV_NAMEetDEV_EMAIL, respectivement le nom à afficher et l'adresse e-mail du propriétaire du compte de développeur.Facultatif :
OPERATOR_NAMEetOPERATOR_EMAIL: nom à afficher et adresse e-mail du propriétaire de l'opérateur, respectivement.Facultatif :
BUSINESS_NAMEetBUSINESS_EMAIL, respectivement le nom à afficher et l'adresse e-mail du propriétaire de l'établissement.
- Obligatoire :
Répertoriez les charges de travail enregistrées dans votre application :
gcloud apphub applications workloads list \ --application=APPLICATION_NAME --project=PROJECT_ID \ --location=REGIONVous devez obtenir un résultat semblable à ce qui suit pour chaque charge de travail enregistrée :
ID DISPLAY_NAME WORKLOAD_REFERENCE CREATE_TIME WORKLOAD_NAME WORKLOAD_DISPLAY_NAME {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/instanceGroups/mig-name'} 2023-11-01T21:38:08
Terraform
Pour utiliser Terraform afin d'enregistrer des ressources Google Cloud dans la limite de gestion de votre application en tant que services ou charges de travail dans une application, utilisez les sources de données google_apphub_discovered_service et google_apphub_discovered_workload pour récupérer de manière dynamique des informations sur les ressources que vous souhaitez enregistrer.
Ensuite, utilisez les ressources google_apphub_service ou google_apphub_workload pour enregistrer respectivement les services ou les charges de travail.
Enregistrer les services
Obtenez des informations sur un service à l'aide de son URI :
data "google_apphub_discovered_service" "my-service" { location = "REGION" service_uri = "SERVICE_URI" }Enregistrez le service détecté dans votre application, par exemple :
resource "google_apphub_service" "example" { project = "my-project-id" location = "us-central1" application_id = google_apphub_application.example.application_id service_id = "frontend-load-balancer" discovered_service = data.google_apphub_discovered_service.my-forwarding-rule.name display_name = "Frontend Load Balancer" description = "The primary load balancer for the frontend." }
Enregistrer des charges de travail
Obtenez des informations sur une charge de travail à l'aide de son URI :
data "google_apphub_discovered_workload" "my-workload" { location = "REGION" workload_uri = "WORKLOAD_URI" }Enregistrez la charge de travail découverte dans votre application, par exemple :
resource "google_apphub_workload" "example" { project = "my-project-id" location = "us-central1" application_id = google_apphub_application.example.application_id workload_id = "frontend-instance-group" discovered_workload = data.google_apphub_discovered_workload.my-mig.name display_name = "Frontend Instance Group" description = "The managed instance group for the frontend." }
L'état d'enregistrement des services et des charges de travail enregistrés dans une application peut passer à Détaché si vous déplacez un projet ou un dossier en dehors de la limite de gestion de votre application, ou si vous supprimez la ressource sous-jacente. Les services et les charges de travail détachés restent dans l'application jusqu'à ce que vous les désenregistriez, mais App Hub ne peut plus les gérer ni les surveiller. Pour en savoir plus, consultez État d'enregistrement des services et des charges de travail.
Pour rattacher à nouveau des services ou des charges de travail à une application, vous devez les enregistrer à nouveau.
Accorder des autorisations et commencer les opérations
Après avoir créé une application et enregistré des services et des charges de travail dans App Hub, vous devez accorder l'accès aux utilisateurs en fonction des responsabilités liées au cycle de vie pour gérer ce regroupement logique en tant qu'unité unique :
- Selon vos besoins d'accès, vous pouvez accorder des autorisations à des applications spécifiques ou à toutes les applications. Pour obtenir la liste des rôles recommandés, consultez Attribuer des rôles axés sur les applications à vos utilisateurs.
- Vous pouvez également accéder à Cloud Hub pour afficher un tableau de bord opérationnel unifié pour votre application définie, y compris ses données sur l'état, les performances et les coûts.