🐾
CloudFormationでスタックプロビジョニング中にFailedしたとき、途中から続きをやり直せるオプションがリリース
What's?
- これまでCloudFormationでスタックのプロビジョニング中に問題が発生してFailedしたらRollbackされていた
- オプションでFailedしたところから続きをやり直せるようになった
How?
マネコンで利用する場合
スタックの作成・更新時にこのように選べる
failedしたときはスタック画面の上部にボタンが表示される
AWSCLIで利用する場合
--disable-rollback
オプションを使う(v1.20.32から)
Default: False
aws cloudformation create-stack --stack-name my-stack \
--template-body file://my-template.yaml --disable-rollback
aws cloudformation update-stack --stack-name my-stack \
--template-body file://my-template.yaml --disable-rollback
aws cloudformation execute-change-set --stack-name my-stack --change-set-name my-change-set \
--template-body file://my-template.yaml --disable-rollback
-
failedするとCREATE_FAILED, UPDATE_FAILEDステータスで止まるようになる
-
もう一度↑コマンドを実行し、問題なければUPDATE_IN_PROGRESSへ移行する
-
Rollbackする場合
rollback-stack
コマンドを使うaws cloudformation rollback-stack --stack-name my-stack
-
aws cloudformation deploy
コマンドには--disable-rollback
オプションはない- Issueは立っているが2年以上動きがない
https://github.com/aws/aws-cli/issues/3712
- Issueは立っているが2年以上動きがない
memo
- いくつものリソースを作成するような重いCloudFormationを使っているひとにはかなりの朗報ではないか
- ciで実行している場合にはrollbackしたいときに一手間が必要にはなると思う
FYI
【公式】 New for AWS CloudFormation – Quickly Retry Stack Operations from the Point of Failure
Discussion