Le state (.tfstate) est le fichier qui mappe vos ressources Terraform aux ressources réelles de l’infrastructure. C’est la source de vérité de Terraform.


Notes détaillées

NoteContenu
terraform stateCommandes : list, show, rm, mv, replace-provider, force-unlock
terraform importAssocier une ressource existante au state
terraform state pull et pushTélécharger/envoyer le state manuellement, migration de backend
Backend — Configuration et optionConfigurer le backend, option -backend=false
terraform refresh⚠️ Synchroniser le state avec l’infra réelle (déconseillé → -refresh-only)

Où est stocké le state ?

Local (défaut) :
  ./terraform.tfstate

Remote (recommandé en équipe) :
  S3 + DynamoDB (AWS)
  GCS (GCP)
  Azure Blob Storage
  Terraform Cloud
  HTTP backend

Configuration d’un backend S3

terraform {
  backend "s3" {
    bucket         = "mon-terraform-state"
    key            = "prod/terraform.tfstate"
    region         = "eu-west-1"
    dynamodb_table = "terraform-locks"   ← verrou distribué
    encrypt        = true
  }
}

Précautions

⚠️ Ne jamais committer terraform.tfstate dans Git
   (contient des secrets : passwords, tokens, clés)

✅ Ajouter au .gitignore :
   *.tfstate
   *.tfstate.backup
   .terraform/

En relation avec