メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

DeletionPolicy 属性

DeletionPolicy 属性を使用すると、スタックが削除された際にリソースを保持または (場合によっては) バックアップできます。制御する各リソースに対して DeletionPolicy 属性を指定します。DeletionPolicy 属性が設定されていない場合、デフォルトではリソースが削除されます。

スタックが削除された際にリソースを保持するには、そのリソースに対して Retain を指定します。どのリソースでも保持できます。たとえば、入れ子の S3 バケットや EC2 インスタンスを保持して、スタックの削除後もそれらのリソースを使用したり変更したりできます。

注記

AWS CloudFormation 外部のリソースを変更する場合は、保持ポリシーを使用してからスタックを削除します。そうしないと、リソースが AWS CloudFormation テンプレートの同期の対象から外れてスタックエラーが発生する場合があります。

AWS::RDS::DBInstanceAWS::EC2::Volume など、スナップショットをサポートするリソースの場合、Snapshot を指定することができます。その場合 AWS CloudFormation は、スナップショットを作成したうえで、リソースを削除します。

次のスニペットでは、Amazon S3 バケットリソースの削除ポリシーが Retain に設定されています。このスタックを削除すると、バケットはそのまま維持され削除されません。

JSON

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

YAML

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

DeletionPolicy のオプション

削除

AWS CloudFormation はスタックの削除時にリソースと (該当する場合) そのすべてのコンテンツを削除します。この削除ポリシーは、あらゆるリソースタイプに追加することができます。デフォルトでは、DeletionPolicy を指定しない場合、リソースは削除されます。

注記

Amazon S3 バケットでは、削除を成功させるためにはバケットのすべてのオブジェクトを削除する必要があります。

Retain

AWS CloudFormation はスタックを削除する際、リソースやコンテンツを削除せず保持します。この削除ポリシーは、あらゆるリソースタイプに追加することができます。スタックが削除されると、スタックの状態は Delete_Complete になりますが、保管されたリソースはその後も存在し続けます。それらのリソースを削除するまでは、対象料金が課金されます。

スナップショット

スナップショット (AWS::EC2::VolumeAWS::ElastiCache::CacheClusterAWS::ElastiCache::ReplicationGroupAWS::RDS::DBInstanceAWS::RDS::DBCluster、および AWS::Redshift::Cluster) をサポートするリソースについては、AWS CloudFormation はリソースを削除する前にリソースのスナップショットを作成します。スタックが削除されると、スタックの状態は Delete_Complete になりますが、このポリシーによって作成されたスナップショットはその後も存在し続けます。それらのスナップショットを削除するまでは、対象料金が課金されます。

このページの内容: