Points de contrôle
Create a VM instance in dynamic zone with Terraform
/ 100
Principes de base de Terraform
GSP156
Présentation
Terraform vous permet de créer, de modifier et d'améliorer votre infrastructure de manière sûre et prévisible. Il s'agit d'un outil Open Source qui codifie les API dans des fichiers de configuration déclaratifs pouvant être partagés par des collègues, traités comme du code, modifiés, révisés et gérés par version.
Objectifs
Dans cet atelier, vous apprendrez à effectuer les opérations suivantes :
- Démarrer avec Terraform dans Google Cloud
- Installer Terraform à partir de binaires d'installation
- Créer une infrastructure d'instances de VM à l'aide de Terraform
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 vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour 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) ;
- vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Démarrer l'atelier et se connecter à la console Google Cloud
-
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
-
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. -
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.
-
Cliquez sur Suivant.
-
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.
-
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. -
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 gratuits.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Activer Cloud Shell
Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
- Cliquez sur Activer Cloud Shell
en haut de la console Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Le résultat contient une ligne qui déclare YOUR_PROJECT_ID (VOTRE_ID_PROJET) pour cette session :
gcloud
est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
- (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
-
Cliquez sur Autoriser.
-
Vous devez à présent obtenir le résultat suivant :
Résultat :
- (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
Résultat :
Exemple de résultat :
gcloud
, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Qu'est-ce que Terraform ?
Terraform est un outil permettant de créer et de modifier des infrastructures, ainsi que d'en gérer les versions efficacement et en toute sécurité. Terraform gère aussi bien les fournisseurs de services existants les plus prisés que les solutions internes personnalisées.
Les fichiers de configuration décrivent à Terraform les composants requis pour l'exécution d'une application donnée ou de l'ensemble de votre centre de données. Terraform génère un plan d'exécution détaillant les opérations qu'il effectuera pour atteindre l'état souhaité, puis il exécute ce plan pour créer l'infrastructure décrite. Lorsque la configuration est modifiée, Terraform peut déterminer ce qui a changé et créer des plans d'exécution incrémentiels applicables.
Terraform gère des composants d'infrastructure de bas niveau, comme des instances de calcul et des ressources de stockage ou de mise en réseau, et des composants de haut niveau, tels que des entrées de système de noms de domaine (DNS, Domain Name System) et des fonctionnalités SaaS (Software as a Service).
Principales fonctionnalités
Infrastructure as Code
L'infrastructure est décrite à l'aide d'une syntaxe de configuration de haut niveau. Cela vous permet de gérer les versions d'un plan de votre centre de données et de traiter ce plan comme n'importe quel autre code. En outre, vous pouvez partager l'infrastructure et la réutiliser.
Plans d'exécution
Terraform propose une étape de planification lors de laquelle il génère un plan d'exécution. Ce plan décrit les opérations effectuées par Terraform lorsque vous exécutez la commande apply
. Cela vous évite toute mauvaise surprise lorsque Terraform manipule l'infrastructure.
Graphique des ressources
Terraform crée un graphique de l'ensemble de vos ressources, puis traite en parallèle la création et la modification des ressources non dépendantes. Terraform est ainsi en mesure de créer l'infrastructure la plus efficace possible, et renseigne les opérateurs sur les dépendances qui existent dans leur infrastructure.
Automatisation des modifications
Terraform peut appliquer à votre infrastructure des ensembles de modifications complexes avec un minimum d'intervention de votre part. Grâce au plan d'exécution et au graphique des ressources susmentionnés, vous connaissez précisément la nature et l'ordre des modifications apportées par Terraform, ce qui vous permet d'éviter de nombreux risques d'erreurs humaines.
Tâche 1 : Vérifier l'installation Terraform
Terraform est préinstallé dans Cloud Shell.
- Ouvrez un nouvel onglet Cloud Shell et vérifiez si Terraform est disponible :
Le résultat d'aide doit être semblable à ceci :
Tâche 2 : Créer l'infrastructure
Une fois Terraform installé, vous pouvez immédiatement commencer à créer une infrastructure.
Configuration
L'ensemble de fichiers décrivant l'infrastructure dans Terraform est simplement désigné sous le terme de configuration Terraform
. Dans cette section, vous allez écrire votre première configuration pour lancer une instance de VM unique. Le format des fichiers de configuration est disponible dans la documentation sur le langage de Terraform. Nous vous recommandons de créer les fichiers de configuration au format JSON.
- Dans Cloud Shell, créez un fichier de configuration vide nommé
instance.tf
à l'aide de la commande suivante :
-
Cliquez sur Ouvrir l'éditeur dans la barre d'outils Cloud Shell.
Pour passer de Cloud Shell à l'éditeur de code et vice versa, cliquez sur Ouvrir l'éditeur ou Ouvrir le terminal selon les besoins, ou cliquez sur Ouvrir dans une nouvelle fenêtre pour laisser l'éditeur ouvert dans un autre onglet. -
Cliquez sur le fichier
instance.tf
et ajoutez-y le contenu suivant, en remplaçant<ID_DU_PROJET>
par votre ID de projet Google Cloud :
Ce fichier constitue une configuration complète immédiatement applicable par Terraform. Sa structure générale doit se révéler intuitive et simple.
Le bloc "resource" figurant dans le fichier instance.tf
définit une ressource existante de l'infrastructure. Une ressource peut correspondre à un composant physique, tel qu'une instance de VM.
Le bloc "resource" est introduit par deux chaînes : le type de ressource et le nom de ressource. Pour cet atelier, la ressource présente le type google_compute_instance
et le nom terraform
. Le préfixe du type est mappé sur le fournisseur : ainsi, google_compute_instance
indique automatiquement à Terraform que la ressource est gérée par le fournisseur Google
.
Le bloc "resource" renferme la configuration requise pour la ressource.
- Dans Cloud Shell, vérifiez que le fichier que vous avez créé a bien été ajouté et que votre répertoire ne contient aucun autre fichier
*.tf
, puisque Terraform charge tous les fichiers stockés dans ce répertoire :
Initialisation
La première commande à exécuter pour une nouvelle configuration, ou après la récupération d'une configuration existante à partir du contrôle des versions, est terraform init
. Cette commande initialise différents paramètres et données locaux qui seront utilisés par les commandes ultérieures.
Terraform est doté d'une architecture basée sur des plug-ins compatible avec les nombreux fournisseurs de service et infrastructures disponibles. Chaque "fournisseur" est un binaire encapsulé qui est distribué séparément de Terraform. La commande terraform init
télécharge et installe automatiquement le binaire des fournisseurs à utiliser dans la configuration, qui se limite ici à celui du fournisseur Google.
- Téléchargez et installez le binaire du fournisseur :
Le plug-in fournisseur de Google est téléchargé et installé dans un sous-répertoire du répertoire de travail actuel, avec d'autres fichiers de tenue de registres. Vous obtenez alors le message "Initializing provider plugins". Terraform sait que vous exécutez un projet Google et obtient donc les ressources de ce fournisseur.
Le résultat indique la version du plug-in en cours d'installation, et vous suggère de spécifier cette version dans les fichiers de configuration ultérieurs pour garantir le fait que la commande terraform init
installera une version compatible.
- Créez un plan d'exécution :
Terraform procède à une actualisation (sauf si cette fonctionnalité a été explicitement désactivée), puis détermine les actions requises pour obtenir l'état spécifié dans les fichiers de configuration. Cette commande vous permet de vérifier facilement si le plan d'exécution d'un ensemble de modifications répond à vos attentes sans modifier les ressources réelles ni l'état. Par exemple, vous pouvez exécuter cette commande avant d'apporter une modification au contrôle des versions, afin de vous assurer qu'elle aura l'effet escompté.
-out
facultatif pour enregistrer le plan généré dans un fichier en vue de l'exécuter ultérieurement à l'aide de la commande terraform apply
.
Appliquer les modifications
- Dans le répertoire contenant le fichier
instance.tf
que vous avez créé, exécutez cette commande :
Le résultat ci-dessous présente le plan d'exécution, qui décrit les opérations que Terraform effectuera pour modifier l'infrastructure réelle en fonction de la configuration. Le format du résultat est semblable au format diff généré par des outils tels que Git.
Le signe +
qui précède google_compute_instance.terraform
signifie que Terraform va créer cette ressource. Cette chaîne est suivie des attributs qui seront définis. Lorsque la valeur affichée est <computed>
, cela signifie qu'elle ne sera connue qu'une fois la ressource créée.
Exemple de résultat :
Si le plan a bien été créé, Terraform s'interrompt et attend votre approbation avant de poursuivre. Dans un environnement de production, si un aspect quelconque du plan d'exécution semble incorrect ou hasardeux, vous pouvez sans risque annuler la procédure à ce stade. En effet, aucune modification n'a été apportée à votre infrastructure.
- Si le plan vous semble acceptable, saisissez
yes
(oui) à l'invite de confirmation pour continuer.
L'exécution du plan prend quelques minutes, car Terraform attend que l'instance de VM devienne disponible.
Terraform a maintenant terminé.
Tester la tâche terminée
Cliquez sur Vérifier ma progression pour valider la tâche exécutée. Si votre tâche a bien été exécutée, vous recevez une note d'évaluation.
- Dans la console Google Cloud, accédez au Menu de navigation, puis cliquez sur Compute Engine > Instances de VM. La page Instances de VM s'ouvre. L'instance de VM que vous venez de créer apparaît dans la liste des instances de VM.
Terraform a écrit certaines données dans le fichier terraform.tfstate
. Ce fichier d'état est extrêmement important, car il garde une trace de l'ID des ressources créées et permet ainsi à Terraform de savoir ce qu'il gère.
- Dans Cloud Shell, inspectez l'état actuel :
Exemple de résultat :
Comme vous pouvez le voir, en créant cette ressource, vous avez aussi rassemblé de très nombreuses informations la concernant. Vous pouvez référencer ces valeurs pour configurer d'autres ressources ou résultats.
Félicitations ! Vous venez de créer votre première infrastructure avec Terraform. Vous avez découvert la syntaxe de configuration, un exemple de plan d'exécution de base et le fichier d'état.
Tâche 3 : Tester vos connaissances
Les questions à choix multiples suivantes vous permettront de mieux maîtriser les concepts abordés lors de cet atelier. Répondez-y du mieux que vous le pouvez.
Félicitations
Félicitations ! Vous avez terminé cet atelier. Vous savez désormais utiliser Terraform pour créer et gérer l'infrastructure sur Google Cloud.
Terminer votre quête
Cet atelier d'auto-formation fait partie des quêtes Managing Cloud Infrastructure with Terraform et Automating Infrastructure on Google Cloud with Terraform. Une quête est une série d'ateliers associés qui constituent un parcours de formation. Si vous terminez une quête, vous obtenez un badge attestant de votre réussite. Vous pouvez rendre publics les badges que vous recevez et ajouter leur lien dans votre CV en ligne ou sur vos comptes de réseaux sociaux. Inscrivez-vous à n'importe quelle quête contenant cet atelier pour obtenir immédiatement les crédits associés. Découvrez toutes les quêtes disponibles dans le catalogue Google Cloud Skills Boost.
Atelier suivant
Continuez sur votre lancée en suivant l'atelier Infrastructure as Code with Terraform. Vous pouvez également découvrir les ateliers Google Cloud Skills Boot suivants :
- Fournisseurs personnalisés avec Terraform
- Équilibreur de charge HTTPS basé sur le contenu avec Terraform
Étapes suivantes et informations supplémentaires
- HashiCorp sur Google Cloud Marketplace
- Communauté Terraform
- Exemples d'utilisation de Terraform avec Google
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 : 26 janvier 2024
Dernier test de l'atelier : 10 août 2023
Copyright 2024 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.