Déployer une instance de service avec App Lifecycle Manager
Découvrez comment déployer une instance de service à l'aide d'App Lifecycle Manager. Dans cet exemple de démarrage rapide, votre instance de service est une VM.
Avant de commencer
-
Connectez-vous à votre compte Google.
Si vous n'en possédez pas déjà un, vous devez en créer un.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the App Lifecycle Manager, Artifact Registry, Infrastructure Manager, Developer Connect, Cloud Build, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart. - Click Create and continue.
-
Grant the Project > Owner role to the service account.
To grant the role, find the Select a role list, then select Project > Owner.
- Click Continue.
-
Click Done to finish creating the service account.
-
Ensure that you have the Create Service Accounts IAM role
(
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the App Lifecycle Manager, Artifact Registry, Infrastructure Manager, Developer Connect, Cloud Build, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart. - Click Create and continue.
-
Grant the Project > Owner role to the service account.
To grant the role, find the Select a role list, then select Project > Owner.
- Click Continue.
-
Click Done to finish creating the service account.
-
Ensure that you have the Create Service Accounts IAM role
(
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init
Accorder des autorisations au compte de service de l'exécuteur SaaS
App Lifecycle Manager utilise plusieurs comptes de service. Vous avez créé un compte de service dans la section précédente. Lorsque vous activez l'API App Lifecycle Manager, App Lifecycle Manager crée un autre compte de service.
Le compte de service créé par App Lifecycle Manager est appelé service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.com, où PROJECT-NUMBER est le numéro de votre projet.
Accordez les autorisations requises à ce compte de service en procédant comme suit :
Ouvrez la page Gestionnaire du cycle de vie des applications > Présentation > Commencer.
Dans la bannière contenant le message Les autorisations requises pour le compte App Lifecycle Manager n'ont pas été accordées, cliquez sur Accorder les autorisations.
Définir l'instance de service à l'aide d'une configuration Terraform
Vous devez utiliser une configuration Terraform pour définir l'infrastructure à déployer pour l'instance de service. Dans ce guide de démarrage rapide, vous allez déployer une VM.
Pour créer une configuration Terraform qui définit une VM :
Créez un répertoire nommé
terraform-vmsur votre machine locale.Dans
terraform-vm, créez les quatre fichiers Terraform suivants :Un fichier nommé
versions.tfavec le contenu suivant :terraform { required_version = "1.5.7" required_providers { google = { source = "hashicorp/google" version = "~> 4.0" } } }Un fichier nommé
outputs.tfavec le contenu suivant :output "instance_name" { description = "Name of the instance" value = google_compute_instance.vm_instance.name } output "instance_external_ip" { description = "External IP of the instance" value = google_compute_instance.vm_instance.network_interface[0].access_config[0].nat_ip } output "instance_self_link" { description = "Self-link of the instance" value = google_compute_instance.vm_instance.self_link }Un fichier nommé
variables.tfavec le contenu suivant :variable "region" { description = "The Google Cloud region" type = string default = "us-central1" } variable "zone" { description = "The Google Cloud zone" type = string default = "us-central1-a" } variable "instance_name" { description = "Name for the Compute Engine instance" type = string default = "saas-runtime-vm-instance" } variable "machine_type" { description = "Machine type for the Compute Engine instance" type = string default = "e2-medium" } variable "disk_size" { description = "Boot disk size in GB" type = number default = 10 } variable "actuation_sa" { description = "The email of the Actuation Service Account" type = string } variable "tenant_project_id" { description = "The project ID of the tenant project" type = string } variable "tenant_project_number" { description = "The project number of the tenant project" type = number }Un fichier nommé
main.tfavec le contenu suivant :resource "google_compute_instance" "vm_instance" { project = var.tenant_project_id name = var.instance_name machine_type = var.machine_type zone = var.zone boot_disk { initialize_params { image = "debian-cloud/debian-11" size = var.disk_size } } network_interface { network = "default" access_config { # Ephemeral public IP - empty block is okay here } } tags = ["allow-ssh"] }
Pour créer une archive ZIP contenant ces quatre fichiers de configuration Terraform, accédez au répertoire
terraform-vmdans votre terminal et exécutez la commande suivante :zip terraform-files.zip main.tf outputs.tf variables.tf versions.tfVous disposez désormais d'une archive ZIP nommée
terraform-files.zipqui contient les quatre fichiers de configuration Terraform.
Créer un dépôt dans Artifact Registry
Pour utiliser App Lifecycle Manager, vous avez besoin d'un dépôt dans Artifact Registry. Pour créer ce dépôt, procédez comme suit :
Dans la console, accédez à Artifact Registry.
Cliquez sur Créer un dépôt.
Dans le champ Name (Nom), saisissez
vm-quickstart-repo.Laissez le format sélectionné sur Docker.
Dans le champ Région, choisissez
us-central1 (Iowa).Cliquez sur Créer.
Créer une offre SaaS
Vous disposez de la configuration Terraform qui définit la VM que vous souhaitez déployer et d'un dépôt. Vous pouvez désormais utiliser App Lifecycle Manager pour modéliser les unités de déploiement et déployer la VM.
Créer une ressource d'offre SaaS
Dans la console, accédez à App Lifecycle Manager > Offre SaaS.
Cliquez sur Créer.
Dans le champ Nom de l'offre SaaS, saisissez
vm-quickstart-saas-offering.Dans le champ Région, sélectionnez la région
us-central1, puis cliquez sur OK.Cliquez sur Créer.
Les régions que vous avez sélectionnées pour l'offre SaaS sont celles où sont hébergés les déploiements de votre offre SaaS. Dans l'exemple de ce guide de démarrage rapide, l'offre SaaS est une seule VM. Ces régions sont donc celles où la VM est provisionnée et hébergée.
Si des utilisateurs finaux accèdent à ces VM, ils accéderont à celles déployées dans les régions que vous spécifiez ici.
Modéliser les unités de déploiement
Pour modéliser l'offre SaaS, vous créez des composants appelés genres d'unité. Un genre d'unité définit un composant de votre service à déployer et à gérer. Par exemple, vous pouvez avoir un type d'unité pour une VM et un deuxième type d'unité pour l'application exécutée sur cette VM.
Dans ce guide de démarrage rapide, vous allez créer un type d'unité pour la VM.
Pour créer le genre d'unité :
Dans la console, accédez à App Lifecycle Manager > Unit Kinds.
Sélectionnez Créer.
Sur la page Créer des plans :
- Sélectionnez Importer.
- Pour importer la configuration Terraform qui définit la VM, procédez comme suit :
- Dans le champ Sélecteur de fichier, sélectionnez Parcourir.
- Accédez à
terraform-files.zip, qui est le fichier d'archive ZIP que vous avez créé précédemment, et sélectionnez-le. - Sélectionnez Ouvrir.
- Cliquez sur Suivant : Configurer le plan.
Sur la page Plan du magasin :
- Sélectionnez Artifact Registry :
- Dans le champ Sélectionner un dépôt dans Artifact Registry, sélectionnez Parcourir.
- Sélectionnez
vm-quickstart-repo, le dépôt que vous avez créé précédemment. - Cliquez sur Sélectionner.
- Dans le champ Nom de l'image de l'artefact, saisissez
vm-quickstart-blueprint. - Dans Version Terraform d'Infrastructure Manager, sélectionnez
1.5.7. - Pour le compte de service Cloud Build, sélectionnez le compte de service que vous avez créé dans la section Avant de commencer.
- Cliquez sur Suivant : Détails du genre d'unité.
- Sélectionnez Artifact Registry :
Sur la page Configurer les propriétés du genre d'unité, procédez comme suit :
- Dans le champ Nom du type d'unité, saisissez
vm-quickstart-unit-kind. - Pour Offre SaaS, sélectionnez
vm-quickstart-saas-offering, qui correspond à la ressource d'offre SaaS que vous avez créée précédemment. - Cliquez sur Suivant : Configuration de la version.
- Dans le champ Nom du type d'unité, saisissez
Dans le champ Nom de la version, saisissez
vm-quickstart-first-release.Cliquez sur Créer.
Provisionner l'instance de service
Pour provisionner les ressources qui font partie d'un genre d'unité, vous devez créer des unités. Lorsque vous créez une unité, App Lifecycle Manager provisionne les ressources définies dans la configuration Terraform associée au type d'unité. Les ressources sont provisionnées dans chaque région faisant partie de l'offre SaaS.
Dans l'exemple de ce guide de démarrage rapide, la VM est provisionnée dans la région us-central1.
Créez une unité :
Dans la console, accédez à App Lifecycle Manager > Unités.
Sélectionnez Créer.
Sur la page Créer une unité :
- Dans le champ Nom de l'unité, saisissez
vm-quickstart-unit. - Sous Offre SaaS, sélectionnez la ressource d'offre SaaS que vous avez créée précédemment :
vm-quickstart-saas-offering. - Sous Région, sélectionnez
us-central1. - Sous Type d'unité, sélectionnez le type d'unité que vous avez créé précédemment :
vm-quickstart-unit-kind. - Sélectionnez Créer.
- Dans le champ Nom de l'unité, saisissez
Pour provisionner la VM :
- Sur la page Détails de l'unité, sélectionnez Provisionner.
- Dans le champ Version, sélectionnez
vm-quickstart-first-release. - Pour le compte de service, sélectionnez celui que vous avez créé dans la section Avant de commencer.
Ajoutez un projet locataire :
- Sélectionnez Ajouter des variables de projet locataire.
- Sélectionnez le projet Google Cloud que vous utilisez pour ce guide de démarrage rapide. Lorsque App Lifecycle Manager déploie la VM, il la déploie dans ce projet.
Sélectionnez Provision (Provisionner).
App Lifecycle Manager provisionne une VM dans la région que vous avez spécifiée dans l'offre SaaS. Vous pouvez créer des unités dans l'une des régions que vous avez spécifiées dans l'unité. Dans ce guide de démarrage rapide, vous avez spécifié une région (us-central1), dans laquelle la VM est provisionnée.
Afficher la VM déployée
Vous avez maintenant utilisé App Lifecycle Manager pour déployer la VM.
Pour afficher la VM que vous avez déployée dans ce guide de démarrage rapide :
Dans la console Google Cloud , accédez à la page App Lifecycle Manager > Unités > Détails de l'unité.
Cliquez sur le nom de votre unité :
vm-quickstart-unit.Sur la page Détails de l'unité :
Vérifiez que l'état est le suivant :
- Ready si la VM est provisionnée.
- Provisionnement si l'opération est toujours en cours.
Développez la section Variables.
Dans Variables de sortie, vous pouvez voir l'adresse IP externe que vous pouvez utiliser pour accéder à l'instance.
Vous pouvez également afficher la VM dans Compute Engine :
Dans la console, accédez à la page Compute Engine > Instances de VM.
Recherchez la VM dans la liste Instances de VM.
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre compte Google Cloud , procédez comme suit :
Supprimer le projet
Si vous avez déployé la solution dans un nouveau projet Google Cloud et que vous n'en avez plus besoin, supprimez-le en procédant comme suit :
- Dans la console Google Cloud , accédez à la page Gérer les ressources.
- Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
- Lorsque vous y êtes invité, saisissez l'ID du projet, puis cliquez sur Arrêter.
Étapes suivantes
- Pour en savoir plus sur App Lifecycle Manager, consultez Présentation d'App Lifecycle Manager.
- Pour commencer à utiliser App Lifecycle Manager, commencez par Créer une offre SaaS.
- Pour comprendre comment les comptes de service sont utilisés et comment accorder des autorisations précises pour ces comptes, consultez Comptes de service App Lifecycle Manager.
- Pour savoir comment mettre à jour la version, consultez Déployer une version.