Objectifs
- Enchaîner fmt, validate, plan et apply.
- Créer et inspecter un plan sauvegardé.
- Comprendre le drift et le mode refresh-only.
- Reconnaître terraform destroy comme une commande destructive.
Séparer l’analyse de l’exécution
Un plan transforme une configuration et un state en proposition de changements. Il ne garantit ni le coût, ni la disponibilité future des APIs, ni l’absence de risque métier : la revue humaine et les politiques restent nécessaires.
Un plan sauvegardé permet d’appliquer exactement le fichier examiné, tant que le contexte et l’infrastructure ne rendent pas son exécution invalide entre-temps.
Formater, valider et planifier
fmt normalise le style, validate vérifie la cohérence interne et plan interroge normalement les providers pour calculer les changements. Un plan peut donc nécessiter des accès distants même s’il n’applique pas les modifications proposées.
terraform fmt
terraform validate
terraform planPlan sauvegardé et application contrôlée
-out produit un fichier de plan binaire. terraform show permet de le relire, puis terraform apply tfplan applique ce plan précis sans recalculer une nouvelle proposition.
terraform plan -out=tfplan
terraform show tfplan
terraform apply tfplanUn plan sauvegardé peut contenir des données sensibles. Ne le committez pas, protégez l’artefact et ne l’appliquez pas dans un autre contexte que celui qui a été revu.
Drift, refresh-only et destruction
Le drift est une différence entre l’infrastructure réelle et ce que Terraform attend, souvent causée par un changement manuel ou externe. Un plan normal le révèle généralement.
terraform plan -refresh-only propose uniquement de synchroniser le state et les outputs avec les objets distants. Ce mode moderne est disponible à partir de Terraform 0.15.4 ; l’ancienne commande terraform refresh est dépréciée et ne doit pas être le workflow par défaut.
terraform plan -refresh-onlyterraform destroyterraform destroy construit et applique une suppression de l’infrastructure gérée. Confirmez environnement, périmètre, sauvegardes, dépendances et approbation avant toute utilisation. Cette commande ne doit jamais être exécutée pendant les tests du projet.
Danger : terraform destroy est destructif
Mini résumé
- fmt et validate précèdent la revue d’un plan.
- Un plan sauvegardé relie plus clairement approbation et application.
- Le drift se diagnostique avant de choisir une correction.
- destroy est destructif et nécessite une validation explicite.
Outils associés
Construire une commande Terraform
Utilisez Terraform Command Builder pour composer une commande, comprendre ses options et visualiser son niveau de risque sans l’exécuter.
Ouvrir l’outilMini quiz
Trois questions pour vérifier les notions essentielles de la leçon.