Zurück zur Übersicht

Begriff

Terraform State (.tfstate)

IaC DevOps S2
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Terraform baut einen Server ("ID: i-123"). Nächste Woche änderst du den Code: "Server Name = Webserver 2". Woher weiß Terraform, dass "i-123" der Server ist, den er umbenennen muss? Er könnte in AWS suchen, aber das ist langsam und ungenau. Terraform führt ein Gedächtnis: Den State (terraform.tfstate). Das ist eine JSON-Datei. "resource 'aws_instance' 'web' maps to real ID 'i-123'". Ohne State ist Terraform blind. Wenn du ihn löschst, denkt Terraform, die Infrastruktur existiert nicht mehr, und baut alles doppelt (oder verliert die Kontrolle über die alten Server).

Merksatz: Eine Datenbank (meist JSON-Datei), die den Zustand der von Terraform verwalteten Infrastruktur speichert und das Mapping zwischen Code-Ressourcen und realen Cloud-Ressourcen herstellt.


Quick-Check

  1. Import?
    Du hast einen Server manuell geklickt. Du willst ihn in Terraform managen. terraform import aws_instance.web i-123. Terraform liest die echte API und schreibt den Eintrag in den State. Jetzt "besitzt" Terraform den Server.
  2. Refresh?
    Bevor Terraform plant, macht es refresh. Es fragt die Cloud: "Existiert i-123 noch? Hat jemand manuell die IP geändert?". Es aktualisiert den State mit der Realität (Drift Detection).
  3. Gitignore?
    *.tfstate gehört NIEMALS ins Git. Es enthält Passwörter und ist oft riesig. Nur der Backend-Code (backend "s3") gehört ins Git.