[アップデート] Amazon EC2 Auto Scaling のヘルスチェックで「Amazon EBS ヘルスチェック」がサポートされたので使ってみた
いわさです。
先日のアップデートで Amazon EC2 のステータスチェックで、EBS ボリュームステータスについても検出出来るようになりました。
この EC2 ステータスの属性追加に伴って EC2 Auto Scaling でも EC2 のヘルスチェックに EBS 到達性ステータスを設定出来るようになりました。
これまでは EBS 障害までカバーするために CloudWatch メトリクスのStatusCheckFailed_AttachedEBS
を監視する必要があったのですが、今回のアップデートで EBS 到達性チェックについて非常に簡単に設定しやすくなりました。
設定方法
Auto Scaling グループの作成を行う際にヘルスチェックの項目があり、EC2 ステータス以外にも様々なソースから通知を受け取ることが出来ます。
例えば ELB や VPC Lattice によるターゲットグループのヘルスチェック機能を ASG で参照させることが出来ます。
今回こちらに追加のヘルスチェックタイプとして「Amazon EBS ヘルスチェック」が追加されています。
AWS CLI の場合だと前述のとおり v1.34.4 でサポートされるようになりました。使えるようになったのは 2024 年 8 月 23 日ごろでしょうか。
CreateAutoScalingGroup の HealthCheckType パラメータで EBS を指定出来るようになりました。
EC2 のアップデートに依存した機能なので、同様に Nitro System インスタンスでのみ利用可能です。
試してみた
実際に試してみたいと思います。
ASG のヘルスチェックで EBS ヘルスチェックをオンにします。
適当な起動テンプレートですが、インスタンスが 1 台自動で立ち上がるように構成していきます。
AWS FIS で EBS の I/O 停止を発生させることが出来るのでこの機能を使って、EBS 障害をシミュレートします。
EC2 コンソール上でステータスチェックに失敗するようになりました。
暫くすると ASG 側でも EBS のヘルスチェックステータスが検出され、インスタンス管理画面上でも Unhealthy になることが確認出来ました。
期待どおり EBS 障害が発生したインスタンスが置き換えられています。
さいごに
本日は Amazon EC2 Auto Scaling のヘルスチェックで「Amazon EBS ヘルスチェック」がサポートされたので使ってみました。
ASG + ALB などでロードバランサー側のヘルスチェックを使うことはよくあると思うのですが、EBS ヘルスチェックについても簡単に設定出来るようになりましたね。