17
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

1台のEC2でもELBを使ってALBでハマったこと

Last updated at Posted at 2018-04-01

どうも、僕です。

classmethodさんが書いている記事を参考にEC2のシングル構成のサーバを参考にサーバ構築をして502エラーにハマったのでメモを書いておきます[†1]。

ハマった内容

ブラウザからドメイン経由(Route53)で自作サーバにアクセスしたときに
「502 BAD Gateway」がでる不具合に直面しました。

原因

ALBのヘルスチェックのパスの設定の問題でした[†2]。
ヘルスチェックでエラーにならないページを準備するまたは200番を返却Webアプリケーションを作成することで502エラーを返却しなくなります。

対策

対策を以下に記載しておきます。

  1. ヘルスチェックのパスに合わせてWebアプリケーションを作成すること

    初期値はルートディレクトリを指定されているのでtomcatにルート用のwebアプリケーションがなければROOTフォルダと「index.html」を作成する


  2. ヘルスチェックのフォルダを変更すること

    初期値はルートディレクトを設定しているので作成したそのWebアプリケーションのパスを設定する。

サーバ構成とEC2内の構成(エラーが発生している状況)

AWS シングル構成

サーバ構成.png

ec2内のアプリケーション

サーバ構成_EC2内部.png

「502 bad gateway」エラー

502_BAT_GATEWAY.png

TOMCATの設定

ROOTアプリケーションを作っていない状態です。

・WEBAPPSの中身
 - APPLICATION1
 - APPLICATION2

ALBのヘルスチェック

初期設定:ROOTに対してヘルスチェックする設定となっています。
設定値:「/」

■ ALBのヘルスチェックの設定値
ヘルスチェックの設定値.png

おわりに

この問題を解決するためにALBのログを確認したりしましたが変な値を返却するといったことはありませんでしたので原因を把握するまでに時間がかかってしまいました。

参考

†1:1台のEC2でもELBを使うメリットについてまとめてみました,豊崎隆
https://dev.classmethod.jp/cloud/aws/benefit_elb_with_one_ec2/
†2:ELBとEC2のホームページ運用で502エラー
https://forums.aws.amazon.com/thread.jspa?threadID=247138

17
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?