インスタンスのステータスチェック - Amazon Elastic Compute Cloud

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

インスタンスのステータスのモニタリングでは、インスタンスによるアプリケーションの実行を妨げる可能性のある問題をAmazon EC2 が検出したかどうかをすばやく判断できます。Amazon EC2 は、稼働中のすべての EC2 インスタンスに対して自動チェックを実行して、ハードウェアおよびソフトウェアの問題を特定します。これらのステータスチェックの結果を表示して、具体的で検出可能な問題を識別できます。このイベントステータスデータは、各インスタンス (pendingrunningstopping) の状態に関して Amazon EC2 が既に提供している情報と、Amazon CloudWatch が監視している使用状況メトリクス (CPU 使用率、ネットワークトラフィック、ディスクアクティビティ) を補足するものです。

ステータスチェックは 1 分ごとに実行され、それぞれ成功または失敗のステータスが返ります。すべてのチェックが成功すると、インスタンス全体のステータスが OK になります。1つ以上のチェックが失敗すると、全体のステータスが impaired になります。ステータスチェックは Amazon EC2 に組み込まれています。そのため、無効にしたり、削除したりすることはできません。

ステータスチェックに失敗すると、ステータスチェックの対応する CloudWatch メトリクスは増加します。詳細については、「ステータスチェックメトリクス」を参照してください。このようなメトリクスを使用して、ステータスチェックの結果に基づいてトリガーされる CloudWatch アラームを作成することができます。例えば、特定のインスタンスでステータスチェックが失敗したときに警告するアラームを作成できます。詳細については、「ステータスチェックアラームの作成と編集」を参照してください。

また、Amazon EC2 インスタンスをモニタリングし、基になる問題によりインスタンスが正常に機能しなくなった場合に、自動的にインスタンスを復旧する Amazon CloudWatch アラームを作成できます。詳細については、「インスタンスの復旧」を参照してください。

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

システムステータスチェックとインスタンスステータスチェックを提供します。

システムステータスのチェック

システムステータスチェックは、インスタンスが実行されている AWS システムをモニタリングします。これらのチェックでは、修復には AWS の関与が必要なインスタンスの根本的な問題が検出されます。システムステータスチェックが失敗した場合、AWS が問題を解決するのを待つか、自分で解決できるかを選択できます。Amazon EBS でバックアップされたインスタンスの場合は、インスタンスを自分で停止および起動することができます。通常、インスタンスは新しいホストに移行されます。Linux インスタンスストアによってサポートされているインスタンスの場合、インスタンスを終了して置き換えることができます。Windows インスタンスの場合、ルートボリュームは Amazon EBS ボリュームであることが必要です。インスタンスストアはルートボリュームではサポートされません。インスタンスストアボリュームは短期のものであり、インスタンスが停止するとすべてのデータが失われることに注意してください。

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

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

  • システム電源の喪失

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

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

システムステータスチェックが失敗した場合、StatusCheckFailed_system メトリックをインクリメントします。

ベアメタルインスタンス

ベアメタルインスタンス上のオペレーティングシステムから再起動を実行すると、システムステータスチェックが一時的に失敗ステータスを返すことがあります。インスタンスが使用可能になると、システムステータスチェックからは成功ステータスが返されます。

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

[インスタンスステータスのチェック] 個々のインスタンスのソフトウェアとネットワークの設定をモニタリングします。Amazon EC2 は、ネットワークインターフェイス (NIC) にアドレス解決プロトコル (ARP) リクエストを送信することでインスタンスのヘルスをチェックします。これらのチェックでは、ユーザーが関与して修復する必要のある問題が検出されます。インスタンスステータスチェックが失敗した場合は通常、自分自身で (例えば、インスタンスを再起動する、インスタンス設定を変更するなどによって) 問題に対処する必要があります。

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

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

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

  • メモリの枯渇

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

  • 互換性のないカーネル

インスタンスのステータスチェックが失敗した場合、StatusCheckFailed_instance メトリクスをインクリメントします。

ベアメタルインスタンス

ベアメタルインスタンス上のオペレーティングシステムから再起動を実行すると、インスタンスのステータスチェックが一時的に失敗ステータスを返すことがあります。インスタンスが使用可能になると、インスタンスステータスチェックからは成功ステータスが返されます。

ステータスチェックの表示

Amazon EC2 コンソールまたは AWS CLI を使用して、ステータスチェックを表示および操作できます。

コンソールを使ったステータスの表示

Amazon EC2 コンソールを使用してステータスチェックを表示するには、次のステップを実行します。

ステータスチェックを表示するには (コンソール)
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. [インスタンス] ページで、[Status check (ステータスチェック)] 列には、各インスタンスの動作状況が表示されます。

  4. 特定のインスタンスのステータスを表示するには、インスタンスを選択して、[Status checks] (ステータスチェック) のタブを選択します。

    
                                            [Status checks] (ステータスチェック) タブでインスタンスのステータスチェックを表示します。

    インスタンスに失敗したステータスチェックがある場合、通常は、自分自身で (例えば、インスタンスを再起動する、インスタンス設定を変更するなどによって) 問題に対処する必要があります。ご自分でシステムまたはインスタンスのステータスチェック失敗のトラブルシューティングを行う場合は、ステータスチェックに失敗したインスタンスのトラブルシューティングを参照してください。

  5. ステータスチェックの CloudWatch メトリクスを確認するには、インスタンスを選択後、[モニタリング] タブを選択します。次のメトリクスのグラフが表示されるまでスクロールします。

    • ステータスチェックに失敗 (すべて)

    • ステータスチェックに失敗 (インスタンス)

    • ステータスチェックに失敗 (システム)

    詳細については、「ステータスチェックメトリクス」を参照してください。

コマンドラインを使用したステータスの表示

describe-instance-status (AWS CLI) コマンドを使用すると、実行中のインスタンスのステータスチェックを表示できます。

すべてのインスタンスのステータスを表示するには、次のコマンドを使用します。

aws ec2 describe-instance-status

インスタンスステータスが impaired であるすべてのインスタンスのステータスを取得するには、次のコマンドを使用します。

aws ec2 describe-instance-status \ --filters Name=instance-status.status,Values=impaired

単一のインスタンスのステータスを取得するには、以下のコマンドを使用します。

aws ec2 describe-instance-status \ --instance-ids i-1234567890abcdef0

または、以下の コマンドを使用します。

ステータスチェックが失敗したインスタンスがある場合は、「ステータスチェックに失敗したインスタンスのトラブルシューティング」を参照してください。

インスタンスのステータスの報告

ステータスが impaired と表示されていないインスタンスで問題が生じている場合や、障害のあるインスタンスで発生している問題に関する追加の詳細を AWS に送信する場合は、フィードバックを提供できます。

Amazon では、報告されたフィードバックを使用して、複数のお客様に影響する可能性のある問題を識別していますが、個々のアカウントの問題には返答しておりません。フィードバックをご提供いただいても、現在インスタンスに関して表示されているステータスチェックの結果は変わりません。

コンソールを使用したステータスのフィードバックの報告

インスタンスステータスを報告するには (コンソール)
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. インスタンスを選択し、[Status Checks (ステータスチェック)] タブを選択します。次に、[Actions (アクション)] (ページの下半分にある 2 番目の [Actions (アクション)] メニュー) を選択し、[Report instance status (インスタンスステータスの報告)] を選択します。

  4. [Report instance status (インスタンスステータスの報告)] フォームに入力し、[Submit (送信)] を選択します。

コマンドラインを使用したステータスフィードバックの報告

障害のあるインスタンスのステータスに関するフィードバックを送信するには、report-instance-status (AWS CLI) コマンドを使用します。

aws ec2 report-instance-status \ --instances i-1234567890abcdef0 \ --status impaired \ --reason-codes code

または、以下の コマンドを使用します。

ステータスチェックアラームの作成と編集

ステータスチェックメトリクスを使用して、インスタンスのステータスチェックに失敗したときに通知されるように CloudWatch アラームを作成することができます。

コンソールを使用したステータスチェックアラームの作成

次の手順に従って、E メールで通知を送信するか、ステータスチェックに失敗したときにインスタンスを停止、終了、または回復するアラームを設定します。

ステータスチェックアラームを作成するには (コンソール)
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. インスタンスを選択して、[Status Checks (ステータスチェック)] タブを選択し、[アクション]、[Create status check alarm (ステータスチェックアラームの作成)] を選択します。

  4. [Manage CloudWatch alarms (CloudWatch アラームの管理)] ページの [Add or edit alarm (アラームの追加または編集)] で、[Create an alarm (新しいアラームの作成)] を選択します。

  5. [Alarm notification (アラーム通知)] で、トグルをオンにして Amazon Simple Notification Service (Amazon SNS) 通知を設定します。既存の Amazon SNS トピックを選択するか、名前を入力して新しいトピックを作成します。

    受信者のリストに E メールアドレスを追加したか、トピックを新規作成した場合、Amazon SNS から追加した各 E メールアドレスにサブスクリプションの確認メールメッセージが送信されます。各受信者は、そのメッセージに記載されているリンクを選択してサブスクリプションを確認する必要があります。アラート通知は確認されたアドレスにのみ送信されます。

  6. [Alarm action (アラームアクション)] で、トグルをオンにして、アラームがトリガーされたときに実行するアクションを指定します。アクションを選択します。

  7. [Alarm thresholds (アラームのしきい値)] で、アラームのメトリクスと条件を指定します。

    [Group samples] (サンプルグループ化) ([Average] (平均)) と [Type of data to sample] (サンプリングするデータのタイプ) (ステータスチェックも失敗) をデフォルト設定のままにするか、または必要に応じて変更することもできます。

    [Consecutive period] (連続期間) の場合、評価する期間数を設定し、[Period] (期間) で、アラームをトリガーして E メールを送信するまでの評価の間隔を入力します。

  8. (オプション) [Sample metric data] (サンプルメトリクスデータ) の場合、[Add to dashboard] (ダッシュボードに追加) を選択します。

  9. [Create] (作成) を選択します。

インスタンスステータスのアラームを変更する必要がある場合は、そのアラームを編集できます。

コンソールを使用してステータスチェックアラームを編集するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. インスタンスを選択し、[Actions (アクション)]、[Monitoring (モニタリング)]、[Manage CloudWatch alarms (CloudWatch アラームの管理)] の順に選択します。

  4. [Manage CloudWatch alarms (CloudWatch アラームの管理)] ページの [Add or edit alarm (アラームの追加または編集)] で、[Edit an alarm (新しいアラームの編集)] を選択します。

  5. [Search for alarm (アラームの検索)] で、アラームを選択します。

  6. 変更が完了したら、[Update (更新)] を選択します。

AWS CLI を使用したステータスチェックアラームの作成

次の例では、インスタンスが少なくとも 2 つの連続する期間内にインスタンスチェックまたはシステムステータスチェックに失敗した場合、アラームが SNS トピックに通知 arn:aws:sns:us-west-2:111122223333:my-sns-topic を発行します。使用する CloudWatch メトリクスは StatusCheckFailed です。

AWS CLI を使用してステータスチェックアラームを作成するには
  1. 既存の SNS トピックを選択するか、新しいキーペアを作成することができます。詳細については、AWS Command Line Interface ユーザーガイドの「Amazon SNS での AWS CLI の使用」を参照してください。

  2. Amazon EC2 の使用可能な Amazon CloudWatch メトリクスを表示するには、list-metrics コマンドを使用します。

    aws cloudwatch list-metrics --namespace AWS/EC2
  3. アラームを作成するには、次の put-metric-alarm コマンドを使用します。

    aws cloudwatch put-metric-alarm --alarm-name StatusCheckFailed-Alarm-for-i-1234567890abcdef0 --metric-name StatusCheckFailed --namespace AWS/EC2 --statistic Maximum --dimensions Name=InstanceId,Value=i-1234567890abcdef0 --unit Count --period 300 --evaluation-periods 2 --threshold 1 --comparison-operator GreaterThanOrEqualToThreshold --alarm-actions arn:aws:sns:us-west-2:111122223333:my-sns-topic

    期間は Amazon CloudWatch メトリクスが収集される期間 (秒) です。この例では、60 秒に 5 分を乗算した 300 を使用します。評価期間は、メトリクスの値がしきい値と比較されなければならない連続した期間の数です。この例では 2 を使用します。アラームアクションは、このアラームがトリガーされたときに実行するアクションです。この例では、Amazon SNS を使用してメールを送信するようにアラームを設定します。