ベーシックヘルスレポート - AWS Elastic Beanstalk

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ベーシックヘルスレポート

AWS Elastic Beanstalk は、複数のソースからの情報を使用して、環境が利用可能かどうかを判断し、インターネットからのリクエストを処理します。環境の状態は 4 つの色のいずれかで表され、Elastic Beanstalk コンソールの [環境の概要] ページに表示されます。API から、DescribeEnvironmentsおよび EB CLI eb statusで を呼び出すことでも利用できます。

バージョン 2 より前の Linux プラットフォームのバージョンでは、ヘルスレポートシステムは基本ヘルスのみでした。基本的なヘルスレポートシステムは、Elastic Beanstalk 環境におけるインスタンスのヘルスに関する情報を提供します。ロードバランシング環境の場合は Elastic Load Balancing、単一インスタンス環境の場合は Amazon Elastic Compute Cloud によって実行されるヘルスチェックに基づいて、Elastic Beanstalk 環境におけるインスタンスの状態に関する情報を提供します。

EC2 インスタンスのヘルスチェックに加えて、Elastic Beanstalk は、対象環境内のその他のリソースのモニタリングも行い、不足しているリソースや、誤設定のためユーザーに使用不可となったリソースをレポートします。

環境内のリソースによって収集されたメトリクスは、5 分間隔で Amazon CloudWatch に発行されます。これには、EC2 からのオペレーティングシステムメトリクス、Elastic Load Balancing からのリクエストメトリクスが含まれます。これらの CloudWatch メトリクスに基づくグラフは、環境コンソールのモニタリングページで表示できます。基本ヘルスの場合、これらのメトリクスは環境のヘルスステータスを判断するために使用されません。

ヘルスステータスの色

Elastic Beanstalk は、ウェブサーバーの環境のヘルスステータスを、そのサーバーで実行中のアプリケーションによるヘルスチェックへの応答に基づいてレポートします。Elastic Beanstalk は、以下の表に示しているように、4 色のいずれかでステータスを表します。

カラー 説明

Grey

環境が更新中です。

Green

環境が最新のヘルスチェックで合格になりました。環境内の少なくとも 1 つのインスタンスが使用可能であり、リクエストを受け取っています。

黄色

対象環境が 1 つ以上のヘルスチェックで失格になりました。環境へのいくつかのリクエストが失敗しています。

対象環境が 3 つ以上のヘルスチェックで失格になったか、環境のリソースが使用不可になっています。リクエストは一貫して失敗しています。

これらの説明は、基本ヘルスレポートを使用している環境にのみ適用されます。拡張ヘルスの詳細については、「状態の色とステータス」を参照してください。

Elastic Load Balancing のヘルスチェック

負荷が分散されている環境では、インスタンスが正常であることを確認するために、Elastic Load Balancing は環境内の各インスタンスに 10 秒ごとにリクエストを送信します。デフォルトでは、ロードバランサーはポート 80 で TCP 接続を開くように設定されています。インスタンスが接続に応答した場合、そのインスタンスは正常と見なされます。

アプリケーションで既存のリソースを指定することによって、この設定をオーバーライドすることもできます。/health などのパスを指定した場合、ヘルスチェック URL は HTTP:80/health に設定されます。ヘルスチェック URL は、常にアプリケーションによって処理されるパスに設定する必要があります。アプリケーションの前にあるウェブサーバーによって処理またはキャッシュされる静的なページに設定すると、ヘルスチェックはアプリケーションサーバーまたはウェブコンテナで発生する問題を検出しません。ヘルスチェック URL の変更方法については、ヘルスチェック を参照してください。

ヘルスチェック URL が設定されている場合、Elastic Load Balancing では、送信する GET リクエストで 200 OK の応答が返される必要があります。5 秒以内に応答が返されなかった場合、または他の HTTP ステータスコードで応答が返された場合、アプリケーションはヘルスチェックで失格になります。5 回連続してヘルスチェックで失格になった後、Elastic Load Balancing はそのインスタンスをサービスから除外します。

Elastic Load Balancing ヘルスチェックの詳細については、Elastic Load Balancing ユーザーガイドの「ヘルスチェック」を参照してください。

注記

ヘルスチェック URL を設定しても、環境の Auto Scaling グループのヘルスチェック動作は変わりません。正常でないインスタンスはロードバランサーから削除されますが、インスタンス置き換えの判断基準として Elastic Load Balancing ヘルスチェックを使用するように Amazon EC2 Auto Scaling を設定していない場合、そのインスタンスは Amazon EC2 Auto Scaling によって自動的に置き換えられることはありません。Elastic Load Balancing ヘルスチェックに失敗したインスタンスを置き換えるように Amazon EC2 Auto Scaling を設定するには、「Auto Scaling ヘルスチェックの設定」を参照してください。

単一インスタンスおよびワーカー枠環境のヘルスチェック

単一インスタンスまたはワーカー枠環境では、Elastic Beanstalk は Amazon EC2 インスタンスのステータスをモニタリングして、インスタンスの状態を決定します。HTTP ヘルスチェック URL を含む Elastic Load Balancing のヘルス設定は、これらの環境タイプでは使用できません。

Amazon EC2 インスタンスのステータスチェックの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「ステータスチェックでインスタンスをモニタリングする」を参照してください。

追加のチェック

Elastic Load Balancing ヘルスチェックに加えて、Elastic Beanstalk は、対象環境内のリソースのモニタリングを行い、デプロイに失敗したリソースや、誤設定されたリソース、使用不可になったリソースが見つかった場合、そのリソースのヘルスステータスを赤色に変更します。これらのチェックでは、以下のことが確認されます。

  • 環境の Auto Scaling グループと少なくとも 1 つのインスタンスが使用可能である。

  • 環境のセキュリティグループが使用可能で、ポート 80 で受信トラフィックを許可するように設定されている。

  • 環境 CNAME が存在し、正しいロードバランサーを指している。

  • ワーカー環境では、Amazon Simple Queue Service (Amazon SQS) キューは少なくとも 3 分に 1 回ポーリングされています。

Amazon CloudWatch メトリクス

基本的なヘルスレポートでは、Elastic Beanstalk サービスはメトリクスを Amazon に公開しません CloudWatch。環境コンソールのモニタリングページでグラフを生成するために使用される CloudWatch メトリクスは、環境内のリソースによって公開されます。

たとえば、EC2 は対象環境の Auto Scaling グループのインスタンスについて以下のメトリクスを発行します。

CPUUtilization

現在使用中のコンピューティングユニットのパーセンテージ。

DiskReadBytes
DiskReadOps
DiskWriteBytes
DiskWriteOps

読み取りおよび書き込みバイトの数、読み取りおよび書き込みオペレーションの数。

NetworkIn
NetworkOut

送信および受信バイトの数。

Elastic Load Balancing は対象環境のロードバランサーについて以下のメトリクスを発行します。

BackendConnectionErrors

対象環境のロードバランサーとインスタンスとの接続失敗の数。

HTTPCode_Backend_2XX
HTTPCode_Backend_4XX

対象環境内のインスタンスによって生成された成功(2XX)とクライアントエラー(4XX)の応答コードの数。

Latency

ロードバランサーがインスタンスにリクエストを中継してから応答を受信するまでの秒数。

RequestCount

完了したリクエストの数。

これらのリストにはすべてのメトリクスが含まれているわけではありません。これらのリソースについて報告できるメトリクスの完全なリストについては、Amazon CloudWatch デベロッパーガイドの以下のトピックを参照してください。

メトリクス
名前空間 トピック
AWS::ElasticLoadBalancing::LoadBalancer Elastic Load Balancing のメトリクスとリソース
AWS::AutoScaling::AutoScalingグループ Amazon Elastic Compute Cloud のメトリクスとリソース
AWS::SQS::Queue Amazon SQS メトリクスおよびリソース
AWS::RDS::DBInstance Amazon RDS のディメンションおよびメトリクス

ワーカー環境ヘルスメトリクス

ワーカー環境の場合、SQS デーモンは環境ヘルスのカスタムメトリクスを に発行します。ここで CloudWatch、1 の値は Green です。ElasticBeanstalk/SQSD 名前空間を使用して、アカウントの CloudWatch ヘルスメトリクスデータを確認できます。メトリクスディメンションは EnvironmentName、メトリクス名は Health です。すべてのインスタンスが、同じ名前空間にメトリクスを公開します。

デーモンがメトリクスを発行できるように、環境のインスタンスプロファイルに、cloudwatch:PutMetricData を呼び出す権限を付与する必要があります。この権限は、デフォルトのインスタンスプロファイルに含まれます。詳細については、「」を参照してくださいElastic Beanstalk インスタンスプロファイルの管理