Terraform möchte meine gesamte AWS-Bereitstellung neu erstellen

7

Ich habe eine AWS-Umgebung, die zu 100% mit Terraform erstellt wurde. Ich habe es seit ein paar Tagen nicht mehr angefasst, aber heute, als ich eine meiner Meinung nach ziemlich triviale Änderung vorgenommen habe, hat Terraform beschlossen, mir eine komplett neue AWS-Infrastruktur aufzubauen . Das Zurückziehen der Änderung machte keinen Unterschied, egal was ich tue, Terraform möchte jetzt eine neue Infrastruktur aufbauen.

Es ist nicht die alte Infrastruktur abreißen will, will sie diese neue Infrastruktur Seite an Seite mit ihm bauen.

Es verhält sich im Grunde so, als ob meine gesamte vorhandene Infrastruktur einfach nicht existiert.

Ich vermute, es liegt daran, dass alles an eine VPC gebunden ist und dass es denkt, dass eine neue VPC erstellt werden muss. Alles, was der VPC nachgeschaltet ist (dh alles), wird ebenfalls neu erstellt, damit die IDs übereinstimmen.

Ich bin sehr neu in Terraform. Gibt es also eine Möglichkeit, Terraform wieder in seinen alten Zustand zu "zwingen"?

Mark Henderson
quelle
1
Klingt so, als ob Ihre Statusdatei entfernt wurde oder nicht gefunden werden kann, wo sie sich befindet. Also versucht es, alles wieder aufzubauen
Mike
Das oder Sie haben einen neuen Arbeitsbereich ausgewählt. Überprüfen Sie mit Terraform Arbeitsbereich Liste
SnIpY
@Mike Wie geht man vor, um die Statusdatei aus einer vorhandenen Umgebung neu zu füllen?
Mark Henderson
Wenn Sie die Statusdatei verloren haben, gibt es keinen einfachen Weg, es sei denn, Sie gehen Ressource für Ressource und importieren sie
Mike

Antworten:

2

Es scheint, dass ein fehlerhaftes globales Suchen und Ersetzen für dieses Problem verantwortlich war - es hat die Terraform-Statusdatei geändert, die dieses kaskadierende Problem verursacht.

Durch das Wiederherstellen einer Version der Statusdatei, bei der dieses Problem nicht aufgetreten ist, wurde das Problem behoben.

Ich denke, es ist Zeit, die Terraform-Statusdatei in S3 zu bringen, damit dies nicht noch einmal passiert.

Mark Henderson
quelle