AWS CLI による Stack 操作 | AWS CoudFormation
スタックを削除
ユースケース:UPDATE_ROLLBACK_FAILED や ROLLBACK_COMPLETE など DELETE しかできない場合に実行します。
$ aws cloudformation delete-stack --stack-name
CodePipeline など CI スタック は ArtifactStoreBucket( AWS::S3::Bucket )の削除が失敗します(空でないバケットは削除できないため)。
そのときはバケットを空にしてから( WEB マネジメントコンソールからの操作でもよい)、スタックの削除を再実行します。
DELETE_FAILED のスタックを削除
DELETE_FAILED 状態のスタックは、削除に失敗したリソースを残したまま削除することもできます( DELETE_FAILED 状態のスタックにのみ指定可能)。
$ aws cloudformation delete-stack --stack-name --retain-resources
残したリソースはスタックの管理外になるため、不要であれば手動で削除します。
スタックの作成中( CREATE_IN_PROGRESS )をキャンセル
キャンセルする方法はありません。
CloudFormation が ROLLBACK_COMPLETE になるまで待ちます。
ほとんどの場合、CloudFormation スタックがタイムアウトするまで待つ必要があります。タイムアウトの長さはさまざまで、CloudFormation が希望する状態になるまで待機するそれぞれのリソースの安定化要件に基づきます。
ref. https://repost.aws/ja/knowledge-center/cloudformation-stack-stuck-progress
スタックの更新中( UPDATE_IN_PROGRESS )をキャンセル
ユースケース:UPDATE_IN_PROGRESS が完了しない
$ aws cloudformation cancel-update-stack --stack-name
cancel-update-stackはUPDATE_IN_PROGRESS状態のスタックにのみ使用できます- 実行後は
UPDATE_ROLLBACK_IN_PROGRESSを経て、ロールバックが成功すればUPDATE_ROLLBACK_COMPLETE、失敗すればUPDATE_ROLLBACK_FAILEDになります
ref. cancel-update-stack