Jemand hat ein Prod-Problem per Klick in der Konsole behoben, aber die Infrastruktur wird von Terraform verwaltet. Was ist das Problem und die Lösung?
Kurzantwort
Die manuelle Konsolenänderung ist Konfigurations-Drift: Das nächste terraform apply kann den Fix still zurücksetzen, und die Änderung hat zudem Review und Audit umgangen. Gleiche sie ab, indem du die Änderung in Terraform codierst, plan/apply ausführst, damit Code und Realität übereinstimmen, und Leitplanken gegen Ad-hoc-Konsolenänderungen ergänzt (Konsolenzugriff nach Least Privilege, SCPs, Drift-Erkennung). Nichts zu tun hinterlässt eine Mine für das nächste apply. Den Terraform-State zu löschen ist destruktiv und kann Ressourcen verwaisen lassen oder duplizieren. Terraform aufzugeben wirft Reproduzierbarkeit, Review und Audit-Spuren weg.
Dies ist ein Governance-Szenario, getarnt als Terraform-Frage. Der Interviewer prüft, ob du verstehst, dass Infrastructure as Code die Source of Truth ist und dass eine Out-of-Band-Änderung diesen Vertrag still bricht – selbst wenn die Änderung „funktioniert“.
Warum die Änderung ein Problem ist
Terraform gleicht die reale Infrastruktur mit State und Code ab. Ein manueller Konsolen-Fix, der nicht im Code steht, ist Drift: Das nächste terraform apply (von irgendwem, für eine völlig andere Änderung ausgeführt) vergleicht die Welt mit dem Code, sieht die Differenz und setzt deinen Fix still zurück – und bricht die Produktion womöglich zum schlechtesten Zeitpunkt erneut. Davon getrennt umging die Konsolenänderung das gesamte Kontrollgerüst: kein Pull Request, kein Peer-Review, kein Audit-Eintrag, wer was warum geändert hat. Du hast also sowohl eine technische Zeitbombe als auch eine Prozesslücke.
Die richtige Lösung
Gleiche die Realität in den Code ab: Schreibe die Änderung in Terraform, führe terraform plan aus, um zu bestätigen, dass es keine Differenz mehr zeigt, und apply, damit Code und Realität übereinstimmen (mit import, falls Terraform die Ressource noch nicht verfolgt). Füge dann Leitplanken hinzu, damit das nicht wieder passiert: Konsolenzugriff nach Least Privilege (Read-only in Prod für die meisten), SCPs, die riskante direkte Mutationen blockieren, und automatisierte Drift-Erkennung, die alarmiert, wenn die Realität vom Code abweicht.
Warum die Distraktoren gefährlich sind
- „Nichts – es funktioniert jetzt.“ Es funktioniert, bis das nächste apply es zurücksetzt. Du hast eine Mine hinterlassen.
- Den Terraform-State löschen. Der State ist Terraforms Karte dessen, was es verwaltet. Ihn zu löschen „behebt“ die Differenz nicht – es lässt Terraform bestehende Ressourcen vergessen, was zu verwaister Infrastruktur oder Versuchen führt, bereits Vorhandenes neu zu erstellen. Das ist eine der destruktivsten Aktionen überhaupt.
- Terraform nicht mehr verwenden. IaC aufzugeben, um Drift zu vermeiden, wirft Reproduzierbarkeit, Review und Audit weg – genau das, was Änderungen an der Produktion sicher macht.
Worauf Interviewer achten
Drift und das Risiko des stillen Zurücksetzens zu erkennen, den Fix zu codieren (mit import, falls nötig) und präventive Leitplanken hinzuzufügen, statt der Person die Schuld zu geben, die geklickt hat.
Wahrscheinliche Anschlussfragen
- Wie würdest du die manuelle Änderung sicher in Terraform überführen, ohne die Ressource neu zu erstellen?
- Welche Leitplanken verhindern oder erkennen Konsolen-Drift in der Produktion wirklich?
- Warum ist das Löschen oder manuelle Bearbeiten der State-Datei so gefährlich?