Gérer la dérive de l’état et la réconciliation
Détectez, diagnostiquez et résolvez la dérive, c’est-à-dire l’écart entre l’état Terraform et l’infrastructure réelle, avant qu’elle ne provoque des pannes ou des modifications inattendues.
Gérer la dérive de l’état et la réconciliation est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.
Qu’est-ce que la dérive ?
La dérive se produit lorsque l’infrastructure réelle est modifiée en dehors de Terraform, lorsqu’un ingénieur ajuste un paramètre dans la console ou lorsqu’un autre outil modifie une ressource. L’état et la réalité ne correspondent alors plus, et le prochain apply peut annuler ou écraser ces modifications de manière inattendue.
Détecter la dérive avec plan
Un simple terraform plan actualise l’état et affiche les différences. Si une ressource a subi une dérive, le plan signale les modifications que vous n’avez pas faites dans le code.
terraform planLe plan d’actualisation uniquement
Pour voir la dérive sans proposer de modifications de configuration, utilisez un plan d’actualisation uniquement. Il met à jour l’état pour qu’il corresponde à la réalité et affiche les différences.
terraform plan -refresh-onlyLire le rapport de dérive
Terraform marque les attributs ayant subi une dérive avec la modification détectée. Un tilde indique une modification sur place ; une paire moins/plus indique qu’une valeur a été ajoutée ou supprimée en dehors de Terraform.
# aws_instance.web has changed
~ instance_type = "t3.micro" -> "t3.small"Deux façons de réconcilier les états
Lorsque vous détectez une dérive, vous devez choisir une direction :
- Accepter la réalité — mettre à jour votre code pour qu’il corresponde au nouvel état.
- Rétablir le code — appliquer les changements afin de ramener l’infrastructure à ce que déclare la configuration.
Intégrer la dérive à l’état
Si la modification manuelle était intentionnelle, exécutez apply -refresh-only pour enregistrer la réalité dans l’état, puis mettez votre code à jour afin qu’il corresponde et que les futurs plans soient propres.
terraform apply -refresh-onlyAnnuler la dérive
Si la modification n’était pas autorisée, un terraform apply normal ramène l’infrastructure à la configuration déclarée et annule la modification manuelle.
terraform applyCibler une seule ressource
Pour une correction ciblée, -target limite l’opération à une seule ressource. Utilisez-le avec parcimonie : il peut masquer une dérive plus large.
terraform apply -target=aws_instance.webÉviter les dérives parasites
Certains attributs sont gérés par AWS ou par d’autres outils. Utilisez ignore_changes afin que Terraform cesse d’entrer en conflit avec eux.
resource "aws_instance" "web" {
lifecycle {
ignore_changes = [tags["LastScanned"]]
}
}Détection continue de la dérive
Détectez rapidement la dérive en exécutant un plan d’actualisation uniquement planifié dans l’intégration continue. Terraform Cloud propose une détection intégrée de la dérive qui alerte lorsque l’état et la réalité divergent.
on:
schedule:
- cron: "0 6 * * *"La culture prime sur les outils
La meilleure prévention de la dérive repose sur le processus : limitez les accès d’écriture à la console, faites passer toutes les modifications par Terraform et considérez les modifications manuelles comme des incidents. Les outils détectent la dérive ; la discipline l’évite.
Vérification rapide
Testez vos connaissances de la gestion de la dérive.
Récapitulatif : préserver la fiabilité de l’état
Vous pouvez maintenant gérer la dérive :
- La détecter avec
planouplan -refresh-only. - L’accepter avec
apply -refresh-onlypuis une mise à jour du code. - L’annuler avec un
applynormal. - Utiliser
ignore_changeset des vérifications planifiées pour garder une longueur d’avance.
Questions Fréquemment Posées
La leçon « Gérer la dérive de l’état et la réconciliation » est-elle gratuite ?
Oui — le texte complet de « Gérer la dérive de l’état et la réconciliation » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Gérer la dérive de l’état et la réconciliation » ?
Détectez, diagnostiquez et résolvez la dérive, c’est-à-dire l’écart entre l’état Terraform et l’infrastructure réelle, avant qu’elle ne provoque des pannes ou des modifications inattendues. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?
Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Gérer la dérive de l’état et la réconciliation » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?
Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Déboguer les configurations Terraform
- Stratégies d’optimisation des performances
- Reprise après sinistre avec Terraform
- Gérer la dérive de l’état et la réconciliation