GSP345

Présentation
Dans un atelier challenge, vous devez suivre un scénario et effectuer une série de tâches. Aucune instruction détaillée n'est fournie : vous devez utiliser les compétences acquises au cours des ateliers du cours correspondant pour déterminer comment procéder par vous-même. Vous saurez si vous avez exécuté correctement les différentes tâches grâce au score calculé automatiquement (affiché sur cette page).
Lorsque vous participez à un atelier challenge, vous n'étudiez pas de nouveaux concepts Google Cloud. Vous allez approfondir les compétences précédemment acquises. Par exemple, vous devrez modifier les valeurs par défaut ou encore examiner des messages d'erreur pour corriger vous-même les problèmes.
Pour atteindre le score de 100 %, vous devez mener à bien l'ensemble des tâches dans le délai imparti.
Cet atelier est recommandé aux participants inscrits au cours Créer une infrastructure avec Terraform sur Google Cloud. Êtes-vous prêt pour le challenge ?
Compétences évaluées :
- Importer une infrastructure existante dans votre configuration Terraform
- Créer et référencer vos propres modules Terraform
- Ajouter un backend distant à votre configuration
- Utiliser et implémenter un module du registre Terraform
- Reprovisionner, détruire et mettre à jour l'infrastructure
- Tester la connectivité entre les ressources que vous avez créées
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. 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.
- Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Scénario du challenge
Vous êtes ingénieur cloud stagiaire dans une jeune start-up. Pour votre premier projet, votre nouveau patron vous a demandé de créer une infrastructure de façon rapide et efficace. Il vous a également chargé de concevoir un mécanisme permettant de suivre l'infrastructure pour pouvoir la consulter et la modifier par la suite. On vous a indiqué d'utiliser Terraform pour réaliser ce projet.
Pour ce projet, vous allez utiliser Terraform afin de créer, déployer et suivre l'infrastructure sur Google Cloud, le fournisseur cloud de la start-up. Vous devrez également importer des instances mal gérées dans votre configuration et les corriger.
Dans cet atelier, vous utiliserez Terraform pour importer et créer plusieurs instances de VM, un réseau VPC avec deux sous-réseaux, ainsi qu'une règle de pare-feu permettant au VPC d'autoriser les connexions entre les deux instances. Vous allez également créer un bucket Cloud Storage pour héberger votre backend distant.
Remarque : À la fin de chaque section, exécutez les commandes plan
et apply
pour bien valider votre travail. Comme nous allons modifier de nombreux fichiers Terraform dans cet atelier, vous devez vous assurer d'utiliser les bons chemins d'accès aux fichiers et de maintenir l'indentation appropriée.
Tâche 1 : Créer les fichiers de configuration
- Dans Cloud Shell, créez vos fichiers de configuration Terraform et une structure de répertoire semblable à la suivante :
main.tf
variables.tf
modules/
└── instances
├── instances.tf
├── outputs.tf
└── variables.tf
└── storage
├── storage.tf
├── outputs.tf
└── variables.tf
- Remplissez les fichiers
variables.tf
qui se trouvent dans le répertoire racine et dans les modules. Ajoutez trois variables à chaque fichier : region
, zone
et project_id
. Utilisez respectivement , et votre ID de projet Google Cloud comme valeurs par défaut.
Remarque : Utilisez ces variables partout où elles sont pertinentes dans vos configurations de ressources.
-
Ajoutez le bloc Terraform et le fournisseur Google au fichier main.tf
. Vérifiez que l'argument zone est bien ajouté avec les arguments project et region dans le bloc concernant le fournisseur Google.
-
Initialisez Terraform.
Tâche 2 : Importer l'infrastructure
- Dans la console Google Cloud, accédez au menu de navigation, cliquez sur Compute Engine > Instances de VM. Deux instances nommées tf-instance-1 et tf-instance-2 ont déjà été créées pour vous.
Remarque : Cliquez sur une des instances pour connaître son ID d'instance, l'image du disque de démarrage et le type de machine. Ces informations sont nécessaires pour écrire correctement les configurations et les importer dans Terraform.
-
Importez les instances existantes dans le module instances. Pour ce faire, procédez comme suit :
- Tout d'abord, ajoutez la référence du module au fichier
main.tf
, puis réinitialisez Terraform.
- Écrivez ensuite les configurations de ressources dans le fichier
instances.tf
pour les faire correspondre aux instances préexistantes.
- Nommez vos instances
tf-instance-1
et tf-instance-2
.
- Dans cet atelier, la configuration de ressources doit être minimale. Pour ce faire, vous devrez seulement inclure les arguments supplémentaires suivants à votre configuration :
machine_type
, boot_disk
, network_interface
, metadata_startup_script
et allow_stopping_for_update
. Utilisez la configuration suivante pour les deux derniers arguments, afin de ne pas avoir à la recréer :
metadata_startup_script = <<-EOT
#!/bin/bash
EOT
allow_stopping_for_update = true
- Une fois que vous avez écrit les configurations de ressources dans le module, utilisez la commande
terraform import
pour les importer dans votre module instances.
- Appliquez les modifications. Remarque : comme vous n'avez pas renseigné tous les arguments dans la configuration entière, la commande
apply
va mettre à jour les instances en place. Cela suffira pour cet atelier, mais dans un environnement de production, veillez à renseigner correctement tous les arguments avant l'importation.
Cliquez sur Vérifier ma progression pour valider l'objectif. Importer l'infrastructure
Tâche 3 : Configurer un backend distant
-
Créez une ressource de bucket Cloud Storage à l'intérieur du module storage
. Utilisez comme nom de bucket. Pour les autres arguments, vous pouvez simplement utiliser les valeurs suivantes :
location = "US"
force_destroy = true
uniform_bucket_level_access = true
Remarque : Vous pouvez, si vous le souhaitez, ajouter des valeurs de sortie dans le fichier outputs.tf
.
-
Ajoutez la référence du module au fichier main.tf
. Initialisez le module et exécutez la commande apply
pour appliquer les modifications et ainsi créer le bucket à l'aide de Terraform.
-
Configurez ce bucket de stockage en tant que backend distant dans le fichier main.tf
. Veillez à utiliser le préfixe terraform/state
pour qu'il puisse être évalué.
-
Si vous avez écrit la configuration correctement, lors de l'exécution d'init
, Terraform vous demandera si vous souhaitez copier les données d'état existantes dans le nouveau backend. Saisissez yes
à l'invite.
Cliquez sur Vérifier ma progression pour valider l'objectif. Configurer un backend distant
Tâche 4 : Modifier et mettre à jour l'infrastructure
-
Accédez au module instances et modifiez la ressource tf-instance-1 pour utiliser un type de machine e2-standard-2
.
-
Modifiez la ressource tf-instance-2 pour utiliser un type de machine e2-standard-2
.
-
Ajoutez une troisième ressource d'instance et nommez-la . Pour cette troisième ressource, utilisez un type de machine e2-standard-2
. Assurez-vous de basculer le type de machine sur e2-standard-2
pour les trois instances.
-
Initialisez Terraform et exécutez la commande apply
pour appliquer vos modifications.
Remarque : Si vous le souhaitez, vous pouvez ajouter des valeurs de sortie de ces ressources dans le fichier outputs.tf
du module.
Cliquez sur Vérifier ma progression pour valider l'objectif. Modifier et mettre à jour l'infrastructure
Tâche 5 : Détruire des ressources
- Détruisez la troisième instance en supprimant la ressource du fichier de configuration. Après la suppression, initialisez Terraform et exécutez la commande
apply
pour appliquer les modifications.
Cliquez sur Vérifier ma progression pour valider l'objectif. Détruire des ressources
Tâche 6 : Utiliser un module du registre
-
Dans le registre Terraform, accédez au module Network.
-
Ajoutez ce module à votre fichier main.tf
. Utilisez les configurations suivantes :
- Utilisez la version
10.0.0
(les autres versions peuvent entraîner des erreurs de compatibilité).
- Nommez le VPC et utilisez un mode de routage mondial.
- Spécifiez 2 sous-réseaux dans la région , et nommez-les
subnet-01
et subnet-02
. Vous avez simplement besoin de définir les arguments de sous-réseau suivants : Nom, Adresse IP et Région.
- Utilisez l'adresse IP
10.10.10.0/24
pour subnet-01
et 10.10.20.0/24
pour subnet-02
.
- Vous n'avez pas besoin d'associer de plages ou de routes secondaires à ce VPC. Vous pouvez donc les omettre dans la configuration.
-
Une fois que vous avez écrit la configuration du module, initialisez Terraform et exécutez la commande apply
pour créer les réseaux.
-
Accédez ensuite au fichier instances.tf
et modifiez les ressources de configuration afin de connecter tf-instance-1 à subnet-01
et tf-instance-2 à subnet-02
.
Remarque : Dans la configuration des instances, vous devrez définir l'argument network sur
, puis ajouter l'argument subnetwork avec le sous-réseau adapté pour chaque instance.
Cliquez sur Vérifier ma progression pour valider l'objectif. Utiliser un module du registre
Tâche 7 : Configurer un pare-feu
- Créez une ressource de règle de pare-feu dans le fichier
main.tf
et nommez-la tf-firewall.
- Cette règle de pare-feu doit permettre au réseau d'autoriser les connexions entrantes pour toutes les plages d'adresses IP (
0.0.0.0/0
) sur le port TCP 80.
- Veillez à définir l'argument
source_ranges
sur la plage d'adresses IP appropriée (0.0.0.0/0
).
- Initialisez Terraform et exécutez la commande
apply
pour appliquer vos modifications.
Remarque : Pour récupérer l'argument network
requis, vous pouvez inspecter l'état et rechercher l'ID ou le self_link de la ressource google_compute_network
que vous avez créée. Cet argument est au format projects/PROJECT_ID/global/networks/
.
Cliquez sur Vérifier ma progression pour valider l'objectif. Configurer un pare-feu
Félicitations !
Si vous avez réussi à importer, créer, modifier et configurer l'architecture dans le temps imparti, vous avez démontré votre maîtrise de Terraform. Dans cet atelier, vous avez commencé par importer deux VM pré-configurées dans Terraform et par créer un bucket Cloud Storage pour configurer votre backend. Vous avez ensuite ajouté une autre instance, avant de vous entraîner à modifier et mettre à jour les configurations de ressources dans vos modules. Enfin, vous avez utilisé un module du registre Terraform pour créer un VPC avec deux sous-réseaux, vous y avez connecté les instances et vous avez créé une règle de pare-feu pour autoriser les connexions entre elles.

Gagnez un badge de compétence
Cet atelier d'auto-formation fait partie du cours Créer une infrastructure avec Terraform sur Google Cloud. Si vous terminez ce cours, vous obtiendrez le badge de compétence ci-dessus attestant de votre réussite. Ajoutez votre badge à votre CV et partagez-le sur les réseaux sociaux en utilisant le hashtag #GoogleCloudBadge.
Étapes suivantes
Maintenant que vous avez démontré votre maîtrise de Terraform, vous pouvez vous inscrire à la certification HashiCorp Infrastructure Automation. La certification Terraform Associate s'adresse aux ingénieurs cloud spécialisés dans les opérations, l'assistance technique ou le développement qui maîtrisent les concepts et compétences de base liés à la plate-forme Open Source Terraform de HashiCorp. Les candidats ayant une expérience professionnelle de Terraform en production seront mieux préparés à l'examen, mais remplir les objectifs de l'examen dans un environnement de démonstration personnel peut également suffire. Si vous voulez passer au niveau supérieur et démontrer vos compétences en automatisation d'infrastructures, nous vous recommandons de consulter le guide d'étude et le guide de révision de l'examen, puis de vous inscrire à l'examen quand vous serez prêt. Bonne chance !
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 30 avril 2025
Dernier test de l'atelier : 30 avril 2025
Copyright 2025 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.