Déployer une instance de service avec l'environnement d'exécution SaaS
Découvrez comment déployer une instance de service à l'aide de l'environnement d'exécution SaaS. 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 SaaS Runtime, 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 SaaS Runtime, 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
L'environnement d'exécution SaaS utilise plusieurs comptes de service. Vous avez créé un compte de service dans la section précédente. Lorsque vous activez l'API d'environnement d'exécution SaaS, l'environnement d'exécution SaaS crée un autre compte de service.
Le compte de service créé par l'environnement d'exécution SaaS 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 SaaS Runtime > Overview > Get Started (Environnement d'exécution SaaS > Présentation > Premiers pas).
Accéder à Premiers pas dans l'environnement d'exécution SaaS
Dans la bannière contenant le message The required permissions for SaaS Runtime account haven't been granted (Les autorisations requises pour le compte d'environnement d'exécution SaaS n'ont pas été accordées), cliquez sur Grant permissions (Accorder des 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 déployez 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 maintenant 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 l'environnement d'exécution SaaS, 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 Region (Région), sélectionnez
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 maintenant utiliser l'environnement d'exécution SaaS 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 à SaaS Runtime > SaaS Offering (Environnement d'exécution SaaS > Offre SaaS).
Cliquez sur Créer.
Dans le champ Name of the SaaS offering (Nom de l'offre SaaS), saisissez
vm-quickstart-saas-offering.Dans le champ Region (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èdent à celles qui sont 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 genre d'unité pour une VM et un deuxième genre d'unité pour l'application qui s'exécute sur cette VM.
Dans ce guide de démarrage rapide, vous créez un genre d'unité pour la VM.
Pour créer le genre d'unité :
Dans la console, accédez à SaaS Runtime > Unit Kinds (Environnement d'exécution SaaS > Genres d'unité).
Sélectionnez Créer.
Sur la page Create blueprints (Créer des plans) :
- Sélectionnez Importer.
- Pour importer la configuration Terraform qui définit la VM, procédez comme suit :
- Dans le champ File picker (Sélecteur de fichiers), sélectionnez Browse.
- Accédez à
terraform-files.zip, qui est le fichier d'archive ZIP que vous avez créé précédemment, puis sélectionnez-le. - Sélectionnez Ouvrir.
- Cliquez sur Suivant : Configurer le plan.
Sur la page Store blueprint (Stocker le plan) :
- Sélectionnez Artifact Registry :
- Dans le champ Select repository from Artifact Registry (Sélectionner un dépôt dans Artifact Registry), sélectionnez Parcourir.
- Sélectionnez
vm-quickstart-repo, qui est le dépôt que vous avez créé précédemment. - Cliquez sur Sélectionner.
- Dans le champ Artifact image name (Nom de l'image d'artefact), saisissez
vm-quickstart-blueprint. - Pour le champ Infrastructure Manager terraform version (Version Terraform d'Infrastructure Manager), sélectionnez
1.5.7. - Pour le champ Cloud Build service account (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 Configure unit kind properties (Configurer les propriétés du genre d'unité), procédez comme suit :
- Dans le champ Unit kind name (Nom du genre d'unité), saisissez
vm-quickstart-unit-kind. - Pour le champ SaaS Offering (Offre SaaS), sélectionnez
vm-quickstart-saas-offering, qui est la ressource d'offre SaaS que vous avez créée précédemment. - Cliquez sur Suivant : Configuration de la version.
- Dans le champ Unit kind name (Nom du genre d'unité), saisissez
Dans le champ Release name (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 créez des unités. Lorsque vous créez une unité, l'environnement d'exécution SaaS provisionne les ressources définies dans la configuration Terraform connectée au genre d'unité. Les ressources sont provisionnées dans chaque région qui fait 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 à SaaS Runtime > Units (Environnement d'exécution SaaS > Unités).
Sélectionnez Créer.
Sur la page Create a unit (Créer une unité) :
- Dans le champ Unit name (Nom de l'unité), saisissez
vm-quickstart-unit. - Sous SaaS offering (Offre SaaS), sélectionnez la ressource d'offre SaaS que
vous avez créée précédemment :
vm-quickstart-saas-offering. - Sous Region (Région), sélectionnez
us-central1. - Sous Unit kind (Genre d'unité), sélectionnez le genre d'unité que vous avez créé précédemment :
vm-quickstart-unit-kind. - Sélectionnez Créer.
- Dans le champ Unit name (Nom de l'unité), saisissez
Pour provisionner la VM :
- Sur la page Unit detail (Détails de l'unité), sélectionnez Provision (Provisionner).
- Dans le champ Release (Version), sélectionnez
vm-quickstart-first-release. - Pour le champ Service account (Compte de service), sélectionnez le compte de service que vous avez créé dans la section Avant de commencer.
Ajoutez un projet locataire :
- Sélectionnez Add tenant project variables (Ajouter des variables de projet locataire).
- Sélectionnez le Google Cloud projet que vous utilisez pour ce guide de démarrage rapide. Lorsque l'environnement d'exécution SaaS déploie la VM, il la déploie dans ce projet.
Sélectionnez Provision (Provisionner).
L'environnement d'exécution SaaS 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 n'importe quelle région que vous avez spécifiée dans l'unité. Dans ce guide de démarrage rapide, vous avez spécifié une région (us-central1), et c'est dans cette région que la VM est provisionnée.
Afficher la VM déployée
Vous avez maintenant utilisé l'environnement d'exécution SaaS 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, accédez à la page SaaS Runtime > Units > Unit details (Environnement d'exécution SaaS > Unités > Détails de l'unité).
Cliquez sur le nom de votre unité :
vm-quickstart-unit.Sur la page Unit details (Détails de l'unité) :
Vérifiez que l'État est défini sur :
- Prêt si la VM est provisionnée.
- Provisionnement si l'opération est toujours en cours.
Développez la section Variables.
Dans les 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 > VM instances (Compute Engine > Instances de VM).
La VM s'affiche sous VM instances (Instances de VM).
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre Google Cloud compte pour les ressources utilisées sur cette page, procédez comme suit :
Supprimer le projet
Si vous avez déployé la solution dans un nouveau Google Cloud projet et que vous n'avez plus besoin de ce dernier, supprimez-le en procédant comme suit :
- Dans la Google Cloud console, 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.
Étape suivante
- Pour en savoir plus sur l'environnement d'exécution SaaS, consultez la présentation de l'environnement d'exécution SaaS.
- Pour commencer à utiliser l'environnement d'exécution SaaS, 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 la page Comptes de service de l'environnement d'exécution SaaS.
- Pour savoir comment mettre à jour la version, consultez la section Déployer une version.