EC2 インスタンスのステータスチェックが失敗する場合の原因と確認方法

なぜステータスチェックに失敗していたのですか?という質問にお答えしてみました。
2020.12.09

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。コンサル部のYui(@MayForBlue)です。

EC2 インスタンスのステータスチェックが失敗しています。なぜですか?というご質問にお答えしてみました。

困っていたこと

ある時間帯にサーバーの応答がなくなりステータスチェックに失敗していました。
どこに問題があったのか知りたいです。

回答

EC2 インスタンスのステータスチェックには「StatusCheckFailed_System」(システムステータスのチェック)と「StatusCheckFailed_Instance」(インスタンスステータスのチェック)の2種類があります。

インスタンスのステータスチェック

すべては上記ドキュメントに記載の通りなのですが、「StatusCheckFailed_System」の場合、AWSの基盤に問題があり発生したものとなります。
「StatusCheckFailed_Instance」の場合はユーザー側で行った操作や設定が原因で発生している問題が検出されます。
なお、「StatusCheckFailed_System」が発生している場合、それが原因で「StatusCheckFailed_Instance」が発生する場合もあります。

システムステータスチェックの失敗の原因となる問題の例を次に示します。

・ネットワーク接続の喪失

・システム電源の喪失

・物理ホストのソフトウェアの問題

・ネットワーク到達可能性に影響する、物理ホスト上のハードウェアの問題

インスタンスステータスチェックの失敗の原因となる問題の例を次に示します。

・失敗したシステムステータスチェック

・正しくないネットワークまたは起動設定

・メモリの枯渇

・破損したファイルシステム

・互換性のないカーネル

ステータスチェックの確認方法

マネジメントコンソールでEC2インスタンスのステータスチェック状況を確認する方法を2種類ご紹介します。

EC2のマネジメントコンソールから確認する方法

対象のEC2インスタンスの詳細画面の「モニタリング」タブで、ステータスチェックの状況を確認することができます。

ダッシュボードの右上メニューから、表示する時間やタイムゾーンを指定することも可能です。

CloudWatch のマネジメントコンソールから確認する方法

CloudWatch のマネジメントコンソール左側メニューから「メトリクス」を選択してください。

「AWSの名前空間」から「EC2」をクリックします。

「インスタンス別メトリクス」をクリックします。

対象のインスタンスのメトリクスが一覧で表示されるので、確認したいメトリクス(「StatusCheckFailed_System」など)にチェックを入れると、画面上部にグラフが表示されます。

こちらも画面右上で表示する時間やタイムゾーンの指定が可能です。

自動リカバリー設定

EC2インスタンスのステータスチェックが失敗した場合に備えて 事前に CloudWatch アラームを設定し、自動で再起動させるようにすることも可能です。
詳細、手順については下記のブログをご参照ください。

さいごに

EC2 インスタンスのステータスチェックが失敗する場合の原因についてご紹介しました。

テクニカルサポートノートシリーズでは今後もAWSユーザーの皆様にとって有益な情報を一般的な TIPS としてご紹介していきます。
お楽しみに!

以上、コンサル部のYui(@MayForBlue)でした。