web-dev-qa-db-ja.com

AWS:Target.FailedHealthChecks ...サイトは正常に機能しています

私のElastic Beanstalkアプリケーションは常にsevere状態です...まったく問題なく動作しています。

ヘルス画面を見ると、リクエストの100%が3xxであることがわかり、ログを見ると、これは明らかに確認されています。

[29/Nov/2017:10:07:46 +0000] "GET / HTTP/1.1" 302 356 "-" "ELB-HealthChecker/2.0"

/は302を「ログイン」ページにリダイレクトするため、これは完全に理にかなっています。

問題は、ヘルスチェック時に/を使用せず、ログインしているかどうかにかかわらず常に/newsを返す200を使用するようにAWSに指示したことです。 :

enter image description here

ヘルスチェックURLを他の適切なエンドポイントに変更してEC2インスタンスを再起動しようとしましたが、常に/のチェックに戻ります(ログによると)。時間の経過とともに変化するかどうかを確認するために、12時間与えました。

では、なぜ/をチェックし、severe状態を返すのですか?これを修正するにはどうすればよいですか?おそらくセキュリティグループの問題ですか(サイトは一般に公開されていますが)。

5

エラーはアプリケーションロードバランサーのヒースチェックによって引き起こされたようですが、Elastic Beanstalkアプリケーションではありません。 ALBは別の場所でターゲットを変更する必要があります( ドキュメントを参照 )。

私がそれを知っていたら、それは簡単な修正でした:

コンソールを使用してターゲットグループのヘルスチェック設定を変更するには

  1. https://console.aws.Amazon.com/ec2/ でAmazon EC2コンソールを開きます。
  2. ナビゲーションペインの[ロードバランシング]で、[ターゲットグループ]を選択します。
  3. ターゲットグループを選択します。
  4. [ヘルスチェック]タブで、[編集]を選択します。
  5. [ターゲットグループの編集]ページで、必要に応じて設定を変更し、[保存]を選択します。
5