TerraformDevOpsIaC

Terraform : détecter et corriger la dérive d'infrastructure

13 juillet 2026 · Sphinx-Digital

La dérive d’infrastructure (configuration drift) est l’ennemi silencieux de l’Infrastructure as Code. Un changement manuel en production, une ressource créée hors Terraform, et votre code ne reflète plus la réalité.

Détecter la dérive automatiquement

La première étape est de détecter la dérive avant qu’elle ne cause des problèmes. terraform plan dans un pipeline CI sans apply est suffisant :

# GitLab CI — job de détection de dérive
drift-check:
  schedule: "0 8 * * 1-5"   # chaque matin en semaine
  script:
    - terraform init
    - terraform plan -detailed-exitcode -out=plan.tfplan
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
  allow_failure: false

-detailed-exitcode retourne 0 si aucun changement, 1 si erreur, 2 si des changements sont détectés. Un exit code 2 déclenche une alerte.

Importer les ressources créées manuellement

# Une VM créée manuellement dans AWS
terraform import aws_instance.web i-0abc123def456789

# Depuis Terraform 1.5 : import déclaratif dans le code
import {
  to = aws_instance.web
  id = "i-0abc123def456789"
}

Une fois importée, la ressource est gérée par Terraform — plus de dérive possible.

Moved blocks : refactorer sans recréer

# Renommer une ressource sans la détruire et recréer
moved {
  from = aws_s3_bucket.logs
  to   = aws_s3_bucket.application_logs
}

Sans moved, Terraform détruirait l’ancienne ressource et en créerait une nouvelle — catastrophique pour un bucket S3 de logs en production.

Notre formation Terraform couvre la gestion de l’état et les stratégies de migration.