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

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

新規登録して質問してみよう
ただいま回答率
85.35%
DNSレコード

DNSレコードとは、DNS(ドメインネームシステム)に登録する情報を指します。主なレコードの種類としては「A/AAAA」「PTR」「SOA」「CNAME」「MX」「NS」「TXT」などがあり、それぞれに役割を持ちます。

ロードバランサー

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

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

Elm

Elmは、Functional Reactive Programming(FRP)という概念を持つプログラミング言語です。JavaScriptにコンパイルされており、高度な対話型プログラムを簡単に作成するこができます。

Q&A

解決済

1回答

3348閲覧

ロードバランサーからEC2インスタンスへの接続で502 Bad Gatewayエラーになる

pan2taicho

総合スコア19

DNSレコード

DNSレコードとは、DNS(ドメインネームシステム)に登録する情報を指します。主なレコードの種類としては「A/AAAA」「PTR」「SOA」「CNAME」「MX」「NS」「TXT」などがあり、それぞれに役割を持ちます。

ロードバランサー

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

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

Elm

Elmは、Functional Reactive Programming(FRP)という概念を持つプログラミング言語です。JavaScriptにコンパイルされており、高度な対話型プログラムを簡単に作成するこができます。

0グッド

0クリップ

投稿2021/02/09 10:44

編集2021/02/09 10:46

ロードバランサーからEC2への接続でエラーになります。
具体的には、ターゲットグループのステータスがunhelthy - Health checks failedの状態です。

元々は接続できていたのですが、EC2からlightsailに移行しようとして失敗したので、
設定を元に戻したら接続ができなくなってしまいました。
EC2インスタンスを再起動しており、その際にパブリックIPアドレスは変更されています。

EC2からlight sailへ移行したときの作業

・Route53にて、ホストゾーンのレコードの「トラフィックのルーティン先」をlight sailのIP、DNSに変更
・ドメイン管理サイト側でもネームサーバ設定を変更
・SSL化のために、light sail側で下記コマンドでドメインをSSL化
sudo /opt/bitnami/bncert-tool
⇒もともとCertification managerでSSL化してたので、不要だった?
・EC2インスタンスの停止

移行失敗後、Route53の設定、ネームサーバ設定は元に戻し、EC2インスタンスも起動させています。
また、EC2側でロードバランサーやセキュリティグループ、ターゲットグループの設定は何も変更していません。

ウェブサービスの運営が止まってしまい、焦って1日中へばりついたのですが、一歩も前に進まず・・・
トラブルシューティングの方法すらよくわからず、途方にくれています。
すみませんがよろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

ヘルスチェックに失敗するということは、ターゲットグループに設定したEC2インスタンスが、ALBからのリクエストに対して想定するレスポンス(デフォルトだと80番ポートへのリクエストに対して200を返せばOK、という設定)を返していない、ということです。
元々EC2に置いていた頃とは違うレスポンスを返すようになっているのではないでしょうか。

まず1つ、問題になりうるのがLightSailに移したときにやったことから想像すると恐らくbncert-toolを使って単体でHTTPS化したことです。
このツールを使用するときに、HTTP→HTTPSのリダイレクトを設定していませんか?
もしそうだとすると80番ポートへのリクエストがリダイレクトされるので、レスポンスが200ではなくなりヘルスチェックは失敗扱いになります。
ALBの方でACMを連携させてHTTPS化しているのであれば、EC2側ではそうした設定は不要です。むしろ余計な問題を引き起こすことが多いので推奨しません。
bncert-toolで何をやっているのか詳細は知りませんが、少なくともhttp→httpsへのリダイレクトは解除してください。(EC2がHTTPSでlistenする必要もないのでEC2内での証明書の自動更新やhttpsの設定も解除してよいでしょう。)

もう1つ、上記の場合は恐らくレスポンスが300になるはずですが、ヘルスチェックがBad Gatewayというのであれば、単純に載せているサービスのエラーの可能性が高いです。
アプリケーションのログを見てトラブルシュートしてください。

また、ALBからEC2インスタンスの通信はプライベートネットワークでの通信なので、パブリックIPは関係ありません。

投稿2021/02/09 12:04

yu_1985

総合スコア7588

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

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

pan2taicho

2021/02/09 13:37

ありがとうございます、おっしゃる通りサービス側の単純なエラーでした。お手数おかけしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問