DeletionPolicy Attribut - AWS CloudFormation

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.

DeletionPolicy Attribut

Mit dem DeletionPolicy-Attribut können Sie eine Ressource beibehalten und in einigen Fällen sichern, wenn deren Stack gelöscht wird. Sie können ein DeletionPolicy-Attribut für jede Ressource angeben, die Sie kontrollieren wollen. Wenn eine Ressource kein DeletionPolicy Attribut hat, AWS CloudFormation löscht die Ressource standardmäßig.

Diese Funktion gilt auch für Stack-Aktualisierungsoperationen, die dazu führen, dass Ressourcen in Stacks gelöscht werden. Dies ist der Fall, wenn Sie zum Beispiel die Ressource aus der Stack-Vorlage entfernen und dann den Stack mit der Vorlage aktualisieren. Diese Funktion gilt nicht für Ressourcen, deren physische Instance während der Stack-Aktualisierungsoperationen ersetzt wird. Wenn Sie beispielsweise die Eigenschaften einer Ressource so bearbeiten, dass diese Ressource während einer Stack-Aktualisierung CloudFormation ersetzt.

Anmerkung

Ausnahme: Die Standardrichtlinie ist Snapshot für AWS::RDS::DBCluster-Ressourcen und für AWS::RDS::DBInstance-Ressourcen, die die Eigenschaft DBClusterIdentifier nicht angeben.

Um eine Ressource beizubehalten, wenn deren Stack gelöscht wird, geben Sie Retain für diese Ressource an. Sie können Retain für alle beliebigen Ressourcen verwenden. Sie können beispielsweise einen verschachtelten Stack, Amazon S3-Bucket oder eine EC2-Instance beibehalten, sodass Sie diese Ressourcen nach Löschung der Stacks weiterhin verwenden oder ändern können.

Anmerkung

Wenn Sie Ressourcen außerhalb von ändern möchten CloudFormation, verwenden Sie eine RetainLöschrichtlinie und löschen Sie dann den Stack. Andernfalls ist es möglich, dass Ihre Ressourcen nicht mehr mit Ihrer CloudFormation Vorlage synchronisiert sind und Stack-Fehler verursachen.

Geben Sie für Ressourcen, die Snapshots unterstützen, wie z. B. anAWS::EC2::Volume, Snapshot dass einen Snapshot CloudFormation erstellen soll, bevor die Ressource gelöscht wird.

Das folgende Snippet enthält eine Amazon S3-Bucket-Ressource mit einer Retain-Löschrichtlinie. Wenn dieser Stack gelöscht wird, CloudFormation verlässt den Bucket, ohne ihn zu löschen.

JSON

{ "AWSTemplateFormatVersion" : "2010-09-09", "Resources" : { "myS3Bucket" : { "Type" : "AWS::S3::Bucket", "DeletionPolicy" : "Retain" } } }

YAML

AWSTemplateFormatVersion: '2010-09-09' Resources: myS3Bucket: Type: AWS::S3::Bucket DeletionPolicy: Retain

DeletionPolicy-Optionen

Löschen

CloudFormation löscht die Ressource und alle Inhalte, falls zutreffend, während der Stack-Löschung. Sie können diese Löschungs-Richtlinie jedem Ressourcentyp hinzufügen. Wenn Sie keinen angebenDeletionPolicy, CloudFormation löscht Ihre Ressourcen standardmäßig. Dabei sollten Sie allerdings Folgendes beachten:

  • Für AWS::RDS::DBCluster-Ressourcen ist die Standardrichtlinie Snapshot.

  • Für AWS::RDS::DBInstance-Ressourcen, die die DBClusterIdentifier-Eigenschaft nicht angeben, ist die Standardrichtlinie Snapshot.

  • Bei Amazon S3-Buckets müssen Sie alle Objekte innerhalb des Buckets löschen, damit die Löschung erfolgreich ausgeführt werden kann.

Anmerkung

Das Standardverhalten von CloudFormation besteht darin, das Secret mit dem - ForceDeleteWithoutRecovery Flag zu löschen.

Beibehalten

CloudFormation behält die Ressource bei, ohne die Ressource oder ihren Inhalt zu löschen, wenn ihr Stack gelöscht wird. Sie können diese Löschungs-Richtlinie jedem Ressourcentyp hinzufügen. Wenn die Stack-Löschung CloudFormation abgeschlossen hat, befindet sich der Stack im Delete_Complete Status . Beibehaltene Ressourcen bestehen jedoch weiterhin und es fallen Gebühren an, bis Sie diese Ressourcen löschen.

Für Aktualisierungen sind die folgenden Aspekte zu berücksichtigen:

  • Wenn eine Ressource gelöscht wird, DeletionPolicy behält die physische Ressource bei, stellt jedoch sicher, dass sie aus CloudFormationdem Geltungsbereich von gelöscht wird.

  • Wenn eine Ressource so aktualisiert wird, dass eine neue physische Ressource erstellt wird, um die alte Ressource zu ersetzen, wird die alte Ressource vollständig gelöscht, auch aus dem Geltungsbereich CloudFormationvon .

RetainExceptOnCreate

RetainExceptOnCreate verhält sich wie Retain bei Stack-Vorgängen, mit Ausnahme des Stack-Vorgangs, mit dem die Ressource ursprünglich erstellt wurde. Wenn der Stack-Vorgang, der die Ressource erstellt hat, zurückgesetzt wird, CloudFormation löscht die Ressource. Für alle anderen Stack-Operationen, wie das Löschen von Stacks, CloudFormation behält die Ressource und ihren Inhalt bei. Dadurch werden neue, leere und ungenutzte Ressourcen gelöscht, während genutzte Ressourcen und ihre Daten beibehalten werden. In der UpdateStack API-Dokumentation finden Sie Informationen zur Verwendung dieser Löschrichtlinie als API-Parameter, ohne Ihre Vorlage zu aktualisieren.

Snapshot

Für Ressourcen, die Snapshots unterstützen, CloudFormation erstellt einen Snapshot für die Ressource, bevor sie gelöscht wird. Wenn die Stack-Löschung CloudFormation abgeschlossen hat, befindet sich der Stack im Delete_Complete Status . Die mit dieser Richtlinie erstellten Snapshots bestehen jedoch weiterhin und es fallen Gebühren an, bis Sie diese Snapshots löschen.

Zu den Ressourcen, die Snapshots unterstützen, gehören: