Terraform - 1 Le workflow Terraform : init, validate, plan, apply, destroy
Terraform sert à provisionner une infrastructure à partir de fichiers de configuration. Pour le faire de façon maîtrisée, on suit un workflow composé de cinq commandes de base. Cette leçon présente ces commandes avant d'aborder la syntaxe du langage.
Initialiser le répertoire de travail
La commande init s'utilise en premier lorsqu'on crée une configuration Terraform. Elle initialise le répertoire de travail, c'est-à-dire le dossier où se trouvent les fichiers de configuration.
Elle télécharge aussi les plugins nécessaires, appelés fournisseurs. Une fois ces fournisseurs téléchargés, l'initialisation est terminée.
terraform init
Valider et planifier
La commande validate analyse les fichiers de configuration pour vérifier leur cohérence. Elle permet de détecter une erreur avant toute action sur l'infrastructure.
La commande plan génère un plan d'exécution. Elle affiche ce qui va être créé, modifié ou supprimé, par exemple une adresse IP puis une instance EC2, sans rien appliquer encore.
terraform validate
terraform plan
Appliquer et détruire
La commande apply envoie la configuration au fournisseur cloud, qui crée alors l'infrastructure décrite dans les fichiers.
La commande destroy supprime des ressources. Elle peut supprimer une seule ressource, comme une instance EC2, ou toute l'infrastructure décrite dans la configuration.
terraform apply
terraform destroy
En résumé
Le workflow Terraform suit cinq étapes : init, validate, plan, apply et destroy. Init prépare le répertoire, validate vérifie les fichiers, plan montre les changements, apply crée l'infrastructure et destroy la supprime.
Points clés
- La commande init initialise le répertoire et télécharge les fournisseurs.
- La commande validate vérifie la cohérence des fichiers de configuration.
- La commande plan montre les changements avant qu'ils ne soient appliqués.
- La commande apply crée l'infrastructure chez le fournisseur cloud.
- La commande destroy supprime tout ou partie de l'infrastructure.
Questions fréquentes
Pourquoi valider la configuration avant de planifier ?
La commande validate repère les incohérences dans les fichiers. Elle évite de poursuivre le workflow avec une configuration erronée.
Quelle est la différence entre plan et apply ?
Plan affiche les changements prévus. Apply applique réellement ces changements chez le fournisseur cloud.
Destroy supprime-t-il toute l'infrastructure ?
Il peut supprimer une seule ressource ou toute l'infrastructure décrite dans le fichier de configuration.