Terraform Cheatsheet

Terraform CheatsheetKapitel 12 von 12

Terraform Anti-Patterns

Stand Terraform 1.17 · Edition 2026.11 · Release-Daten geprüft am 30. Oktober 2026

Was du nicht tun solltest

-target als Routine: zerschnittener Graph, Code und Realität divergieren, nur im Notfall.

State von Hand editieren: JSON-Chirurgie korrumpiert Serial/Lineage, state-Kommandos oder moved/removed nutzen.

count für benannte Objekte: Löschen in der Mitte verschiebt Indizes, Nachbarn werden zerstört/neu erzeugt. for_each nehmen.

Provider/Module unpinned: nächstes init zieht ein Major-Update in den Apply. Provider pinnen + Lock-Datei committen; die Lock-Datei deckt nur Provider ab, Modulversionen löst jedes frische init neu auf, also exakt pinnen (version bzw. ?ref=-Tag).

Secrets als Klartext-Variable: landen in State und Plan-Datei, ephemeral/write-only nutzen, State-Zugriff beschränken.

Workspaces als Prod-Trennung: ein Backend, eine Credential-Grenze für alles, getrennte Root-Module + Backends.

Apply ohne Plan-Artefakt in CI: zwischen Review und Apply entsteht ein anderer Plan, immer apply tfplan.

Monolith-Root-Modul: ein State für alles = maximaler Blast-Radius und träge Plans, nach Lebenszyklus/Team schneiden.

ignore_changes als Dauerpflaster: verdeckt Drift und echte Ownership-Fragen, klären, wer das Attribut verwaltet.