Instructions et exigences de configuration de l'atelier
Protégez votre compte et votre progression. Utilisez toujours une fenêtre de navigation privée et les identifiants de l'atelier pour exécuter cet atelier.

Créer des dépendances de ressources avec Terraform

Atelier 1 heure universal_currency_alt 5 crédits show_chart Débutant
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Ce contenu n'est pas encore optimisé pour les appareils mobiles.
Pour une expérience optimale, veuillez accéder à notre site sur un ordinateur de bureau en utilisant un lien envoyé par e-mail.

Présentation

Dans cet atelier, nous allons créer deux VM dans le réseau par défaut. Nous utiliserons des variables pour définir les attributs des VM lors de l'exécution et des valeurs de sortie pour imprimer quelques attributs de ressources.

Ensuite, nous ajouterons une adresse IP statique à la première VM afin d'observer comment Terraform gère les dépendances implicites. Nous créerons un bucket GCS en mentionnant une dépendance explicite à la VM pour voir comment Terraform gère les dépendances explicites.

Objectifs

Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :

  • Utiliser des variables et des valeurs de sortie
  • Observer une dépendance implicite
  • Créer une dépendance de ressource explicite

Tâche 1 : Se connecter à la console Cloud

Pour chaque atelier, nous vous attribuons un nouveau projet Google Cloud et un nouvel ensemble de ressources pour une durée déterminée, sans frais.

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau Détails concernant l'atelier, qui contient les éléments suivants :

    • Le bouton Ouvrir la console Google Cloud
    • Le temps restant
    • Les identifiants temporaires que vous devez utiliser pour cet atelier
    • Des informations complémentaires vous permettant d'effectuer l'atelier
  2. Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).

    L'atelier lance les ressources, puis ouvre la page Se connecter dans un nouvel onglet.

    Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.

    Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
  3. Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.

    {{{user_0.username | "Username"}}}

    Vous trouverez également le nom d'utilisateur dans le panneau Détails concernant l'atelier.

  4. Cliquez sur Suivant.

  5. Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.

    {{{user_0.password | "Password"}}}

    Vous trouverez également le mot de passe dans le panneau Détails concernant l'atelier.

  6. Cliquez sur Suivant.

    Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
  7. Accédez aux pages suivantes :

    • Acceptez les conditions d'utilisation.
    • N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
    • Ne vous inscrivez pas à des essais sans frais.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Pour afficher un menu contenant la liste des produits et services Google Cloud, cliquez sur le menu de navigation en haut à gauche, ou saisissez le nom du service ou du produit dans le champ Recherche. Icône du menu de navigation

Tâche 2 : Initialiser Terraform

Nous allons maintenant initialiser Terraform en définissant Google comme fournisseur.

  1. Ouvrez Cloud Shell (Activer Cloud Shell) et exécutez la commande ci-dessous pour vérifier que Terraform est installé.
terraform -version

Le résultat devrait ressembler à l'exemple suivant (ne pas copier) :

Terraform v1.5.7

Terraform est préinstallé dans Cloud Shell. Vous pouvez donc créer directement des ressources d'infrastructure.

  1. Créez un répertoire pour votre configuration Terraform et exécutez la commande suivante pour y accéder :
mkdir tfinfra && cd $_
  1. Dans Cloud Shell, cliquez sur Ouvrir l'éditeur pour ouvrir l'éditeur Cloud Shell.
  2. Cliquez sur le bouton Ouvrir dans une nouvelle fenêtre pour laisser l'éditeur ouvert dans un onglet distinct.
  3. Pour créer un fichier dans le dossier tfinfra, effectuez un clic droit sur tfinfra, puis cliquez sur New File (Nouveau fichier).
  4. Nommez le nouveau fichier provider.tf, puis cliquez sur OK.
  5. Ajoutez le code suivant à provider.tf :
provider "google" { project = "{{{project_0.project_id|Project ID}}}" region = "{{{project_0.default_region | "REGION"}}}" zone = "{{{project_0.default_zone | "ZONE"}}}" }
  1. Pour enregistrer provider.tf, cliquez sur File > Save (Fichier > Enregistrer).

  2. Initialisez Terraform à l'aide des commandes suivantes :

terraform init

Le résultat devrait ressembler à l'exemple suivant (ne pas copier) :

Initializing the backend... Initializing provider plugins... - Finding hashicorp/google versions matching "4.15.0"... - Installing hashicorp/google v4.15.0... - Installed hashicorp/google v4.15.0 (signed by HashiCorp) Terraform has created a lock file .terraform.lock.hcl to record the provider selections it made above. Include this file in your version control repository so that Terraform can guarantee to make the same selections by default when you run "terraform init" in the future. Terraform has been successfully initialized!

Terraform a installé les plug-ins nécessaires pour interagir avec l'API Google Cloud. L'authentification n'est pas requise pour l'API. Les identifiants Cloud Shell donnent accès au projet et aux API.

Question :

Dans la suite de l'atelier, nous examinerons les deux types de dépendances que Terraform peut gérer :

  1. Dépendances implicites connues de Terraform
  2. Dépendances explicites inconnues de Terraform

Tâche 3 : Afficher une dépendance de ressource implicite

Pour montrer comment Terraform déduit une dépendance implicite, nous allons attribuer une adresse IP statique à l'instance de VM.

Créer une instance de VM

Créons une instance de VM et paramétrons sa configuration en définissant des variables :

  1. Pour créer un fichier, effectuez un clic droit sur le dossier tfinfra, puis cliquez sur New File (Nouveau fichier).
  2. Nommez le nouveau fichier instance.tf, puis ouvrez-le.
  3. Copiez le code suivant dans instance.tf :
resource google_compute_instance "vm_instance" { name = "${var.instance_name}" zone = "${var.instance_zone}" machine_type = "${var.instance_type}" boot_disk { initialize_params { image = "debian-cloud/debian-11" } } network_interface { network = "default" access_config { # Allocate a one-to-one NAT IP to the instance } } }
  1. Pour enregistrer instance.tf, cliquez sur File > Save (Fichier > Enregistrer).

Créer des variables

  1. Effectuez un clic droit sur le dossier tfinfra, puis cliquez sur New File (Nouveau fichier) afin de créer un fichier pour les variables.
  2. Nommez le nouveau fichier variables.tf, puis cliquez sur OK.
  3. Ajoutez les propriétés suivantes à variables.tf :
variable "instance_name" { type = string description = "Name for the Google Compute instance" } variable "instance_zone" { type = string description = "Zone for the Google Compute instance" } variable "instance_type" { type = string description = "Disk type of the Google Compute instance" default = "e2-medium" }

En attribuant une valeur par défaut à instance_type, vous rendez la variable facultative. Les variables instance_name et instance_zone sont obligatoires. Vous les définirez lors de l'exécution.

  1. Pour enregistrer variable.tf, cliquez sur File > Save (Fichier > Enregistrer).

Créer des valeurs de sortie

  1. Effectuez un clic droit sur le dossier tfinfra, puis cliquez sur New File (Nouveau fichier) afin de créer un fichier pour les valeurs de sortie.
  2. Nommez le nouveau fichier outputs.tf, puis cliquez sur OK.
  3. Ajoutez les propriétés suivantes à outputs.tf :
output "network_IP" { value = google_compute_instance.vm_instance.instance_id description = "The internal ip address of the instance" } output "instance_link" { value = google_compute_instance.vm_instance.self_link description = "The URI of the created resource." }
  1. Pour enregistrer outputs.tf, cliquez sur File > Save (Fichier > Enregistrer).

Attribuer une adresse IP statique

  1. Vous allez maintenant compléter votre configuration en attribuant une adresse IP statique à l'instance de VM dans instance.tf.
resource "google_compute_address" "vm_static_ip" { name = "terraform-static-ip" }

La procédure est semblable à celle de l'exemple précédent qui vous a permis d'ajouter une ressource d'instance de VM, mais cette fois, vous allez créer une ressource de type google_compute_address. Ce type de ressource attribue une adresse IP réservée à votre projet.

  1. Mettez à jour comme suit le bloc de configuration "network_interface" de votre instance :
network_interface { network = "default" access_config { # Allocate a one-to-one NAT IP to the instance nat_ip = google_compute_address.vm_static_ip.address } }

Le code final est présenté ci-dessous.

resource "google_compute_address" "vm_static_ip" { name = "terraform-static-ip" } resource google_compute_instance "vm_instance" { name = "${var.instance_name}" zone = "${var.instance_zone}" machine_type = "${var.instance_type}" boot_disk { initialize_params { image = "debian-cloud/debian-11" } } network_interface { network = "default" access_config { # Allocate a one-to-one NAT IP to the instance nat_ip = google_compute_address.vm_static_ip.address } } }
  1. Initialisez Terraform à l'aide de la commande suivante :
terraform init
  1. Exécutez la commande suivante pour prévisualiser les ressources créées :
terraform plan
  1. Si vous y êtes invité, indiquez les détails suivants pour la création de l'instance.
  • var.instance_name : myinstance

  • var.instance_zone :

  1. Exécutez la commande suivante pour afficher l'ordre de création des ressources :
terraform apply
  1. Si vous y êtes invité, indiquez les détails suivants pour la création de l'instance.
  • var.instance_name : myinstance

  • var.instance_zone :

  1. Pour confirmer les actions planifiées, saisissez yes.
Remarque : Terraform gère automatiquement la dépendance implicite en créant une adresse IP statique avant l'instance. google_compute_address.vm_static_ip: Creating... google_compute_address.vm_static_ip: Creation complete after 2s [id=projects/qwiklabs-gcp-03-4662a5b49176/regions/{{{project_0.default_region | "REGION"}}}/addresses/terraform-static-ip] google_compute_instance.vm_instance: Creating... google_compute_instance.vm_instance: Still creating... [10s elapsed] google_compute_instance.vm_instance: Creation complete after 15s [id=projects/qwiklabs-gcp-03-4662a5b49176/zones/{{{project_0.default_zone | "ZONE"}}}/instances/myinstance] Apply complete! Resources: 2 added, 0 changed, 0 destroyed.

Vérifier dans la console Cloud

Dans la console Cloud, vérifiez que les ressources ont bien été créées.

  1. Dans la console Google Cloud, accédez au menu de navigation (Menu de navigation), puis cliquez sur Compute Engine > Instances de VM.

  2. Vous pouvez voir qu'une instance nommée myinstance a été créée. terraform_instance

  3. Vérifiez l'adresse IP statique. Dans le menu de navigation (Menu de navigation), cliquez sur Réseaux VPC > Adresses IP > Adresses IP externes. terraform_instance

Cliquez sur Vérifier ma progression pour confirmer que l'adresse IP statique a bien été créée. Créer une adresse IP statique à l'aide d'une dépendance implicite

Cliquez sur Vérifier ma progression pour confirmer que la VM a bien été créée. Créer une instance de VM à l'aide d'une dépendance implicite

Tâche 4 : Créer une dépendance explicite

Les dépendances explicites permettent d'indiquer les dépendances entre les ressources qui ne sont pas visibles par Terraform. Dans cet exemple, considérons que vous allez exécuter sur votre instance une application qui s'attend à utiliser un bucket Cloud Storage spécifique. Étant donné que cette dépendance est configurée dans le code de l'application, Terraform ne peut pas la voir. Dans ce cas, vous pouvez utiliser depends_on pour déclarer explicitement la dépendance.

  1. Pour créer un fichier, effectuez un clic droit sur le dossier tfinfra, puis cliquez sur New File (Nouveau fichier).
  2. Nommez le nouveau fichier exp.tf, puis cliquez sur OK.
  3. Ajoutez un bucket Cloud Storage et une instance ayant une dépendance explicite avec ce bucket en incluant le code de base suivant dans exp.tf :
# Create a new instance that uses the bucket resource "google_compute_instance" "another_instance" { name = "terraform-instance-2" machine_type = "e2-micro" boot_disk { initialize_params { image = "debian-cloud/debian-11" } } network_interface { network = "default" access_config { } } # Tells Terraform that this VM instance must be created only after the # storage bucket has been created. depends_on = [google_storage_bucket.example_bucket] }
  1. Ajoutez le code ci-dessous pour créer un bucket.
# New resource for the storage bucket our application will use. resource "google_storage_bucket" "example_bucket" { name = "<UNIQUE-BUCKET-NAME>" location = "US" website { main_page_suffix = "index.html" not_found_page = "404.html" } } Remarque : Les buckets de stockage doivent être uniques. Vous devez donc remplacer UNIQUE-BUCKET-NAME par un nom unique et valide pour un bucket. Nous vous recommandons d'utiliser le nom du projet et la date. Il s'agit généralement d'un bon moyen de créer un nom de bucket unique.

Notez que dans notre code, la configuration de l'instance de VM est ajoutée avant le bucket GCS. Lorsque vous exécuterez terraform apply, vous constaterez que l'ordre dans lequel les ressources sont définies dans un fichier de configuration Terraform n'a aucune incidence sur la façon dont Terraform applique vos modifications.

Le code final est présenté ci-dessous.

resource "google_compute_instance" "another_instance" { name = "terraform-instance-2" machine_type = "e2-micro" boot_disk { initialize_params { image = "debian-cloud/debian-11" } } network_interface { network = "default" access_config { } } # Tells Terraform that this VM instance must be created only after the # storage bucket has been created. depends_on = [google_storage_bucket.example_bucket] } resource "google_storage_bucket" "example_bucket" { name = "<UNIQUE-BUCKET-NAME>" location = "US" website { main_page_suffix = "index.html" not_found_page = "404.html" } }
  1. Pour enregistrer exp.tf, cliquez sur File > Save (Fichier > Enregistrer).

  2. Exécutez la commande suivante pour prévisualiser les ressources créées :

terraform plan

Si vous y êtes invité, indiquez les détails suivants pour la création de l'instance.

  • var.instance_name : myinstance

  • var.instance_zone :

  1. Exécutez la commande suivante pour afficher l'ordre de création des ressources :
terraform apply

Si vous y êtes invité, indiquez les détails suivants pour la création de l'instance.

  • var.instance_name : myinstance

  • var.instance_zone :

  1. Pour confirmer les actions planifiées, saisissez yes.

  2. Notez qu'en raison de la dépendance explicite, l'instance de calcul est créée après le bucket Cloud Storage.

Enter a value: yes google_storage_bucket.example_bucket: Creating... google_storage_bucket.example_bucket: Creation complete after 1s [id=qwiklabs-gcp-03-4662a5b49176-abc] google_compute_instance.another_instance: Creating... google_compute_instance.another_instance: Still creating... [10s elapsed] google_compute_instance.another_instance: Creation complete after 14s [id=projects/qwiklabs-gcp-03-4662a5b49176/zones/{{{project_0.default_zone | "ZONE"}}}/instances/terraform-instance-2] Apply complete! Resources: 2 added, 0 changed, 0 destroyed.

Vérifier dans la console Cloud

Dans la console Cloud, vérifiez que les ressources ont bien été créées.

  1. Dans la console Google Cloud, accédez au menu de navigation (Menu de navigation), puis cliquez sur Compute Engine > Instances de VM.

  2. Affichez l'instance terraform-instance-2 que vous avez créée.

  3. Vérifiez que le bucket Cloud Storage a bien été créé. Dans le menu de navigation (Menu de navigation), cliquez sur Cloud Storage > Buckets.

Cliquez sur Vérifier ma progression pour confirmer que le bucket a bien été créé. Créer un bucket Cloud Storage à l'aide d'une dépendance explicite

Cliquez sur Vérifier ma progression pour confirmer que la VM a bien été créée. Créer une ressource d'instance de VM à l'aide d'une dépendance explicite

Remarque : Si vous recevez un message d'erreur, revenez aux étapes précédentes pour vérifier que votre configuration est conforme aux instructions données dans l'atelier. Si vous ne parvenez pas à résoudre le problème lié à votre configuration, téléchargez ces versions définitives de configuration, puis consultez-les :

Tâche 5 : Afficher le graphique des dépendances

  1. Pour afficher le graphique des dépendances de la ressource créée, exécutez la commande suivante :
terraform graph | dot -Tpng > graph.png
  1. Accédez à l'éditeur. Vous constatez qu'un fichier nommé graph.png a été créé. Cliquez sur le fichier pour afficher le graphique des dépendances.

Pour comprendre comment lire ce graphique, veuillez consulter cette page.

Récapitulatif

Dans cet atelier, vous avez utilisé une instance de VM dotée d'une adresse IP statique pour voir comment les dépendances de ressources implicites sont gérées avec Terraform. Vous avez ensuite créé une dépendance explicite en ajoutant l'argument depend_on afin de pouvoir créer un bucket GCS avant une instance de VM. Vous avez également affiché le graphique des dépendances que Terraform utilise pour déterminer l'ordre de création des ressources.

Fin de l'atelier

Une fois l'atelier terminé, cliquez sur "Terminer l'atelier". Google Skills supprime les ressources que vous avez utilisées, puis efface le compte.

Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur "Envoyer".

Voici à quoi correspond le nombre d'étoiles que vous pouvez attribuer à un atelier :

  • 1 étoile = très insatisfait(e)
  • 2 étoiles = insatisfait(e)
  • 3 étoiles = ni insatisfait(e), ni satisfait(e)
  • 4 étoiles = satisfait(e)
  • 5 étoiles = très satisfait(e)

Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.

Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet "Assistance".

Copyright 2026 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms de société et de produit peuvent être des marques des sociétés auxquelles ils sont associés.

Avant de commencer

  1. Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
  2. Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
  3. En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.

Utilisez la navigation privée

  1. Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
  2. Cliquez sur Ouvrir la console en navigation privée

Connectez-vous à la console

  1. Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
  2. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
  3. Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.

Ce contenu n'est pas disponible pour le moment

Nous vous préviendrons par e-mail lorsqu'il sera disponible

Parfait !

Nous vous contacterons par e-mail s'il devient disponible

Un atelier à la fois

Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci

Utilisez la navigation privée pour effectuer l'atelier

Le meilleur moyen d'exécuter cet atelier consiste à utiliser une fenêtre de navigation privée. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.