

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 Fehlern bei der Bereitstellung von Ressourcen umgegangen werden soll
<a name="stack-failure-options"></a>

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 Status `UPDATE_FAILED` oder `CREATE_FAILED` 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 Änderungssatz-Vorgänge verfügbar.
+ Wenn Sie bei der Stackerstellung 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.
+ Bei Aktualisierungs- und Change-Set-Vorgängen wird durch die Auswahl von **Erfolgreich bereitgestellte Ressourcen beibehalten** der Status erfolgreicher Ressourcen beibehalten, während fehlgeschlagene Ressourcen auf ihren letzten bekannten stabilen Status 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.

**Topics**
+ [Überblick über Optionen für Stack-Ausfälle](#stack-failure-options-overview)
+ [Erforderliche Bedingungen für die Unterbrechung des Stack-Rollbacks](#stack-failure-options-conditions)
+ [Erfolgreich bereitgestellte Ressourcen beibehalten (Konsole)](#stack-failure-options-console)
+ [Erfolgreich bereitgestellte Ressourcen beibehalten (AWS CLI)](#stack-failure-options-cli)

## Überblick über Optionen für Stack-Ausfälle
<a name="stack-failure-options-overview"></a>

Bevor Sie einen Vorgang über die CloudFormation Konsole, API oder ausführen AWS CLI, 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, Ressourcen bereitzustellen, die zuvor nicht erfolgreich bereitgestellt werden konnten. Sie beheben Probleme, indem Sie **Retry**-, **Update**- oder **Rollback**-Vorgänge einsenden. Wenn Sie beispielsweise eine Amazon-EC2-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 die Unterbrechung des Stack-Rollbacks
<a name="stack-failure-options-conditions"></a>

Um zu CloudFormation verhindern, dass die erfolgreich erstellten Ressourcen automatisch zurückgesetzt und gelöscht werden, müssen die folgenden Bedingungen erfüllt sein.

1. Wenn Sie den Stack erstellen oder aktualisieren, müssen Sie die Option **Erfolgreich bereitgestellte Ressourcen beibehalten**wählen. Dies weist darauf hin, dass die erfolgreich erstellten Ressourcen CloudFormation nicht gelöscht werden sollen, auch wenn der gesamte Stack-Vorgang fehlschlägt.

1. Die Stack-Operation muss fehlgeschlagen sein, d. h. der Stack-Status ist entweder `CREATE_FAILED` oder `UPDATE_FAILED`.

**Anmerkung**  
Unveränderliche Update-Typen werden nicht unterstützt.

## Erfolgreich bereitgestellte Ressourcen beibehalten (Konsole)
<a name="stack-failure-options-console"></a>

------
#### [ Create stack ]

**So können Sie erfolgreich bereitgestellte Ressourcen während eines Stack-Erstellungsvorgangs beibehalten**

1. Melden Sie sich bei [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) an AWS-Managementkonsole und öffnen Sie die CloudFormation Konsole.

1. Wählen Sie auf der Seite **Stack** oben rechts **Stack erstellen** und dann **Mit neuen Ressourcen (Standard)**.

1. Für **Voraussetzung - Vorlage vorbereiten**wählen Sie **Vorhandene Vorlage auswählen**.

1. Wählen Sie unter **Specify template (Vorlage angeben)** entweder die URL für den S3-Bucket, der Ihre Stack-Vorlage enthält, aus oder laden Sie eine Stack-Vorlagendatei hoch. Wählen Sie anschließend **Weiter**.

1. Geben Sie auf der Seite **Specify stack details** (Stack-Details angeben) einen Stack-Namen in das Feld **Stack name** ein.

1. 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.

1. Wenn Sie mit den Parameterwerten zufrieden sind, wählen Sie **Next** (Weiter).

1. Auf der Seite **Configure stack options** (Stack-Optionen konfigurieren) können Sie zusätzliche Optionen für Ihren Stack einrichten.

1. Für **Stack failure options** (Stack-Fehleroptionen), wählen Sie **Preserve successfully provisioned resources** (Erfolgreich bereitgestellte Ressourcen beibehalten).

1. Wenn Sie mit den Stack-Optionen zufrieden sind, wählen Sie **Next** (Weiter).

1. Ü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.**

1. [Melden Sie sich bei /cloudformation an AWS-Managementkonsole und öffnen Sie die CloudFormation Konsole. https://console.aws.amazon.com](https://console.aws.amazon.com/cloudformation/)

1. Wählen Sie den Stack aus, den Sie aktualisieren möchten, und anschließend **Update** (Aktualisieren).

1. Wählen Sie auf der Seite **Update stack** (Stack aktualisieren) mit einer der folgenden Optionen eine Stack-Vorlage aus:
   + **Vorhandene Vorlage verwenden**
   + **Replace current template** (Aktuelle Vorlage ersetzen)
   + **Vorlage in Infrastructure Composer bearbeiten**

   Übernehmen Sie Ihre Einstellungen und wählen Sie **Next** (Weiter).

1. 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.

1. Wenn Sie mit den Parameterwerten zufrieden sind, wählen Sie **Next** (Weiter).

1. Auf der Seite **Configure stack options** (Stack-Optionen konfigurieren) können Sie zusätzliche Optionen für Ihren Stack einrichten.

1. Wählen Sie für **Behaviour on provisioning failure** (Verhalten bei Bereitstellungsausfall) **Preserve successfully provisioned resources** (Erfolgreich bereitgestellte Ressourcen beibehalten).

1. Wenn Sie mit den Stack-Optionen zufrieden sind, wählen Sie **Next** (Weiter).

1. Ü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 ]

**Anmerkung**  
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**

1. Melden Sie sich bei [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) an AWS-Managementkonsole und öffnen Sie die CloudFormation Konsole.

1. Wählen Sie den Stack mit dem Änderungssatz, den Sie starten möchten, und klicken Sie dann auf die Registerkarte **Change sets** (Änderungssätze).

1. Wählen Sie den Änderungssatz aus und klicken Sie dann auf **Execute** (Ausführen).

1. Wählen Sie für **Execute change set** (Änderungssatz ausführen) die Option **Preserve successfully provisioned resources** (Erfolgreich bereitgestellte Ressourcen beibehalten).

1. 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)
<a name="stack-failure-options-cli"></a>

------
#### [ 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](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html)-Vorgangs ein.

1. 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"
   }
   ```

1. Beschreiben Sie den Zustand des Stacks mit dem Befehl **describe-stacks** .

   ```
   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 ]

**So bewahren Sie erfolgreich bereitgestellte Ressourcen während einer Stack-Update-Operation**

1. 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"
   }
   ```

1. Beschreiben Sie den Zustand des Stacks mit den Befehlen **describe-stacks** oder **describe-stack-events** .

   ```
   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 ]

**Anmerkung**  
Sie können einen Änderungssatz für einen Stapel mit dem Status `CREATE_FAILED` oder `UPDATE_FAILED` initiieren, aber nicht für einen Status `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-set](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/execute-change-set.html)Vorgangs an.

1. 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"
   }
   ```

1. Starten Sie den Änderungssatz mit Option `--disable-rollback`.

   ```
   aws cloudformation execute-change-set --stack-name myteststack \
       --change-set-name my-change-set -–disable-rollback
   ```

1. Ermitteln Sie den Status des Stacks mit dem Befehl **describe-stacks** oder **describe-stack-events** .

   ```
   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"
        }
   }
   ```

1. 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"
   }
   ```

1. Beschreiben Sie den Zustand des Stacks mit den Befehlen **describe-stacks** oder **describe-stack-events** .

   ```
   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 zurückrollen
<a name="roll-back-stack-cli"></a>

Sie können den Befehl [rollback-stack](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/rollback-stack.html) verwenden, um einen Stack mit einem `CREATE_FAILED` oder `UPDATE_FAILED` -Status auf seinen letzten stabilen Zustand zurückzusetzen.

Der folgende Befehl **rollback-stack** rollt den angegebenen Stapel zurück.

```
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"
}
```

**Anmerkung**  
Der **rollback-stack**-Vorgang löscht einen Stack, wenn er keinen letzten bekannten stabilen Zustand enthält.