Terraform Infrastructure as Code · 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.

Lektion 4 von 413 Schritte

State Drift und Reconciliation verwalten ist eine kostenlose Terraform Infrastructure as Code-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 Terraform Infrastructure as Code-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Terraform Infrastructure as Code-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.
Kostenlos starten

Lerne Terraform Infrastructure as Code mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
12
Lektionen
48

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 Terraform Infrastructure as Code-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Terraform Infrastructure as Code-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 Terraform Infrastructure as Code 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 Terraform Infrastructure as Code zu starten?

Keine Vorkenntnisse erforderlich. Terraform Infrastructure as Code 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 Terraform Infrastructure as Code-Lektion Code schreiben und ausführen?

Ja. Jede Terraform Infrastructure as Code-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 Terraform Infrastructure as Code