私の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に指示したことです。 :
ヘルスチェックURLを他の適切なエンドポイントに変更してEC2インスタンスを再起動しようとしましたが、常に/
のチェックに戻ります(ログによると)。時間の経過とともに変化するかどうかを確認するために、12時間与えました。
では、なぜ/
をチェックし、severe
状態を返すのですか?これを修正するにはどうすればよいですか?おそらくセキュリティグループの問題ですか(サイトは一般に公開されていますが)。
エラーはアプリケーションロードバランサーのヒースチェックによって引き起こされたようですが、Elastic Beanstalkアプリケーションではありません。 ALBは別の場所でターゲットを変更する必要があります( ドキュメントを参照 )。
私がそれを知っていたら、それは簡単な修正でした:
コンソールを使用してターゲットグループのヘルスチェック設定を変更するには
- https://console.aws.Amazon.com/ec2/ でAmazon EC2コンソールを開きます。
- ナビゲーションペインの[ロードバランシング]で、[ターゲットグループ]を選択します。
- ターゲットグループを選択します。
- [ヘルスチェック]タブで、[編集]を選択します。
- [ターゲットグループの編集]ページで、必要に応じて設定を変更し、[保存]を選択します。