Terraform State Management: Remote State, Locking und Workspaces
Der Terraform State ist die kritischste Datei Ihrer Infrastruktur. Best Practices für sicheres, skalierbares State Management.
Warum State Management entscheidend ist
Der Terraform State mappt Ihre HCL-Konfiguration auf reale Cloud-Ressourcen. Wenn der State verloren geht oder inkonsistent wird, kann Terraform Ihre Infrastruktur nicht mehr verwalten.
Remote State: S3 + DynamoDB
Lokaler State funktioniert für Einzelpersonen — aber in Teams brauchen Sie Remote State.
- S3 Backend: State in einem versionierten, verschlüsselten S3 Bucket speichern.
- DynamoDB Locking: Verhindert, dass zwei Teammitglieder gleichzeitig apply ausführen.
- Verschlüsselung: Server-Side Encryption (SSE-S3 oder SSE-KMS) für State at Rest.
State-Struktur
- Ein State pro Umgebung: Separate State-Files für dev, staging und production — ein fehlgeschlagenes apply in dev darf production nicht beeinflussen.
- Workspaces vs. Verzeichnisse: Workspaces teilen sich Code mit unterschiedlichen State-Files. Verzeichnisse bieten stärkere Isolation. Wir bevorzugen Verzeichnisse für Production.
- State Granularität: Networking, Compute und Application in separaten States — reduziert Blast Radius und Plan-Zeiten.
Notfall-Prozeduren
- State Backup: S3 Versioning aktivieren — jeder apply erstellt automatisch ein Backup.
- Import:
terraform importum existierende Ressourcen in den State aufzunehmen. - State Surgery:
terraform state rmundterraform state mvfür Refactoring — immer mit vorherigem Backup.
Fragen zu diesem Thema?
Wir beraten Sie gerne zu den in diesem Artikel beschriebenen Technologien und Lösungen.
Kontakt aufnehmen