DeletionPolicy
属性
利用 DeletionPolicy
属性,您可以在某个资源的堆栈被删除时保留并(在某些情况下)备份该资源。您可为要控制的每个资源指定 DeletionPolicy
属性。默认情况下,如果某个资源不具有 DeletionPolicy
属性,Amazon CloudFormation 将删除该资源。
此功能也适用于会导致从堆栈中删除资源的堆栈更新操作。例如,如果您从堆栈模板中删除资源,则将使用模板更新堆栈。此功能不适用于其物理实例在堆栈更新操作中被替换的资源。例如,如果您编辑资源的属性,CloudFormation 将在堆栈更新过程中替换该资源。
注意
例外:对于 AWS::RDS::DBCluster
资源以及没有指定 DBClusterIdentifier
属性的 AWS::RDS::DBInstance
资源,默认策略是 Snapshot
。
要在某个资源的堆栈被删除时保留该资源,请为其指定 Retain
。您可以对任何资源使用 Retain
。例如,您可以保留嵌套堆栈、Amazon S3 桶或 EC2 实例,以便在删除这些资源的堆栈后继续使用或修改这些资源。
注意
如果要修改 CloudFormation 外部的资源,请使用 Retain
删除策略,然后删除堆栈。否则,您的资源可能与 CloudFormation 模板不同步并导致堆栈错误。
对于支持快照的资源(例如 AWS::EC2::Volume
),您可以指定 Snapshot
以让 CloudFormation 在删除资源之前创建快照。
以下代码段包含具有 Retain
删除策略的 Amazon S3 桶资源。此堆栈被删除时,CloudFormation 将保留该存储桶,不将其删除。
JSON
{ "AWSTemplateFormatVersion" : "2010-09-09", "Resources" : { "MyBucket" : { "Type" : "AWS::S3::Bucket", "DeletionPolicy" : "Retain" } } }
YAML
AWSTemplateFormatVersion: '2010-09-09' Resources: MyBucket: Type: AWS::S3::Bucket DeletionPolicy: Retain
DeletionPolicy
选项
Delete
-
在堆栈删除过程中,CloudFormation 将删除资源及其所有内容(如果适用)。您可以向任何资源类型添加此删除策略。默认情况下,如果不指定
DeletionPolicy
,CloudFormation 将删除您的资源。但应了解以下注意事项:-
对于
AWS::RDS::DBCluster
资源,默认策略是Snapshot
。 -
对于没有指定
AWS::RDS::DBInstance
属性的DBClusterIdentifier
资源,默认策略是Snapshot
。 -
对于 Amazon S3 桶,您必须删除存储桶中的所有对象才能成功完成删除。
注意
CloudFormation 的默认行为是使用 ForceDeleteWithoutRecovery 标志删除密钥。
-
Retain
-
CloudFormation 在其堆栈被删除时将保留资源,而不删除资源或其内容。您可以向任何资源类型添加此删除策略。CloudFormation 完成堆栈删除后,堆栈将处于
Delete_Complete
状态,但保留的资源将继续存在,并且仍将产生相应费用,直到您删除这些资源。对于更新操作,应注意以下事项:
-
如果某个资源被删除,则
DeletionPolicy
会保留物理资源,但确保该资源已从 CloudFormation 的范围中删除。 -
如果要更新某个资源,则创建新的物理资源替换旧资源,然后彻底删除旧资源,包括从 CloudFormation 的范围中删除。
-
RetainExceptOnCreate
-
RetainExceptOnCreate
的行为与Retain
堆栈操作类似,最初创建资源的堆栈操作除外。如果创建资源的堆栈操作被回滚,CloudFormation 会删除该资源。对于所有其他堆栈操作,例如删除堆栈,CloudFormation 会保留资源及其内容。结果是新的、空的和未使用的资源被删除,而正在使用的资源及其数据会被保留。请参阅UpdateStack
API 文档,在不更新模板的情况下使用此删除策略作为 API 参数。 Snapshot
-
对于支持快照的资源,CloudFormation 在删除资源之前为其创建快照。CloudFormation 完成堆栈删除后,堆栈将处于
Delete_Complete
状态,但采用此策略创建的快照将继续存在,并且仍将产生相应费用,直到您删除这些快照。支持快照的资源包括: