Qu'est-ce que le state ?
Le state est un fichier JSON (terraform.tfstate) qui enregistre la correspondance entre vos ressources Terraform et les objets reels dans le cloud.
Pourquoi un state ?
- Mapping — Lie le code aux ressources reelles
- Performance — Evite d'interroger le cloud a chaque plan
- Dependances — Connait l'ordre de creation/destruction
State local vs remote
# Par defaut : state local (terraform.tfstate)
# Probleme : pas adapte au travail en equipe
# State remote avec S3 + DynamoDB (verrou)
terraform {
backend "s3" {
bucket = "mon-bucket-tfstate"
key = "prod/terraform.tfstate"
region = "eu-west-3"
dynamodb_table = "terraform-locks"
encrypt = true
}
}
Commandes utiles
terraform state list # Lister les ressources gerees
terraform state show aws_instance.web # Details d'une ressource
terraform state mv # Renommer une ressource
terraform state rm # Retirer du state (sans detruire)
Regle d'or : Ne modifiez jamais le fichier terraform.tfstate a la main. Utilisez les commandes
terraform state.