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

ELBとEC2のホームページ運用で502エラー

0

ELB _ EC2 _ RDSの組み合わせでホームページの運用(1年半程)を行っていましたが、
急にアクセスできない状況が発生しました。
ELBのアクセスログやEC2上のnginxのアクセスログは、アクセスが出来なくなった日時から出力が止まっています。
アクセスログも出力されていないのでELBまでに接続する間に問題があるのかと思い、
tracertやpathpingを使うとawsのサーバーまでは届いているようですが、ELBまでたどり着く前に
タイムアウトとなってしまいます。
DNSの名前解決は問題がなく、
正常に運用していた頃からネットワークセキュリティグループの変更もありません。
発生している問題に対する調査方法や対応方法に関してご存知の方がいらっしゃれば、
ご教授していただきたく投稿しました。

【確認した内容】
・ELBとEC2の再紐つけ
・EC2、nginxの再起動
・tracertやpathpingでのトレース(要求がタイムアウトになりELBまでトレースできず)

よろしくお願いします。

3回答
0

・ELBへはどのようなURLでリクエストしていますか?
ご自身で取得したドメイン(例:example.com)でしょうか?
ELBのDNS名(例:hoge.ap-northeast-1.elb.amazonaws.com)でしょうか?

・ドメインを正引きした時のIPアドレスへ直接アクセスした場合も同じでしょうか?

・EC2直接へのHTTPポート疎通はできているでしょうか?

502とのことでELBかEC2がHTTPのレスポンスを返しているようにも見えます。ブラウザの開発ツールやcurlでレスポンスヘッダなどをみていけばわかるかもしれません。

回答済み 8年前
0

ありがとうございます。

ELBへのリクエストは、自身で取得したドメインでしたが接続できなかったので、
ELBのDNS名やIPアドレスでのアクセスも試してみましたがダメでした。
EC2直接のHTTPポート疎通には問題がない状態です。

現状ですが、サブネットやEC2をELBから切断→再接続を行ってた結果、問題は解決されました。
問題が発生した原因が特定できていない事は不安ですが…
3か月ほど前からHPへの接続がが不定期に遅くなる(30秒ほどかかる)現象が起き始めていたので、
ELBで何か起きていたとは思うのですが。

回答済み 8年前
0

現状問題は解決されたとのことでよかったです。

突発的に発生したとするとELBの障害の可能性もありますね。
断続的に発生するようであれば詳しく調べておいたほうがいいかもしれません。

感覚的に
EC2のアプリケーション側で処理に時間がかかってタイムアウトだと504、
ヘルスチェック失敗してEC2に接続できない場合だと503あたりが出そうなので、

時間がかかってかつ502という事象から見ると、
「EC2までリクエストがいって、処理か接続に時間がかかって、かつレスポンスがおかしい」
みたいな感じかなと思いました。

もし原因特定まで考えるならば、もう既に実施されていることもあるかもしれませんが、

事前に
・nginxアクセスログで通常リクエストとELBヘルスチェックリクエストのログを分離
・nginxアクセスログフォーマットにrequest_timeを追加
あたりを設定しておいて

問題発生時は
・syslog(messages)の確認(高負荷、リソース不足していないか)
・ELBアクセスログ、nginxアクセス&エラーログの確認
・EC2上でtcpdumpなどでHTTPポートに本当にリクエスト来ていないか確認
・もしEC2までリクエストが来ていたらリクエスト・レスポンスヘッダを確認
・もしアプリケーション側でリダイレクトかけていたら、そのリダイレクト先のドメインが引けるか、生きているかの確認
あたりでしょうか...

最悪ELBにもEC2にも痕跡がなくて、不安なようであれば
同じ設定のELBを作成して、そちらにDNS向ける
とかでもいいかもしれません。

以上、思いついたことをつらつらと挙げてみました。
長くてすみません。。^^;

回答済み 8年前

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

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

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

関連するコンテンツ