0Pricing
DevOps Bootcamp · Lektion

State Drift und Reconciliation verwalten

Erkennen, analysieren und beheben Sie Drift – die Abweichung zwischen Ihrem Terraform-State und der tatsächlichen Infrastruktur –, bevor es zu Ausfällen oder unerwarteten Änderungen kommt.

State Drift und Reconciliation verwalten ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Was ist Drift?

Drift entsteht, wenn sich die reale Infrastruktur außerhalb von Terraform ändert, eine Entwicklerin oder ein Entwickler eine Einstellung in der Konsole anpasst oder ein anderes Tool eine Ressource verändert. Dann stimmen Status und Realität nicht mehr überein, und der nächste apply kann diese Änderungen unerwartet zurücksetzen oder überschreiben.

Drift mit plan erkennen

Ein gewöhnlicher terraform plan aktualisiert den Status und zeigt Unterschiede an. Wenn eine Ressource Drift aufweist, meldet der Plan Änderungen, die Sie nicht im Code vorgenommen haben.

terraform plan

Der Nur-Aktualisieren-Plan

Um Drift zu sehen, ohne Konfigurationsänderungen vorzuschlagen, verwenden Sie einen refresh-only-Plan. Er aktualisiert den Status entsprechend der Realität und zeigt die Abweichungen an.

terraform plan -refresh-only

Den Drift-Bericht lesen

Terraform kennzeichnet Attribute mit Drift durch die erkannte Änderung. Eine Tilde zeigt eine Änderung an Ort und Stelle an; ein Minus-/Plus-Paar bedeutet, dass ein Wert außerhalb von Terraform hinzugefügt oder entfernt wurde.

# aws_instance.web has changed
  ~ instance_type = "t3.micro" -> "t3.small"

Zwei Wege zum Abgleichen

Wenn Sie Drift feststellen, müssen Sie sich für eine Richtung entscheiden:

  • Realität übernehmen — Aktualisieren Sie Ihren Code, damit er dem neuen Status entspricht.
  • Code wiederherstellen — Führen Sie apply aus, um die Infrastruktur auf den im Code definierten Zustand zurückzusetzen.

Drift in den Status übernehmen

Wenn die manuelle Änderung beabsichtigt war, führen Sie apply -refresh-only aus, um die Realität im Status zu speichern. Aktualisieren Sie anschließend Ihren Code entsprechend, damit künftige Pläne sauber bleiben.

terraform apply -refresh-only

Drift zurücksetzen

Wenn die Änderung nicht autorisiert war, setzt ein normaler terraform apply die Infrastruktur auf die deklarierte Konfiguration zurück und macht die manuelle Änderung rückgängig.

terraform apply

Eine einzelne Ressource anvisieren

Für eine gezielte Korrektur beschränkt -target die Operation auf eine Ressource. Verwenden Sie diese Option sparsam, da sie umfassenderen Drift verdecken kann.

terraform apply -target=aws_instance.web

Scheinbaren Drift verhindern

Einige Attribute werden von AWS oder anderen Werkzeugen verwaltet. Verwenden Sie ignore_changes, damit Terraform nicht länger versucht, diese Änderungen zu überschreiben.

resource "aws_instance" "web" {
  lifecycle {
    ignore_changes = [tags["LastScanned"]]
  }
}

Kontinuierliche Drift-Erkennung

Erkennen Sie Drift frühzeitig, indem Sie in CI nach Zeitplan einen Nur-Aktualisieren-Plan ausführen. Terraform Cloud bietet eine integrierte Drift-Erkennung, die Sie benachrichtigt, wenn Status und Realität voneinander abweichen.

on:
  schedule:
    - cron: "0 6 * * *"

Kultur ist wichtiger als Werkzeuge

Die beste Vorbeugung gegen Drift ist ein geeigneter Prozess: Beschränken Sie Schreibzugriffe auf die Konsole, wickeln Sie alle Änderungen über Terraform ab und behandeln Sie manuelle Änderungen als Vorfälle. Werkzeuge erkennen Drift; Disziplin verhindert ihn.

Kurzer Check

Testen Sie Ihr Wissen über Drift-Management.

Zusammenfassung: Den Status zuverlässig halten

Sie können nun mit Drift umgehen:

  • Erkennen Sie ihn mit plan oder plan -refresh-only.
  • Übernehmen Sie ihn mit apply -refresh-only und einer anschließenden Code-Aktualisierung.
  • Setzen Sie ihn mit einem normalen apply zurück.
  • Verwenden Sie ignore_changes und geplante Prüfungen, um Drift frühzeitig zu erkennen.

Häufig gestellte Fragen

Ist die Lektion „State Drift und Reconciliation verwalten“ kostenlos?

Ja — der vollständige Text von „State Drift und Reconciliation verwalten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „State Drift und Reconciliation verwalten“?

Erkennen, analysieren und beheben Sie Drift – die Abweichung zwischen Ihrem Terraform-State und der tatsächlichen Infrastruktur –, bevor es zu Ausfällen oder unerwarteten Änderungen kommt. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um DevOps Bootcamp zu starten?

Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „State Drift und Reconciliation verwalten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?

Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Terraform-Konfigurationen debuggen
  2. Strategien zur Performance-Optimierung
  3. Disaster Recovery mit Terraform
  4. State Drift und Reconciliation verwalten
← Zurück zu DevOps Bootcamp