1

Ich habe diese Anweisungen befolgt. Wie mache ich einen AWS Stack Rollback rückgängig?

Ich wollte einen Stapel erstellen, der in einem S3-Bucket gespeicherte Bilder aufnehmen, deren Größe ändern und sie in einem anderen Bucket speichern würde. Ich befolgte die Anweisungen und es funktionierte perfekt, außer es schuf ein paar Eimer, die ich nicht wollte. Ich dachte, ich würde sie löschen, den Stapel zurücksetzen und von vorne beginnen. Der Rollback ging gut.

ich erstellen Sie einen neuen Stapel aber jetzt, wenn ich den neuen Stack-Status prüfe ich die folgende Meldung in der AWS CLI erhalten:

[ 
    "ROLLBACK_COMPLETE" 
] 

Ich habe versucht, Stapel mit unterschiedlichen Namen zu schaffen, sondern alle, die Stapel haben die gleicher Status.

Irgendwelche Ideen? Ist es möglich, ein Rollback rückgängig zu machen? Ist es möglich, alle Referenzen auf diesen Stapel zu löschen, damit ich einen neuen erstellen kann?

Antwort

1

Also habe ich eine Lösung gefunden. Ich überprüfte die Konsole, wie Sulayman Touray vorgeschlagen hatte. Als ich es überprüft habe, habe ich festgestellt, dass das Skript fehlschlägt, ein Rollback der Änderungen beginnt, die es erstellt hat, und dann löschen würde. Als ich den Status überprüfte, hieß es "Rollback in progress", weil es an diesem Punkt zurückrollen würde. Wenn ich 20 Minuten länger gewartet hätte, würde ich sehen, dass der Rollback abgeschlossen war und der Stack nicht mehr existieren würde.

In Bezug auf was es scheiterte. Es ist etwas dummes. Ich habe die Buckets auf der Nordamerika-Instanz von S3 erstellt. Das würde mir erlauben, Großbuchstaben (Großbuchstaben) zu verwenden. Ich könnte die Buckets manuell mit Großbuchstaben erstellen. Wenn ich versuchte, die Buckets mithilfe der CLI zu erstellen, konnte ich auch Buckets mit Großbuchstaben erstellen. Wenn das Skript jedoch versuchte, die Großbuchstaben-Buckets zu erstellen, schlug es fehl, weil Großbuchstaben nicht zulässig waren. Sobald ich die Großbuchstaben entfernt hatte, würde es den Stapel ohne irgendwelche Schwierigkeiten schaffen.

Ich habe keine Ahnung, warum das Skript deswegen scheitern würde, es tat einfach. Aber ich habe es jetzt mit Kleinbuchstaben und das ist gut genug für mich.:)

2

Es ist nicht möglich, das Rollback rückgängig zu machen.

Sie können stattdessen Ihre CloudFormation-Vorlage auf Ihren gewünschten Status aktualisieren und dann Ihren Stack aktualisieren. Dies würde den Stapel "vorwärts" in den gewünschten Zustand bewegen.

Sie können einen Stapel mithilfe der AWS Management Console oder mithilfe des Befehls aws cloudformation delete-stack CLI vollständig löschen.

http://docs.aws.amazon.com/cli/latest/reference/cloudformation/delete-stack.html

Dies würde ermöglichen es Ihnen, einen neuen Stapel mit demselben Namen zu erstellen.

Beachten Sie, dass der Stapel Löscht alle Ressourcen, die von diesem Stapel erstellt löscht, Ihre S3 Eimer einschließlich usw.

auch, um die s3 Eimer, um erfolgreich zu löschen, müssen die Eimer vollständig leer sein. Leeren Sie also alle Ihre S3-Buckets, bevor Sie den Stack löschen.

+0

Also ging ich durch den ganzen Prozess des Löschens des Stapels. Am Ende, als ich den Status des Stapels überprüfte, hieß es, der Stapel existiere nicht. Ich habe angefangen, den Stack von Anfang an zu erstellen, aber nachdem ich ihn erstellt habe, habe ich mir den Status "Rollback Complete" angesehen. Und die Bildgrößenänderung funktioniert nicht. – Andy

+1

Warum hat es Rollback? Wenn der neue Stapel zurückgesetzt wird, liegt ein Problem vor. Vielleicht ist etwas widersprüchlich. Überprüfen Sie die Ereignisse des Stapels, um die Fehler zu sehen. –

1

Ich sah eine Antwort über den CLI erklärt, wie man Dinge angeht, aber hier ist, was Sie von der Konsole aus tun können, die besser ist, da Sie einen Stapel nicht wiederherstellen können, können Sie auf den gelöschten Stapel auf der Konsole klicken und markieren Sie die Vorlage Registerkarte, die Ihnen die vollständige Cloud-Vorlage zeigt, die Sie mit allen injizierten Werten verwendet haben, so dass Sie sie kopieren und den Stapel erneut erneut erstellen können.