変更セットを使用して CloudFormation スタックを更新する
スタックを更新する必要がある場合は、変更の実装前に実行中のリソースに与える影響を理解することで、安心してスタックを更新できます。変更セットは、スタックに対して提案された変更が実行中のリソースにおよぼす影響を事前に確認できるようにします。これには、リソースのプロパティや属性に対する影響が含まれます。変更が重要なリソースを削除するか置き換えるかにかかわらず、CloudFormation が変更を行うのはユーザーが変更セットの実行を決定した場合だけです。そのため、提案された変更をそのまま続行するか、別の変更セットを作成して他の変更を検討するかをユーザーが決定できます。変更セットは、CloudFormation コンソール、AWS CLI、または CloudFormation API を使用して作成および管理できます。
トピック
重要
変更セットでは、CloudFormation によるスタックの更新が正常に行われるかどうかはわかりません。例えば、アカウントクォータを超過する、更新をサポートしていないリソースを更新しようとしている、リソースの変更に必要な許可が足りていないなど、スタックの更新が失敗する原因になる可能性があるものを、変更セットでは確認しません。更新が失敗した場合、CloudFormation では元の状態にリソースをロールバックするように試みます。
変更セットの概要
次の図は、変更セットを使用したスタックの更新方法をまとめたものです。

-
更新するスタックの変更内容を送信して変更セットを作成します。変更したスタックテンプレートまたは変更した入力パラメータ値を送信できます。CloudFormation で送信された変更とスタックが比較され、変更セットが生成されます。この時点ではスタックは変更されません。
-
変更セットを参照して、変更されるスタック設定やリソースを確認します。例えば、CloudFormation によって追加、変更、または削除されるリソースを確認できます。さらに、CloudFormation が変更するタグなど、リソースのプロパティと属性の変更前と変更後の比較を確認することもできます。
-
オプション: 実行する変更を決定する前に他の変更を検討する場合は、追加で変更セットを作成します。複数の変更セットを作成することで、異なる変更がリソースとプロパティにどのように影響するかを理解し、評価することができます。変更セットは必要な数だけ作成できます。
-
スタックに適用する変更を含む変更セットを実行します。CloudFormation はこれらの変更でスタックを更新します。
注記
変更を実行すると、スタックに関連付けられた変更セットは CloudFormation によってすべて削除されます。更新されたスタックには適用できないためです。
適用しない変更セットを実行してしまわないように、変更セットを削除することもできます。