CFn(CloudFormation)でEC2 Auto Scaling Groupのスタックを作成して、スケーリングの検証を行った後、
作成したスタックを削除してもEC2 Auto Scaling GroupとEC2インスタンスの削除がされなかったことがありました。
結論
何もしなくても10分程度待てば削除されました。
確認したこと
- スタック削除の操作後、マネジメントコンソールでEC2 Auto Scaling Groupを確認しても
削除中
の表示はない - 維持インスタンス数、最小インスタンス数、最大インスタンス数が
0
になっていた。 - EC2 Auto Scaling Groupに紐付いているEC2インスタンスの起動ステータスは
動作中
のまま - 手動でEC2 Auto Scaling GroupとEC2インスタンスを削除すると、スタックも削除される
調査したこと
公式ドキュメントの『自動スケーリンググループの削除』では下記のように記載されていました。
Auto Scalingグループを削除する前にすべてのインスタンスを終了するには、UpdateAutoScalingGroupを呼び出して、Auto Scalingグループの最小サイズと必要な容量をゼロに設定します。 To terminate all instances before deleting the Auto Scaling group, call UpdateAutoScalingGroup and set the minimum size and desired capacity of the Auto Scaling group to zero.
今回のCFnスタック削除でのAutoScalingGroup削除では、上記の方法が取られているようです。
CFnで構成管理するまでは、
- マネジメントコンソールからAuto Scaling Groupを作成する
- 検証
- マネジメントコンソールからAutoScalingGroupを削除する
- 紐付いているEC2インスタンスが削除されることを確認
という手順を行っており、AutoScalingGroup削除操作の数秒後にはEC2インスタンスの削除が始まっていたので、
AutoScalingGroupを削除するとほぼ同時にEC2インスタンスも削除されるものだと思っていました。
課題や知らなかったこと
- 利用するサービスのドキュメントは大雑把でもいいので一通りは読んでおくべき。
- 設定次第で挙動は異なるし、使用するサービス毎にデフォルトの挙動が異なるのを念頭においておく必要がある。