AWS CloudFormation
ユーザーガイド (API バージョン 2010-05-15)

UpdateReplacePolicy 属性

UpdateReplacePolicy 属性では、スタック更新オペレーションでリソースを置き換えるときに、リソースの既存の物理インスタンスを保持したり、必要に応じてバックアップしたりします。

スタックの更新を開始すると、AWS CloudFormation は、送信された内容とスタックの現在のテンプレートおよびパラメータの違いに基づいてリソースを更新します。リソースプロパティの更新に伴ってリソースの置換が必要となる場合、AWS CloudFormation は更新時にリソースを再作成します。リソースの再作成に伴って物理 ID が生成されます。AWS CloudFormation は、まず置換リソースを作成し、次に他の従属するリソースからの参照が置換リソースを指すように変更します。デフォルトでは、AWS CloudFormation は古いリソースを削除します。UpdateReplacePolicy では、AWS CloudFormation で古いリソースを保持するか、必要に応じて古いリソースのスナップショットを作成するかを指定できます。

スナップショットをサポートするリソース (AWS::EC2::Volume など) の場合は、Snapshot を指定し、AWS CloudFormation でスナップショットを作成してから古いリソースインスタンスを削除します。

UpdateReplacePolicy 属性は任意のリソースで適用できます。UpdateReplacePolicy が実行されるのは、更新するリソースプロパティの更新動作が置換と指定されている場合に限ります。これにより、AWS CloudFormation は古いリソースを新しいリソースに置き換えて新しい物理 ID を割り当てます。たとえば、AWS::RDS::DBInstance リソースタイプの Engine プロパティを更新すると、AWS CloudFormation によって新しいリソースが作成され、現在の DB インスタンスリソースと置き換えられます。次に、UpdateReplacePolicy 属性は、AWS CloudFormation による古い DB インスタンスの削除、保持、またはスナップショットの作成を行うかどうかを指定します。リソースの各プロパティの更新動作は、AWS リソースおよびプロパティタイプのリファレンス で、そのリソースに関する参照トピックに指定されています。リソースの更新動作の詳細については、「スタックのリソースの更新動作」を参照してください。

UpdateReplacePolicy 属性は、直接実行されるスタック更新および変更セットを介して実行されるスタック更新に適用されます。

注記

保持されたリソースは存続し、削除されるまでは、該当する料金が引き続き発生します。このポリシーで作成されたスナップショットは存続し、削除されるまでは、該当する料金が引き続き発生します。古い物理リソースやスナップショットは、UpdateReplacePolicy には保持されますが、AWS CloudFormationの適用範囲からは削除されます。

UpdateReplacePolicy は、スタックの更新時に置き換えるリソースにのみ適用されるという点で、DeletionPolicy 属性とは異なります。DeletionPolicy は、スタックの削除時にリソースを削除する場合や、スタック更新の一環としてリソース定義自体をテンプレートから削除する場合に使用します。

次のスニペットに示す Amazon RDS データベースインスタンスリソースでは、置換ポリシーとして Retain を使用しています。このリソースが新しいリソースに置き換えられて新しい物理 ID が割り当てられると、AWS 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 オプション

削除

AWS CloudFormation はリソースの置換に伴ってリソースとそのすべてのコンテンツ (該当する場合) を削除します。このポリシーは、任意のリソースタイプに追加できます。デフォルトでは、UpdateReplacePolicy を指定しないと、AWS CloudFormation はリソースを削除します。ただし、次の点を考慮する必要があります。

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

Retain

AWS CloudFormation はリソースの置換に伴ってリソースを保持します。リソースやそのコンテンツは削除されません。このポリシーは、任意のリソースタイプに追加できます。保持されたリソースは存続し、削除されるまでは、該当する料金が引き続き発生することに注意してください。

リソースを置き換えると、古い物理リソースは、UpdateReplacePolicy には保持されますが AWS CloudFormation の適用範囲からは削除されます。

スナップショット

スナップショットをサポートするリソースについては、AWS CloudFormation は削除前に、リソースのスナップショットを作成します。このポリシーで作成されたスナップショットは存続し、削除されるまでは、該当する料金が引き続き発生することに注意してください。

注記

スナップショットをサポートしていないリソースに対して UpdateReplacePolicy の snapshot オプションを指定すると、CloudFormation はデフォルトオプション (Delete) に戻ります。

スナップショットをサポートするリソースは以下のとおりです。

このページの内容: