質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ロードバランサー

ロードバランサー【負荷分散装置】は、複数のサーバへアクセス要求を分散する装置です。 要求を分散することで各サーバが快適な応答速度を保つことを目的としており、 アクセスの多い大規模サイト等は、この装置により 複数のサーバに負荷を分散する事で安定な運用が可能です。

Elastic Load Balancing

Elastic Load Balancingは、Amazon社が提供する、 EC2インスタンス間で自動的にトラフィックの負荷分散を行うサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

0回答

6755閲覧

AWSのロードバランサーの502エラー

退会済みユーザー

退会済みユーザー

総合スコア0

ロードバランサー

ロードバランサー【負荷分散装置】は、複数のサーバへアクセス要求を分散する装置です。 要求を分散することで各サーバが快適な応答速度を保つことを目的としており、 アクセスの多い大規模サイト等は、この装置により 複数のサーバに負荷を分散する事で安定な運用が可能です。

Elastic Load Balancing

Elastic Load Balancingは、Amazon社が提供する、 EC2インスタンス間で自動的にトラフィックの負荷分散を行うサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

1クリップ

投稿2017/03/08 08:58

編集2017/03/09 12:54

現在の状況は以下のようなものです。

・EC2上でサーバーの設定を行いコードデプロイしてあり、http://{EC2のパブリックDNS}:3000とURLを入力すると、正常にウェブアプリを動かすことができる

・このインスタンスをアプリケーションロードバランサにアタッチして、Route53の「A-IPv4 address」のAliasをYesにしてAlias TargetにロードバランサのDNS名を入力。そして、URL欄に独自ドメインを入力すると「502 Bad Gateway awselb/2.0」と表示される(ロードバランサにはSSLを設置しています)

原因を調べると「インスタンスからの応答の形式が適切でないか、ロードバランサーに問題がある」ということなのですが、具体的にどのように解決すれば良いのかわかりません。
もしかしたら基本的すぎることなのかもしれませんが、解決策を教えていただけると助かります。
よろしくお願いいたします。

【追記】
http://{ロードバランサーのDNS}だと独自ドメインアクセス時と同様の「502 Bad Gateway awselb/2.0」という画面が表示されてしまいます。
また、https://{ロードバランサーのDNS}だと以下の画面が表示されます。

エラー画面

ロードバランサーの設定は以下の通りです。
・インターネット向け
・新しいアプリケーションロードバランサを使用していますが、パスによるルーティングなどの設定はしていません。

セキュリティグループの設定は以下
《ロードバランサ》
インバウンド
HTTP(80):送信元(0.0.0.0/0)
HTTPS(433):送信元(0.0.0.0/0)
アウトバウンド
HTTP(80):送信先(EC2のあるセキュリティグループ)
HTTPS(433):送信先(EC2のあるセキュリティグループ)
カスタムTCP(3000):(EC2のあるセキュリティグループ)

《EC2》
インバウンド
HTTP(80):送信元(ロードバランサのあるセキュリティグループ)
HTTPS(433):送信元(ロードバランサのあるセキュリティグループ)
SSH(22):送信元(自分のIPのみ)
カスタムTCP(3000):(0.0.0.0/0とロードバランサのあるセキュリティグループ)
アウトバウンド
HTTP(80):送信先(ロードバランサのあるセキュリティグループ)
HTTPS(433):送信先(ロードバランサのあるセキュリティグループ)
MYSQL/Aurora(3306);送信先(RDSのあるセキュリティグループ)

《ロードバランサのターゲットグループのヘルスチェック内容》
ヘルスチェック内容

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaichiYanagiya

2017/03/08 09:31

http://ロードバランサーのDNS名/ ではアクセスできるのですか? ロードバランサーの設定を教えてください。 バックエンドの EC2インスタンスのポートは 3000 になっているか、など。
退会済みユーザー

退会済みユーザー

2017/03/08 11:13

コメントいただきありがとうございます。 エンジニアではないのであまりこのようなことに詳しくないのですが、現状の設定を質問内容に追記してみました。もし他に何か必要な情報があればこちらで教えて下さい。
gorogoroIT

2017/03/08 11:38 編集

ロードバランサー(ELB)のヘルスチェックの設定は、わかりますでしょうか。「Ping Protocol」「Ping Port」「Ping Path」の設定内容が気になります。(以下、追記) 書いたものの、Application Load Balancer のヘルスチェックの項目と合っていなかったようです。
退会済みユーザー

退会済みユーザー

2017/03/08 12:00

Application Load Balancerのヘルスチェックの項目を調べれば何かわかる可能性が高いということでしょうか?
gorogoroIT

2017/03/08 12:52

そうですね。ヘルスチェックの設定項目の「プロトコル」「パス」「ポート」「成功コード」の内容で、ロードバランサー側はEC2のステータスを管理しています。ロードバランサーがEC2にリクエストを投げたときのレスポンスと成功コードが合わなければ、ステータスはダウン(unhealthy)とかになると思われます。
退会済みユーザー

退会済みユーザー

2017/03/09 12:55

遅くなってしまい申し訳ございません。ヘルスチェックの項目のスクリーンショットを上記質問内容最下部に追加したのですが、こちらから何かわかることはありますでしょうか?
退会済みユーザー

退会済みユーザー

2017/03/09 12:56

また、確かにターゲットグループの登録されたインスタンスの状態の項目が「unhealthy」となってしまっています。
batchi

2017/03/13 05:39

gorogoroITさんが気にされていたのは、「間隔」の下部の「成功コード」の部分かと思いますので、そこも映っているとより良いかと思います。ちなみに、追加された画面ショットでは「ヘルスチェック」タブを選択されていますが、となりの「ターゲット」タブで、「登録されたインスタンス」の「ポート」は「3000」を指定しているでしょうか?
退会済みユーザー

退会済みユーザー

2017/03/15 02:20

すいません。こちらはnginxの設定ミスで無事直りました。
退会済みユーザー

退会済みユーザー

2017/03/15 02:20

コメントいただきありあとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問