Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Wählen Sie aus, wie mit Ausfällen bei der Bereitstellung von Ressourcen umgegangen werden soll
Wenn Ihr Stack-Vorgang fehlschlägt, müssen Sie Ressourcen, die bereits erfolgreich bereitgestellt wurden, nicht rückgängig machen und jedes Mal von vorne beginnen. Stattdessen können Sie Probleme mit dem UPDATE_FAILED
Status CREATE_FAILED
oder beheben und die Bereitstellung dann an dem Punkt fortsetzen, an dem das Problem aufgetreten ist.
Dazu müssen Sie die Option Erfolgreich bereitgestellte Ressourcen beibehalten aktivieren. Diese Option ist für alle Stack-Bereitstellungen und Change-Set-Operationen verfügbar.
-
Wenn Sie bei der Stack-Erstellung die Option Erfolgreich bereitgestellte Ressourcen beibehalten wählen, CloudFormation wird der Status der erfolgreich erstellten Ressourcen beibehalten und die fehlgeschlagenen Ressourcen so belassen, bis der nächste Aktualisierungsvorgang ausgeführt wird.
-
Wenn Sie bei Aktualisierungs- und Änderungssatzvorgängen die Option Erfolgreich bereitgestellte Ressourcen beibehalten wählen, wird der Status erfolgreicher Ressourcen beibehalten, während ausgefallene Ressourcen auf ihren letzten bekannten stabilen Zustand zurückgesetzt werden. Fehlgeschlagene Ressourcen befinden sich in einem UPDATE_FAILED
-Status. Ressourcen ohne letzten bekannten stabilen Zustand werden beim nächsten Stack-Vorgang gelöscht.
Überblick über Optionen für Stack-Ausfälle
Bevor Sie einen Vorgang über die CloudFormation Konsole ausführen API AWS CLI, oder geben Sie das Verhalten bei einem Ausfall bereitgestellter Ressourcen an. Fahren Sie dann mit dem Bereitstellungsprozess Ihrer Ressourcen fort, ohne weitere Änderungen vorzunehmen. Im Falle eines Betriebsausfalls CloudFormation stoppt es beim ersten Fehler in jedem unabhängigen Bereitstellungspfad. CloudFormation identifiziert Abhängigkeiten zwischen Ressourcen, um unabhängige Bereitstellungsaktionen zu parallelisieren. Anschließend werden Ressourcen auf jedem unabhängigen Bereitstellungspfad bereitgestellt, bis ein Fehler auftritt. Ein Fehler in einem Pfad hat keine Auswirkungen auf andere Bereitstellungspfade. CloudFormation setzt die Bereitstellung der Ressourcen bis zum Abschluss fort oder stoppt bei einem anderen Fehler.
Beheben Sie alle Probleme, um den Bereitstellungsprozess fortzusetzen. CloudFormation führt die erforderlichen Aktualisierungen durch, bevor erneut versucht wird, Provisionierungsaktionen für Ressourcen durchzuführen, die zuvor nicht erfolgreich bereitgestellt werden konnten. Sie beheben Probleme, indem Sie Retry-, Update- oder Rollback-Vorgänge einsenden. Wenn Sie beispielsweise eine EC2 Amazon-Instance bereitstellen und die EC2 Instance während eines Erstellungsvorgangs fehlschlägt, sollten Sie den Fehler untersuchen, anstatt die ausgefallene Ressource sofort rückgängig zu machen. Sie können System-Statusprüfungen und Instance-Statusprüfungen überprüfen und dann den Retry-Vorgang auswählen, sobald die Probleme gelöst sind.
Wenn ein Stack-Vorgang fehlschlägt und Sie Preserve successfully provisioned resources (Erfolgreich bereitgestellte Ressourcen beibehalten) aus dem Stack failure options (Stack-Fehleroptionen)-Menü angegeben haben, können Sie die folgenden Optionen auswählen.
-
Retry – Versuchte den Bereitstellungsvorgang für ausgefallene Ressourcen erneut und setzt die Bereitstellung der Vorlage fort, bis der Stack-Vorgang erfolgreich abgeschlossen ist oder der nächste Fehler auftritt. Wählen Sie diese Option, wenn die Ressource aufgrund eines Problems, für das keine Änderungen an der Vorlage erforderlich sind, nicht bereitgestellt werden konnte, z. B. eine AWS Identity and Access Management (IAM) -Berechtigung.
-
Update – Ressourcen, die bereitgestellt wurden, werden bei Vorlagen-Aktualisierungen aktualisiert. Ressourcen, die nicht erstellt oder aktualisiert wurden, werden erneut versucht. Wählen Sie diese Option, wenn die Ressource aufgrund von Vorlagenfehlern nicht bereitgestellt werden konnte und Sie die Vorlage geändert haben. Wenn Sie einen Stack aktualisieren, der sich in einem FAILED
-Status befindet, müssen Sie unter Stack failure options (Stack-Fehleroptionen) Preserve successfully provisioned resources (Erfolgreich bereitgestellte Ressourcen beibehalten) auswählen, um mit der Aktualisierung Ihres Stacks fortzufahren.
-
Rollback — CloudFormation Setzt den Stack auf den letzten bekannten stabilen Zustand zurück.
Erforderliche Bedingungen für das Anhalten des Stack-Rollbacks
Um zu CloudFormation verhindern, dass die erfolgreich erstellten Ressourcen automatisch zurückgesetzt und gelöscht werden, müssen die folgenden Bedingungen erfüllt sein.
-
Wenn Sie den Stack erstellen oder aktualisieren, müssen Sie die Option Erfolgreich bereitgestellte Ressourcen beibehalten auswählen. Dies weist darauf hin, dass die erfolgreich erstellten Ressourcen CloudFormation nicht gelöscht werden sollen, auch wenn der gesamte Stack-Vorgang fehlschlägt.
-
Der Stack-Vorgang muss fehlgeschlagen sein, was bedeutet, dass der Stack-Status entweder CREATE_FAILED
oder lautetUPDATE_FAILED
.
Unveränderliche Update-Typen werden nicht unterstützt.
Erfolgreich bereitgestellte Ressourcen beibehalten (Konsole)
- Create stack
-
So können Sie erfolgreich bereitgestellte Ressourcen während eines Stack-Erstellungsvorgangs beibehalten
Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation.
-
Wählen Sie Create stack (Stack erstellen) und dann With new resources (standard) (Mit neuen Ressourcen (Standard)).
-
Wählen Sie auf der Seite Specify Template (Vorlage angeben) mithilfe einer der folgenden Optionen eine Stack-Vorlage aus:
Übernehmen Sie Ihre Einstellungen und wählen Sie Next (Weiter).
-
Geben Sie auf der Seite Specify stack details (Stack-Details angeben) einen Stack-Namen in das Feld Stack name ein.
-
Geben Sie im Abschnitt Parameter die Parameter an, die in Ihrer Stack-Vorlage definiert sind.
Sie können beliebige Parameter mit Standardwerten verwenden oder ändern.
-
Wenn Sie mit den Parameterwerten zufrieden sind, wählen Sie Next (Weiter).
-
Auf der Seite Configure stack options (Stack-Optionen konfigurieren) können Sie zusätzliche Optionen für Ihren Stack einrichten.
-
Für Stack failure options (Stack-Fehleroptionen), wählen Sie Preserve successfully provisioned resources (Erfolgreich bereitgestellte Ressourcen beibehalten).
-
Wenn Sie mit den Stack-Optionen zufrieden sind, wählen Sie Next (Weiter).
-
Überprüfen Sie Ihren Stack auf der Seite Review (Überprüfen) und wählen Sie Create stack (Stack erstellen).
Ergebnisse: Ressourcen, die nicht erstellt werden konnten, übertragen den Stack-Status auf CREATE_FAILED
, um zu verhindern, dass der Stack zurückgesetzt wird, wenn der Stack-Vorgang auf einen Fehler trifft. Ressourcen, die erfolgreich bereitgestellt wurden, befinden sich in einem CREATE_COMPLETE
-Status. Sie können den Stack auf der Registerkarte Stack events (Stack-Ereignisse) überwachen.
- Update stack
-
Beibehaltung erfolgreich bereitgestellter Ressourcen während eines Stack-Aktualisierungsvorgangs.
Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation.
-
Wählen Sie den Stack aus, den Sie aktualisieren möchten, und anschließend Update (Aktualisieren).
-
Wählen Sie auf der Seite Update stack (Stack aktualisieren) mit einer der folgenden Optionen eine Stack-Vorlage aus:
-
Use current template (Aktuelle Vorlage verwenden)
-
Replace current template (Aktuelle Vorlage ersetzen)
-
Vorlage in Infrastructure Composer bearbeiten
Übernehmen Sie Ihre Einstellungen und wählen Sie Next (Weiter).
-
Auf der Seite Specify stack details (Stack-Details angeben), legen Sie die Parameter fest, die in Ihrer Stack-Vorlage definiert sind.
Sie können beliebige Parameter mit Standardwerten verwenden oder ändern.
-
Wenn Sie mit den Parameterwerten zufrieden sind, wählen Sie Next (Weiter).
-
Auf der Seite Configure stack options (Stack-Optionen konfigurieren) können Sie zusätzliche Optionen für Ihren Stack einrichten.
-
Wählen Sie für Behaviour on provisioning failure (Verhalten bei Bereitstellungsausfall) Preserve successfully provisioned resources (Erfolgreich bereitgestellte Ressourcen beibehalten).
-
Wenn Sie mit den Stack-Optionen zufrieden sind, wählen Sie Next (Weiter).
-
Überprüfen Sie Stack auf der Seite Review (Überprüfen) und wählen Sie Update stack (Stack aktualisieren).
Ergebnisse: Ressourcen, die nicht aktualisiert werden konnten, übertragen den Stack-Status auf UPDATE_FAILED
und setzen Sie auf den letzten bekannten stabilen Zustand zurück. Ressourcen ohne einen letzten bekannten stabilen Status werden CloudFormation beim nächsten Stack-Vorgang gelöscht. Ressourcen, die erfolgreich bereitgestellt wurden, befinden sich in einem CREATE_COMPLETE
- oder UPDATE_COMPLETE
-Status. Sie können den Stack auf der Registerkarte Stack events (Stack-Ereignisse) überwachen.
- Change set
-
Sie können einen Änderungssatz für einen Stack mit dem Status von CREATE_FAILED
oder UPDATE_FAILED
initiieren nicht aber für einen Status von UPDATE_ROLLBACK_FAILED
.
So können Sie erfolgreich bereitgestellte Ressourcen während eines Änderungssatz-Vorgangs beibehalten
Melden Sie sich bei https://console.aws.amazon.com/cloudformation an AWS Management Console und öffnen Sie die AWS CloudFormation Konsole.
-
Wählen Sie den Stack mit dem Änderungssatz, den Sie starten möchten, und klicken Sie dann auf die Registerkarte Change sets (Änderungssätze).
-
Wählen Sie den Änderungssatz aus und klicken Sie dann auf Execute (Ausführen).
-
Wählen Sie für Execute change set (Änderungssatz ausführen) die Option Preserve successfully provisioned resources (Erfolgreich bereitgestellte Ressourcen beibehalten).
-
Wählen Sie Execute change set (Änderungssatz ausführen).
Ergebnisse: Ressourcen, die nicht aktualisiert werden konnten, übertragen den Stack-Status auf UPDATE_FAILED
und setzen Sie auf den letzten bekannten stabilen Zustand zurück. Ressourcen ohne einen letzten bekannten stabilen Status werden CloudFormation beim nächsten Stack-Vorgang gelöscht. Ressourcen, die erfolgreich bereitgestellt wurden, befinden sich in einem CREATE_COMPLETE
- oder UPDATE_COMPLETE
-Status. Sie können den Stack auf der Registerkarte Stack events (Stack-Ereignisse) überwachen.
Erfolgreich bereitgestellte Ressourcen beibehalten (AWS CLI)
- Create stack
-
So können Sie erfolgreich bereitgestellte Ressourcen während eines Stack-Erstellungsvorgangs beibehalten
Geben Sie die --disable-rollback
-Option oder die on-failure DO_NOTHING
-Aufzählung während eines create-stack-Vorgangs ein.
-
Geben Sie einen Stack-Namen und eine Vorlage für den create-stack-Befehl mit der --disable-rollback
-Option an.
aws cloudformation create-stack --stack-name myteststack
\
--template-body file://template.yaml
\
--disable-rollback
Der Befehl gibt die folgende Ausgabe zurück.
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
-
Beschreiben Sie den Status des Stacks mit dem describe-stacks Befehl.
aws cloudformation describe-stacks --stack-name myteststack
Der Befehl gibt die folgende Ausgabe zurück.
{
"Stacks": [
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
"Description": "AWS CloudFormation Sample Template",
"Tags": [],
"Outputs": [],
"StackStatusReason": “The following resource(s) failed to create: [MyBucket]”,
"CreationTime": "2013-08-23T01:02:15.422Z",
"Capabilities": [],
"StackName": "myteststack",
"StackStatus": "CREATE_FAILED",
"DisableRollback": true
}
]
}
- Update stack
-
Um erfolgreich bereitgestellte Ressourcen während eines Stack-Aktualisierungsvorgangs beizubehalten
-
Geben Sie einen vorhandenen Stack-Namen und eine Vorlage für den update-stack-Befehl mit der --disable-rollback
-Option an.
aws cloudformation update-stack --stack-name myteststack
\
--template-url https://s3.amazonaws.com/amzn-s3-demo-bucket
/updated.template
--disable-rollback
Der Befehl gibt die folgende Ausgabe zurück.
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
-
Beschreiben Sie den Status des Stacks entweder mit dem describe-stack-events Befehl describe-stacks oder.
aws cloudformation describe-stacks --stack-name myteststack
Der Befehl gibt die folgende Ausgabe zurück.
{
"Stacks": [
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
"Description": "AWS CloudFormation Sample Template",
"Tags": [],
"Outputs": [],
"CreationTime": "2013-08-23T01:02:15.422Z",
"Capabilities": [],
"StackName": "myteststack",
"StackStatus": "UPDATE_COMPLETE",
"DisableRollback": true
}
]
}
- Change set
-
Sie können einen Änderungssatz für einen Stack mit dem Status von CREATE_FAILED
oder UPDATE_FAILED
starten nicht aber für einen Status von UPDATE_ROLLBACK_FAILED
.
So können Sie erfolgreich bereitgestellte Ressourcen während eines Änderungssatz-Vorgangs beibehalten
Geben Sie die --disable-rollback
Option während eines execute-change-setVorgangs an.
-
Geben Sie einen Stack-Namen und eine Vorlage für den execute-change-set-Befehl mit der --disable-rollback
-Option an.
aws cloudformation execute-change-set --stack-name myteststack
\
--change-set-name my-change-set
--template-body file://template.yaml
Der Befehl gibt die folgende Ausgabe zurück.
{
"Id": "arn:aws:cloudformation:us-east-1:123456789012:changeSet/my-change-set/bc9555ba-a949-xmpl-bfb8-f41d04ec5784",
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
-
Starten Sie den Änderungssatz mit Option --disable-rollback
.
aws cloudformation execute-change-set --stack-name myteststack
\
--change-set-name my-change-set
-–disable-rollback
-
Ermitteln Sie den Status des Stacks entweder mit dem describe-stack-events Befehl describe-stacks oder.
aws cloudformation describe-stack-events --stack-name myteststack
Der Befehl gibt die folgende Ausgabe zurück.
{
"StackEvents": [
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
"EventId": "49c966a0-7b74-11ea-8071-024244bb0672",
"StackName": "myteststack",
"LogicalResourceId": " MyBucket",
"PhysicalResourceId": "myteststack-MyBucket-abcdefghijk1",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": "2020-04-10T21:43:17.015Z",
"ResourceStatus": "UPDATE_FAILED"
"ResourceStatusReason": "User XYZ is not allowed to perform S3::UpdateBucket on MyBucket"
}
}
-
Korrigieren Sie Berechtigungsfehler und versuchen Sie den Vorgang erneut.
aws cloudformation update-stack --stack-name myteststack
\
--use-previous-template --disable-rollback
Der Befehl gibt die folgende Ausgabe zurück.
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
-
Beschreiben Sie den Status des Stacks entweder mit dem describe-stack-events Befehl describe-stacks oder.
aws cloudformation describe-stacks --stack-name myteststack
Der Befehl gibt die folgende Ausgabe zurück.
{
"Stacks": [
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
"Description": "AWS CloudFormation Sample Template",
"Tags": [],
"Outputs": [],
"CreationTime": "2013-08-23T01:02:15.422Z",
"Capabilities": [],
"StackName": "myteststack",
"StackStatus": "UPDATE_COMPLETE",
"DisableRollback": true
}
]
}
Einen Stapel rückgängig machen
Sie können den Befehl rollback-stack verwenden, um einen Stack mit einem CREATE_FAILED
oder UPDATE_FAILED
Stack-Status auf seinen letzten stabilen Zustand zurückzusetzen.
Mit dem folgenden rollback-stack Befehl wird der angegebene Stack zurückgesetzt.
aws cloudformation rollback-stack --stack-name myteststack
Der Befehl gibt die folgende Ausgabe zurück.
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
Der rollback-stack-Vorgang löscht einen Stack, wenn er keinen letzten bekannten stabilen Zustand enthält.