Enregistrer des ressources existantes dans une application

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 :

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

  1. Dans la console Google Cloud , utilisez le sélecteur de projet pour sélectionner votre projet de gestion.

  2. Accédez à la page Applications depuis App Hub :

    Accéder à la page Applications

  3. Cliquez sur Créer une application.

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

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

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

  7. Cliquez sur Continuer.

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

  9. Cliquez sur Continuer.

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

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

  1. 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_EMAIL
    

    Remplacez APPLICATION_NAME par 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-type pour 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 :

      • REGIONAL pour les applications régionales.
      • GLOBAL pour 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-type de votre application est défini sur REGIONAL, spécifiez le nom d'une région compatible avec App Hub.
      • Si l'emplacement --scope-type de votre application est défini sur GLOBAL, utilisez global.
    • 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_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • ENVIRONMENT (facultatif) : étape du cycle de vie du logiciel. Appliquez l'une des valeurs suivantes :

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • Facultatif : DEV_NAME et DEV_EMAIL : nom à afficher et adresse e-mail du propriétaire du compte de développeur, respectivement.

    • Facultatif : OPERATOR_NAME et OPERATOR_EMAIL : nom à afficher et adresse e-mail du propriétaire de l'opérateur, respectivement.

    • Facultatif : BUSINESS_NAME et BUSINESS_EMAIL, respectivement le nom à afficher et l'adresse e-mail du propriétaire de l'établissement.

  2. Répertoriez les applications de votre projet :

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

    Vous 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 :

  1. Dans la console Google Cloud , utilisez le sélecteur de projet pour sélectionner votre projet de gestion.

  2. Accédez à la page Applications depuis App Hub :

    Accéder à la page Applications

  3. Cliquez sur le nom de l'application pour laquelle vous souhaitez enregistrer les ressources Google Cloud .

  4. Sur la page de l'application, sélectionnez l'onglet Services et charges de travail.

  5. Cliquez sur Enregistrer des services ou des charges de travail.

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

  7. Cliquez sur Continuer.

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

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

  1. Répertoriez les services disponibles que vous pouvez enregistrer dans une application :

    gcloud apphub discovered-services list \
      --project=PROJECT_ID \
      --location=REGION \
      --filter=FILTER_EXPRESSION
    

    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 :

    • Facultatif : FILTER_EXPRESSION : expression de filtre pour l'indicateur --filter afin 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_ID
      • service_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'}
    
  2. Copiez l'ID de service, SERVICE_ID, à partir du résultat.

  3. 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_EMAIL
    

    Remplacez SERVICE_NAME par le nom que vous souhaitez utiliser pour enregistrer le service auprès de l'application.

    Utilisez des indicateurs facultatifs tels que --criticality-type pour 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 :

    • 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_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • ENVIRONMENT (facultatif) : étape du cycle de vie du logiciel. Appliquez l'une des valeurs suivantes :

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • Facultatif : DEV_NAME et DEV_EMAIL : nom à afficher et adresse e-mail du propriétaire du compte de développeur, respectivement.

    • Facultatif : OPERATOR_NAME et OPERATOR_EMAIL : nom à afficher et adresse e-mail du propriétaire de l'opérateur, respectivement.

    • Facultatif : BUSINESS_NAME et BUSINESS_EMAIL correspondent respectivement au nom à afficher et à l'adresse e-mail du propriétaire de l'établissement.

  4. Affichez la liste des services enregistrés dans votre application :

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

    Vous devez obtenir un résultat semblable à ce qui suit pour chaque service enregistré :

    ID              DISPLAY_NAME            SERVICE_REFERENCE                                                                                             CREATE_TIME
    SERVICE_NAME