[アップデート]Amazon CloudWatch メトリクスでは、EC2インスタンスからEBSボリュームへの通信の到達性を監視するメトリクスが追加されました

2023.10.12

はじめに

Amazon CloudWatch メトリクスでは、EC2インスタンスからEBSボリュームへの通信の到達性を監視するメトリクス(StatusCheckFailed_AttachedEBS)が追加されました。

StatusCheckFailed_AttachedEBSメトリクスは、EBSボリュームがEC2インスタンスに適切に接続され、I/O操作を適切に実行できるかどうかを監視します。

このメトリクスによって、EC2インスタンスで実行されているアプリケーションに影響を与える可能性があるEBSボリュームの障害を検出することができるようになります。

また、CloudWatchのアラームを作成し、メトリクスに基づいてアラームがトリガーされて、管理者に通知することもできます。

ステータスチェックが失敗する原因は、ドキュメントで例として、以下を挙げています。

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

ステータスチェックが失敗した場合は、原因によって対処は変わりますが、AWSが問題を解決するまで待つか、影響を受けたボリュームを交換するか、インスタンスを停止して再起動するなどの対応が必要です。

メトリクスは、追加料金なしでデフォルトで1分の頻度で利用可能です。

メトリクスが取得できる対象のインスタンスは、Nitro Systemで構築されたインスタンスのみです。

次の仮想インスタンスは Nitro System で構築されています。

• 汎用: A1、M5、M5a、M5ad、M5d、M5dn、M5n、M5zn、M6a、M6g、M6gd、M6i、M6id、M6idn、M6in、M7a、M7g、M7gd、M7i、M7i-flex、T3、T3a、T4g
• コンピューティング最適化: C5、C5a、C5ad、C5d、C5n、C6a、C6g、C6gd、C6gn、C6i、C6id、C6in、C7g、C7gd、C7gn、C7i、Hpc6a、Hpc7g、Hpc7a
• メモリ最適化: Hpc6id、R5、R5a、R5ad、R5b、R5d、R5dn、R5n、R6a、R6g、R6gd、R6i、R6idn、R6in、R6id、R7a、R7g、R7gd、R7iz、U-3tb1、U-6tb1、U-9tb1、U-12tb1、U-18tb1、U-24tb1、X2gd、X2idn、X2iedn、X2iezn、z1d
•ストレージ最適化: D3、D3en、I3en、I4g、I4i、Im4gn、Is4gen
•高速コンピューティング: DL1、G4ad、G4dn、G5、G5g、Inf1、Inf2、P3dn、P4d、P4de、P5、Trn1、Trn1n、VT1

引用元:https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances

確認してみた

インスタンスタイプt3.micro、Amazon Linux2023でEC2インスタンスを起動します。

EC2インスタンスのコンソール画面のうち、[ステータスチェック]タブでは、今回のアップデート内容は確認できないようでした。

ドキュメントには、[システムステータスのチェック]、[インスタンスステータスのチェック]と同列で書かれていたので、[ステータスチェック]タブで確認できると思ったのですが、残念です。

Types of status checks
There are three types of status checks.
• System status checks
• Instance status checks
• Attached EBS status checks

CloudWatchメトリクスのコンソール画面から[EC2]→[インスタンス別メトリクス]に遷移し、StatusCheckFailed_AttachedEBSで検索すると、確認できました。

また、[グラフ化したメトリクス]タブに遷移し、[期間]を1分にすることで、1分の頻度で取得できていることが確認できました。

アラート通知

もちろん、StatusCheckFailed_AttachedEBSのメトリクスのCountが1になったら、アラート通知させることもできます。

メトリクスの対象インスタンスでない場合

Nitro Systemで構築されていないインスタンスでは、StatusCheckFailed_AttachedEBSのメトリクスが取得できないか確認します。

t2.microのEC2インスタンスを起動しました。

十分以上待ちましたが、StatusCheckFailed_AttachedEBSのメトリクスは、確認できませんでした。

ドキュメント通り、Nitro Systemで構築されたインスタンスのみが対象だと確認できました。

最後に

今回のアップデートでは、EC2インスタンスからEBSボリュームへの通信の到達性を監視するメトリクスが追加されました。

このメトリクスは、本番環境で稼働しているEC2インスタンスであれば、ぜひ監視したいメトリクスですね。

他のファイルストレージでも監視できるとよいと思うので、今後のアップデートに期待したいです。