AWS re:Postを使用することにより、以下に同意したことになります AWS re:Post 利用規約

ApplicationLoadBalancerのヘルスチェックがunhealthyのまま改善しない

0

お世話になります。

表題の件について、ご協力を仰ぐことができればと思い、スレッドを立てさせていただきます。

現在、ドメインのSSL化のためにアプリケーションロードバランサーを使い、
該当インスタンスに接続しています。
しかし、ロードバランサーのヘルスチェックがいつまでもunhealthyのままになってしまっています。

しかしながら、該当ドメインをブラウザで接続すると、きちんと画面は表示され、
速度が極端に遅いなどの症状も見られません。

ロードバランサーを新しく立て直すなどの対策もしましたが、効果がありませんでした…。
根本的に、VPCやサブネット、サブドメインの設定か、何かが間違っている可能性が高いのですが、
どのようにすれば解決するか全く見立てがつきません…。

以下、まずはお出しする情報です。※「この項目を教えて」とご指摘いただければ、開示できる範囲でお出しします。

■Route 53
ふたつのサブドメインを同じロードバランサーに向けて指定。

■ApplicationLoadBalancer
ap-northeast-1a
ap-northeast-1c
ふたつのAZに配置されたサブネットに向けています。
ただし、必要とするインスタンスはひとつしかないので、ap-northeast-1c側のサブネットの中は空っぽです。

リスナーはHTTP(80)・HTTPS(443)両方を開き、証明書は間違いなく合致するものを選択しております。

■TargetGroup
ap-northeast-1a内にあるインスタンスに向けており、ポートはHTTP(80)。
ヘルスチェックは /index.html に設定、ポートはトラフィックポート、
正常のしきい値は3、非正常のしきい値は2、タイムアウト20秒、間隔30秒、成功コード200.

■インスタンス
Apacheでふたつのサブドメインを受けるようにマルチドメイン化。
どちらのサブドメインのWebルート上にもindex.htmlは設置しており、ブラウザで表示確認済み。
片方のサブドメインはTomcatのディレクトリに転送しています。

そもそもブラウザできちんと表示されているのに、どうしてヘルスチェックだけ通らないのか
状況がまったく分からず、混乱しております。
みなさまのお知恵をお借りできればと思います。よろしくお願いいたします。

【追記】
index.htmlに自分でブラウザよりアクセスして、Apacheのaccess.logを確認したところ、きちんと200を返しています。が、ロードバランサーのヘルスチェックのアクセスはログが出ていますが、404を返しています。

Edited by: imagamuk on Feb 5, 2019 9:37 PM

1回答
0

ApplicationLoadBalancer(以下 ALB と略します)にて、ヘルスチェックがいつまでも unhealthy のままになってしまう状況とお伺いしております。

ALB のトラブルシューティングに関するドキュメントをご紹介させていただきます。

・Application Load Balancer のトラブルシューティング
https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/load-balancer-troubleshooting.html

インスタンスがヘルスチェックに合格しないケースについては、上記ドキュメント内の「登録されたターゲットが実行中でない」の項目をご参照くださいませ。

考えられる原因としては、セキュリティグループやネットワークコントロールアクセスリスト(ACL)にてトラフィックが許可されていないことなどがございます。

また、以下のように 404 エラー(Not Found)が発生しているという状況では、ヘルスチェックに指定したパスとインスタンス上の実際のパスが一致していないといった可能性もございます。

===
【追記】
index.htmlに自分でブラウザよりアクセスして、Apacheのaccess.logを確認したところ、きちんと200を返しています。が、ロードバランサーのヘルスチェックのアクセスはログが出ていますが、404を返しています。

Apache 側の access.log もご確認いただきながら、上記 ALB のトラブルシューティングのドキュメントをご一読いただき、切り分けを実施いただけますでしょうか。

AWS
サポートエンジニア
回答済み 6年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン