In der Plan-Ausgabe stehen Zeilen mit einem Minus. Wer sie überfliegt und blind bestätigt, verliert Ressourcen. Nachträglich hilft keine Reue, denn apply hat genau das getan, was im Plan stand.
Dahinter steckt der Grundbegriff: Terraform ist Infrastructure as Code, die gewünschte Infrastruktur steht als Code in Dateien. Der Befehl terraform plan vergleicht drei Quellen: den Code, den State (den letzten bekannten Stand) und die echte Cloud. plan selbst verändert nichts, es ist eine reine Leseprozedur. Stattdessen zeigt es jede Änderung mit drei Zeichen an: Plus für erstellen, Minus für löschen, Tilde für ändern, jeweils mit Werten vorher und nachher.
Ein Beispiel: In der Konfiguration ist der Name einer Ressource versehentlich umbenannt worden. Der Plan zeigt eine Minus-Zeile für die alte Ressource und eine Plus-Zeile für die neue. Richtig wäre, das Minus zu sehen, den Code zurückzuändern und neu zu planen.
So prüft man es: Zuerst terraform plan laufen lassen und gezielt nach Minus-Zeilen suchen. Dann die Plan-Ausgabe lesen und den Plan mit terraform plan -out dateiname speichern; ausgeführt wird später exakt diese Datei, nicht ein Neuplan des Codes.
Mit terraform apply dateiname wird exakt dieser geprüfte Plan ausgeführt, ohne neu zu planen. Gespeicherte Pläne sind binär, laufen nur einmal und verfallen danach. In Pipelines wird der Plan als Artefakt geprüft und erst nach Freigabe angewendet.
Apply ohne Prüfung ist kein Werkzeugfehler, sondern ein Auftragsfehler: Der Plan war die Warnung, yes war der Auftrag.
📌 Plan lesen · Minus-Zeilen · plan -out
📚 Cloud von Grund auf · Tag 22 von 30
#Terraform #iac #devops