Terraform · Plan / Apply

Plan et Apply

Construisez, enregistrez et relisez un plan avant de l’appliquer, puis identifiez le drift sans workflow obsolète.

Leçon disponible
20 min

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.

Workflow de contrôle
terraform fmt
terraform validate
terraform plan

Plan 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.

Créer, relire puis appliquer un plan sauvegardé
terraform plan -out=tfplan
terraform show tfplan
terraform apply tfplan

Un 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.

Examiner un drift intentionnel
terraform plan -refresh-only
COMMANDE DESTRUCTIVE — ne pas exécuter sans validation
terraform destroy

terraform 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.

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’outil

Mini quiz

Trois questions pour vérifier les notions essentielles de la leçon.

1. Quel avantage offre terraform plan -out=tfplan ?
2. Qu’est-ce que le drift ?
3. Comment traiter terraform destroy ?