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 des ressources Google Cloud existantes qui ne sont pas encore formellement définies comme une application.
Avant de commencer
Vous devez effectuer la configuration initiale pour la gestion des applications avant d'organiser les ressources dans les 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 recherchez 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 l'onglet Détails de l'application, sélectionnez l'emplacement le plus adapté à votre application en fonction de vos exigences de répartition géographique :
- Sélectionnez Global pour créer une application globale.
- Sélectionnez Régionale pour créer une application régionale. Sélectionnez ensuite la région spécifique de votre application en fonction des régions compatibles avec le hub d'applications.
Pour en savoir plus sur le meilleur emplacement pour votre application, consultez Applications mondiales et régionales.
Saisissez un nom pour votre application.
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.
Vous pouvez également ajouter un nom à afficher et une description pour l'application.
Il ne s'agit pas d'identifiants uniques. Vous pouvez les modifier après avoir créé l'application.
Cliquez sur Continuer.
Dans l'onglet Ressources d'application, parcourez les ressources d'infrastructure et cochez les cases des ressources que vous souhaitez enregistrer en tant que services et charges de travail de l'application.
Vous pouvez sélectionner jusqu'à 10 ressources à la fois.
Cliquez sur Continuer.
Dans l'onglet Attributs et propriétaires, vous pouvez ajouter des attributs pour l'application, tels que la criticité, l'environnement et les propriétaires de l'application.
Vous pouvez choisir d'utiliser les mêmes attributs et propriétaires pour les ressources que vous enregistrez dans l'application ou de les définir plus tard.
Cliquez sur Créer.
Une fois l'application créée, la page Applications affiche ses détails, y compris les ressources que vous avez enregistrées en tant que services et charges de travail. Après avoir créé l'application, vous pouvez y enregistrer d'autres services et charges de travail.
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 globales.
Pour en savoir plus sur le meilleur emplacement pour votre application, consultez Applications mondiales 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 l'emplacement
--scope-typede votre application est défini 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_EMAIL: nom à afficher et adresse e-mail du propriétaire du compte de développeur, respectivement.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 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 vos applications pour les enregistrer en tant que services et charges de travail. Après avoir créé une application, vous pouvez y enregistrer des ressources Google Clouden tant que services et charges de travail.
Vous ne pouvez enregistrer les services exclusifs que dans 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
Après avoir créé une application, vous pouvez y enregistrer plusieurs ressources :
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 .
Sur la page de l'application, sélectionnez l'onglet Services et charges de travail.
Cliquez sur Enregistrer des services ou des charges de travail.
Dans l'onglet Services et charges de travail, parcourez les ressources d'infrastructure et cochez les cases des ressources que vous souhaitez enregistrer en tant que services ou charges de travail de l'application.
Vous pouvez sélectionner jusqu'à 10 ressources à la fois.
Cliquez sur Continuer.
Dans l'onglet Attributs et propriétaires, vous pouvez ajouter des attributs pour ces ressources, tels que la criticité, l'environnement et les propriétaires de ressources.
Vous pouvez choisir d'utiliser les mêmes attributs et propriétaires que ceux de l'application ou définir d'autres attributs ultérieurement.
Cliquez sur S'inscrire.
L'onglet Services et charges de travail affiche tous les services et charges de travail enregistrés de l'application.
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 de n'afficher que 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 du résultat.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: nom à afficher et adresse e-mail du propriétaire du compte de développeur, respectivement.Facultatif :
OPERATOR_NAMEetOPERATOR_EMAIL: nom à afficher et adresse e-mail du propriétaire de l'opérateur, respectivement.Facultatif :
BUSINESS_NAMEetBUSINESS_EMAILcorrespondent respectivement au nom à afficher et à l'adresse e-mail du propriétaire de l'établissement.
- Obligatoire :
Affichez la liste des 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