ASG管理下のEC2の死活監視についてのメモ書きです。
要件
- ASG管理下のEC2インスタンスがUnhealthyまたは停止(手動停止や終了を含む)になった際に、通知を受け取りたい
前提
- ECS on EC2を使用しており、これらのEC2インスタンスをASGで管理している
- ASG設定
- desired count: 2
- max count: 2
- min count: 2
- ロードバランシング: -
- ヘルスチェック:
- タイプ: EC2
- 猶予期間: 60
- それ以外はデフォルト
試したこと
- 実施方法
- EC2インスタンスの手動終了を実施し、ASGメトリクスの値の変化
を確認する
- EC2インスタンスの手動終了を実施し、ASGメトリクスの値の変化
- 結果
Auto Scaling グループメトリクスについて
ASGメトリクスは毎分発行される仕様です。
Auto Scalingグループメトリクスを有効にすると、Amazon EC2 Auto Scaling は、ベストエフォートベースで毎分、CloudWatch にサンプルデータを送信します。CloudWatch でサービスの中断が発生するまれなケースでは、グループメトリクス履歴のギャップを埋めるためのデータのバックフィルは行われません。
GroupXXXInstancesメトリクスは1分間隔で記録されるため、その間にインスタンスの置き換え(古いインスタンスの終了と新しいインスタンスの起動)などが発生しても検知しない可能性があります。
SNSを使ったアクティビティ通知
漏れなくEC2インスタンスの状態変化(今回はインスタンスの終了)を監視したい場合は、SNSを使ったアクティビティ通知が利用可能です。