翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ベーシックヘルスレポート
このトピックでは、Elastic Beanstalk の基本ヘルスが提供する機能について説明します。
AWS Elastic Beanstalk は、複数のソースからの情報を使用して、環境が利用可能かどうかを判断し、インターネットからのリクエストを処理します。環境の状態は 4 つの色のいずれかで表され、Elastic Beanstalk コンソールの [環境の概要] ページに表示されます。また、EB CLIeb statusで を呼び出すことで、 DescribeEnvironmentsAPIおよび からも使用できます。
基本的なヘルスレポートシステムは、Elastic Beanstalk 環境におけるインスタンスのヘルスに関する情報を提供します。ロードバランシング環境の場合は Elastic Load Balancing、単一インスタンス環境の場合は Amazon Elastic Compute Cloud によって実行されるヘルスチェックに基づいて、Elastic Beanstalk 環境におけるインスタンスの状態に関する情報を提供します。
Elastic Beanstalk は、EC2インスタンスの状態を確認するだけでなく、環境内の他のリソースもモニタリングし、ユーザーが環境を使用できなくなる原因となるリソースの欠落や設定ミスを報告します。
環境内のリソースによって収集されたメトリクスは、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 EC2 ヘルスチェックを使用するように Amazon Auto Scaling を設定しない限り、Amazon EC2 Auto Scaling に自動的に置き換えられません。Elastic Load Balancing ヘルスチェックに失敗したインスタンスを置き換えるように Amazon EC2 Auto Scaling を設定するには、「」を参照してくださいAuto Scaling ヘルスチェックの設定。
単一インスタンスおよびワーカー枠環境のヘルスチェック
1 つのインスタンスまたはワーカー階層環境では、Elastic Beanstalk は Amazon インスタンスのステータスをモニタリングしてEC2インスタンスのヘルスを判断します。ヘルスチェック などの Elastic Load Balancing HTTPヘルス設定はURLs、これらの環境タイプでは使用できません。
Amazon EC2インスタンスのステータスチェックの詳細については、「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 メトリクスは、環境内のリソースによって公開されます。
例えば、 は、環境の Auto Scaling EC2 グループのインスタンスに対して次のメトリクスを発行します。
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::AutoScalingGroup | Amazon Elastic Compute Cloud のメトリクスとリソース |
AWS::SQS::キュー | Amazon SQS メトリクスとリソース |
AWS::RDS::DBInstance | Amazon RDS ディメンションとメトリクス |
ワーカー環境ヘルスメトリクス
ワーカー環境のみの場合、SQSデーモンは環境のヘルスに関するカスタムメトリクスを に発行します。ここで CloudWatch、1 の値は Green です。ElasticBeanstalk/SQSD
名前空間を使用して、アカウントの CloudWatch ヘルスメトリクスデータを確認できます。メトリクスディメンションは EnvironmentName
、メトリクス名は Health
です。すべてのインスタンスが、同じ名前空間にメトリクスを公開します。
デーモンがメトリクスを発行できるように、環境のインスタンスプロファイルに、cloudwatch:PutMetricData
を呼び出す権限を付与する必要があります。この権限は、デフォルトのインスタンスプロファイルに含まれます。詳細については、「」を参照してくださいElastic Beanstalk インスタンスプロファイルの管理