変更セットを使用して CloudFormation スタックを更新する
スタックを更新する必要がある場合は、変更の実装前に実行中のリソースに与える影響を理解することで、安心してスタックを更新できます。変更セットは、スタックに対して提案された変更が実行中のリソースにおよぼす影響を事前に確認できるようにします。これには、リソースのプロパティや属性に対する影響が含まれます。変更が重要なリソースを削除するか置き換えるかにかかわらず、CloudFormation が変更を行うのはユーザーが変更セットの実行を決定した場合だけです。そのため、提案された変更をそのまま続行するか、別の変更セットを作成して他の変更を検討するかをユーザーが決定できます。変更セットは、CloudFormation コンソール、AWS CLI、または CloudFormation API を使用して作成および管理できます。
トピック
重要
変更セットは、CloudFormation によるスタックの更新が正常に行われることを保証するものではありません。ただし、デプロイ前検証では、プロパティ構文エラー、リソース名の競合、サービスクォータの制限、その他の制約など、変更セットの作成中に発生する一般的な障害の原因がチェックされます。ランタイム条件 (カスタムリソースロジックやサービス固有の制約など) が原因で発生する障害は、実行中も発生する可能性があります。
注記
変更セットで Express モードを使用すると、スタックオペレーションをより迅速に完了できます。変更セットを作成するときに --deployment-config '{"mode": "EXPRESS"}' パラメータを指定します。変更セットを実行すると、CloudFormation は Express モードを適用し、設定が適用されるとすぐにリソースオペレーションを完了します。詳細については、「Express モード」を参照してください。
変更セットの概要
次の図は、変更セットを使用したスタックの更新方法をまとめたものです。
-
更新するスタックの変更内容を送信して変更セットを作成します。変更したスタックテンプレートまたは変更した入力パラメータ値を送信できます。CloudFormation で送信された変更とスタックが比較され、変更セットが生成されます。この時点ではスタックは変更されません。
-
変更セットを参照して、変更されるスタック設定やリソースを確認します。例えば、CloudFormation によって追加、変更、または削除されるリソースを確認できます。さらに、CloudFormation が変更するタグなど、リソースのプロパティと属性の変更前と変更後の比較を確認することもできます。
-
オプション: 実行する変更を決定する前に他の変更を検討する場合は、追加で変更セットを作成します。複数の変更セットを作成することで、異なる変更がリソースとプロパティにどのように影響するかを理解し、評価することができます。変更セットは必要な数だけ作成できます。
-
スタックに適用する変更を含む変更セットを実行します。CloudFormation はこれらの変更でスタックを更新します。
注記
変更を実行すると、スタックに関連付けられた変更セットは CloudFormation によってすべて削除されます。更新されたスタックには適用できないためです。
適用しない変更セットを実行してしまわないように、変更セットを削除することもできます。