Détruit toute l’infrastructure gérée par Terraform dans le répertoire courant.
Équivalent de
terraform apply -destroy. Irréversible — toujours vérifier le plan avant.
Options principales
| Option | Défaut | Description |
|---|---|---|
-auto-approve | non | Détruit sans demander de confirmation |
-target=RESSOURCE | toutes | Détruit uniquement une ressource spécifique |
-var="key=value" | aucune | Variable inline |
-var-file=FICHIER | terraform.tfvars | Fichier de variables |
-parallelism=N | 10 | Opérations simultanées |
-lock=true|false | true | Verrouille le state |
Exemples
# Destruction interactive (demande confirmation + affiche le plan)
terraform destroy
# Destruction automatique (CI/CD ou environnements éphémères)
terraform destroy -auto-approve
# Détruire une seule ressource
terraform destroy -target=aws_instance.web
# Détruire avec variables
terraform destroy -var-file=staging.tfvars -auto-approve
# Voir ce qui sera détruit sans rien faire
terraform plan -destroyOrdre de destruction
Terraform respecte le graphe de dépendances en sens inverse :
Infrastructure créée dans l'ordre :
1. aws_vpc.main
2. aws_subnet.public (dépend du VPC)
3. aws_instance.web (dépend du subnet)
Destruction dans l'ordre inverse :
1. aws_instance.web ← détruit en premier
2. aws_subnet.public
3. aws_vpc.main ← détruit en dernier
Cas d’usage
# Nettoyage d'un environnement de test après CI
terraform destroy -auto-approve -var-file=test.tfvars
# Destruction partielle (debug, refactoring)
terraform destroy -target=module.legacy
# Prévisualiser avant de détruire
terraform plan -destroy -out=destroy.tfplan
terraform show destroy.tfplan # inspecter
terraform apply destroy.tfplan # appliquer la destruction⚠️ Précautions
# Vérifier ce qui sera détruit AVANT
terraform plan -destroy
# Protéger des ressources critiques contre la destruction accidentelle
# Dans votre .tf :
resource "aws_rds_instance" "prod" {
lifecycle {
prevent_destroy = true # terraform destroy → erreur
}
}En relation avec
- Cycle de vie — Vue d’ensemble — étape finale du cycle
- terraform plan —
terraform plan -destroypour prévisualiser - terraform apply —
terraform apply -destroyest équivalent - terraform state — vérifier le state après destroy