🐾

CloudFormationでスタックプロビジョニング中にFailedしたとき、途中から続きをやり直せるオプションがリリース

2021/08/31に公開

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 オプションはない

memo

  • いくつものリソースを作成するような重いCloudFormationを使っているひとにはかなりの朗報ではないか
  • ciで実行している場合にはrollbackしたいときに一手間が必要にはなると思う

FYI

【公式】 New for AWS CloudFormation – Quickly Retry Stack Operations from the Point of Failure
https://aws.amazon.com/jp/blogs/aws/new-for-aws-cloudformation-quickly-retry-stack-operations-from-the-point-of-failure/

Discussion