投稿日: Jun 20, 2023

AWS CloudFormation に、ChangeSets のロールバック動作を制御でき CreateChangeSet API 用の新しいパラメータ OnStackFailure が登場しました。ChangeSets を使用して、スタック操作がアクティブなリソースに与える影響をプレビューできます。ExecuteChangeSet オペレーションを使用して ChangeSets をデプロイできます。今回のローンチにより、ChangeSets の実行が失敗した場合に CloudFormation が実行するアクションを変更できるようになりました。これにより、ChangeSets の実行を再試行する際の手動操作を減らすことができます。

OnStackFailure を ROLLBACK、DELETE、または DO_NOTHING に設定できます。OnStackFailure のデフォルトオプションは ROLLBACK です。OnStackFailure を ROLLBACK に設定すると、変更セットの実行が失敗した場合に、CloudFormation がスタックを最後の安定した状態に戻します。これは ChangeSets の現在の動作と一致し、本番環境でのスタックの更新中にサービスが中断されるのを防ぐことができます。OnStackFailure を DELETE に設定できるのは、新しいスタックを作成するチェンジセットに対してのみです。OnStackFailure を DELETE に設定すると、変更セットの実行が失敗した場合に、CloudFormation は新しいスタックを削除します。これにより、手動でスタックをクリーンアップする必要がなくなり、CI/CD アクションを使用してスタックの作成を再試行できます。そのためテスト環境での開発がスピードアップし、本番環境でのヒューマンエラーを防ぐことができます。OnStackFailure を DO_NOTHING に設定すると、チェンジセットの実行が失敗しても CloudFormation はスタックの状態を保存します。これにより、テスト環境での AWS アカウント制限違反などのプロビジョニング障害の調査が容易になります。

OnStackFailure パラメータは、CloudFormation が利用可能な AWS リージョンで使用できます。CloudFormation が利用可能な AWS リージョンについては、AWS リージョン表をご覧ください。

OnStackFailure の詳細については、CreateChangeSet API ドキュメントをご覧ください。