web-dev-qa-db-ja.com

Elastic Beanstalkで環境がREDヘルスになる理由を知る方法は?

私は AWS Elastic Beanstalk を使用していますが、環境をデプロイすると、ヘルスチェックが赤に変わりますが、その理由の説明が見つかりません。

AWS Elastic Beanstalk dashboard

Monitorをクリックしてもあまり役に立ちません:

AWS Elastic Beanstalk monitor

環境が赤くなる理由についてより具体的な情報を入手する方法はありますか?

詳細については、EC2にこの環境の正常なインスタンスがあり、SSHを実行してHTTPリクエストに応答しますが、ロード時は http://xxx.elasticbeanstalk.com/ ブラウザから、リクエストがタイムアウトします。

4
Benjamin

これは古い質問ですが、このWebサイトにアクセスする人々のために、ここに更新があります。 Elastic Beanstalkは、拡張アプリケーションのヘルスモニタリングのサポートを最近発表しました。

https://aws.Amazon.com/blogs/aws/elastic-beanstalk-update-enhanced-application-health-monitoring/

健康の色とともに、環境の健康が移行する理由を英語で説明する「原因」も発見できます。

拡張ヘルスレポートについては、こちらもご覧ください。 http://docs.aws.Amazon.com/elasticbeanstalk/latest/dg/health-enhanced.html

4
Rohit Banga

AWSはヘルス画面ではほとんど役に立たず、画面に「重度」と表示されるだけです。メイン画面でも確認できますが、Amazonのプログラマーがかなり役に立たない画面を作成するのはなぜでしょうか。コードのデプロイ中にこれが発生した場合、その理由の1つは、インスタンスt1.microまたはt2.microが割り当てられ、非常に少量のリソースを共有していることです。展開中はリソースを利用できないようです。あなたが支払う準備ができているなら、あなたはあなたの資源を手に入れます。

3
Not yet

正しいアドレスで返信していることを確認する必要がある場合があります。

サーバーアクセスログをチェックして、beanstalkがヒットしようとしているものを確認し、そのアドレスで応答することを確認します。

0
Drew Khoury

これがまさに私の問題でした。私のアプリケーションでは、ログインしていないユーザーがログインページ(302)にリダイレクトされます。 EC2インスタンスの「LOAD BALANCING」の下にある「ターゲットグループ」の「ヘルスチェック」タブを編集しました。すでに存在する200に302を追加しました(カンマ区切り)。現在は機能しています。

0
Marc S.

Elastic Beanstalkは、ELBによって提供されるアプリケーションヘルスチェックモニタリングを使用して、インスタンスに異常がないかどうかを検出します。これは、アプリケーションのデプロイ中でも継続されます。アプリケーションの起動とデプロイに長い時間がかかる場合、ELBは再起動中に1つ以上のインスタンスが正常でないことを確認し、Elastic Beanstalkが正常性ステータスを「黄色」または「赤色」に変更します。

ただし、これが根本的な原因である場合、ステータスはまもなく「緑」に戻るはずです。ヘルスチェックが赤のままの場合は、アプリケーションに別の問題がある可能性があります。

0
Ken Liu

私にとって、これは次の理由であることがわかりました:

  1. 302のようなものに行った場合、/および200に直接移動すると、アプリケーションはコード/index.htmlを返し、デフォルトのヘルスチェックパスは/です。
  2. ロードバランサーはコード200のみを探しました。

それはそのような詳細になることができます。したがって、ロードバランサーのヘルスチェックと、取得している特定のリターンコード、または同様に単純なものから始めることから始めます。

0
snetch