こんばんは、小寺です。
Amazon CloudWatchメトリクスでEC2インスタンスにアタッチされたEBSボリュームの通信が到達したかどうか監視ができるようになりました。
https://aws.amazon.com/about-aws/whats-new/2023/10/amazon-cloudwatch-metric-monitors-reachability-ebs-volumes/

アップデート内容

EC2 インスタンスにアタッチされた 1 つ以上の Amazon EBS ボリュームに通信が到達したかどうかをモニタリングできるCloudWatchのメトリクスが追加されました。
メトリクス名は「StatusCheckFailed_AttachedEBS」です。
メリットとしては、Amazon EC2 インスタンスで実行されているシステムに影響があるEBS障害が検知できるようになりました。
よって、アタッチされた EBS ステータス チェック メトリクスが失敗した場合は、AWSに原因があったとき、解決するまで待つか、影響を受けるボリュームを交換するか、インスタンスを停止して再起動するなどのアクションを自動的に行うこともできます。

注意事項としては、 2023年10月アップデート時点でEBS ステータス チェック メトリックは、Nitro インスタンスでのみ使用できます。

どんなときにEBSのステータスチェックがフェイルになる?

アタッチされた EBS ステータス チェックが失敗する例は以下の通りです。

・EBS ボリュームの基盤となるストレージ サブシステムのハードウェアまたはソフトウェアの問題
・EBS ボリュームの到達可能性に影響を与える物理ホスト上のハードウェアの問題
・インスタンスと EBS ボリューム間の接続の問題

確認してみる

本アップデート後にEC2インスタンスを起動してみましたが、AWSマネジメントコンソールのEC2ステータスチェック欄には反映されてはいないようでした。

CloudWatchメトリクスでEC2で「 StatusCheckFailed_AttachedEBS 」で検索してみます。

アラームを作成してみます。

アクション設定では、アラーム状態になったときにインスタンスの停止や解除、再起動の設定を選ぶこともできます。

アラーム状態を確認してみます。

EBSボリュームのIOをFIS(Fault Injection Simulator)から切断してみます。

無事にAlarm状態として検出できました。FISの時間が3分にしておいたので、1分毎の検知で、実験完了後にAlarm状態からOK状態に復帰しています。

今回のアップデートでは、EC2インスタンスからEBSボリュームへの通信の到達性が確認できるメトリクスが発表されました。今までEC2のヘルスチェックだけだったものが、EBSまで確認可能になり、障害発生時に便利になったと思います。