本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 UpdateReplacePolicy
屬性來在資源在堆疊更新操作期間遭到取代時,保留或 (在某些情況下) 備份其現有的實體執行個體。
當您啟動堆疊更新時, 會根據您提交的內容與堆疊目前範本和參數之間的差異來 AWS CloudFormation 更新資源。如果您更新的是需要替換資源的資源屬性,CloudFormation 會在更新時重新建立該資源。重新建立的資源會產生一個新的實體 ID。CloudFormation 會先建立替換資源,然後變更其他相依資源的參考以指向替換資源。在預設情況下,CloudFormation 會刪除舊資源。您可以使用 UpdateReplacePolicy
,指定 CloudFormation 保留或 (在某些情況下) 建立舊資源的快照。
針對支援快照的資源 (例如 AWS::EC2::Volume
),指定 Snapshot
讓 CloudFormation 先建立快照,再刪除舊的資源執行個體。
您可以將 UpdateReplacePolicy
屬性套用至任何資源。如果您更新的資源屬性的更新行為是指定為 Replacement (替換),系統會僅執行 UpdateReplacePolicy
,進而導致 CloudFormation 使用具有新實體 ID 的新資源替換舊資源。例如,如果您更新 AWS::RDS::DBInstance 資源類型的 Engine
屬性,CloudFormation 會建立新的資源,並將目前的資料庫執行個體資源取代為此新的資源。UpdateReplacePolicy
屬性會表示 CloudFormation 是否刪除、保留,或建立舊資料庫執行個體的快照。資源每個屬性的更新行為會在 AWS 資源和屬性類型參考 中該資源的參考主題中指定。如需資源更新行為的詳細資訊,請參閱 了解堆疊資源的更新行為。
除了使用變更集執行的堆疊更新之外,此 UpdateReplacePolicy
屬性也會套用至您直接執行的堆疊更新。
注意
保留資源會持續存在,並繼續產生適用的費用,直到您將這些資源刪除為止。使用此政策建立的快照會持續存在,並繼續產生適用的費用,直到您將這些快照刪除為止。UpdateReplacePolicy
會保留舊實體資源或快照,但將他們從 CloudFormation 範圍內移除。
UpdateReplacePolicy
與 DeletionPolicy 屬性不同,因為它僅適用於在堆疊更新期間替換的資源。DeletionPolicy
用於在堆疊刪除時,或資源定義本身在堆疊更新時從範本中刪除時刪除的資源。
下列程式碼片段包含具有 Retain
替換政策的 Amazon RDS 資料庫執行個體資源。將此資源替換為具有新實體 ID 的新資源時,CloudFormation 會離開舊資料庫執行個體,但不將其刪除。
JSON
{
"AWSTemplateFormatVersion" : "2010-09-09",
"Resources" : {
"myDB" : {
"Type" : "AWS::RDS::DBInstance",
"DeletionPolicy" : "Retain",
"UpdateReplacePolicy" : "Retain",
"Properties" : {}
}
}
}
YAML
AWSTemplateFormatVersion: 2010-09-09
Resources:
myDB:
Type: 'AWS::RDS::DBInstance'
DeletionPolicy: Retain
UpdateReplacePolicy: Retain
Properties: {}
UpdateReplacePolicy
選項
Delete
-
在資源替換期間,CloudFormation 會刪除資源和其所有內容 (如果適用)。您可以將此政策新增至任何資源類型。根據預設,如果您未指定
UpdateReplacePolicy
,則 CloudFormation 會刪除您的資源。不過,請注意下列考量:針對 Amazon S3 儲存貯體,您必須刪除儲存貯體中的所有物件,刪除才會成功。
Retain
-
CloudFormation 會保留資源,而不將其刪除,或在資源遭到替換時保留其內容。您可以將此政策新增至任何資源類型。保留資源會持續存在,並繼續產生適用的費用,直到您將這些資源刪除為止。
如果資源遭到替換,
UpdateReplacePolicy
會保留舊實體資源,但將他們從 CloudFormation 範圍內移除。 Snapshot
-
針對支援快照的資源,CloudFormation 會先建立資源的快照,再刪除資源。使用此政策建立的快照會持續存在,並繼續產生適用的費用,直到您將這些快照刪除為止。
注意
如果您在不支援快照的資源的
UpdateReplacePolicy
中指定Snapshot
選項,CloudFormation 會還原為預設選項,也就是Delete
。支援快照的資源包括: