2016-06-16 14 views
3

私はAWS ELBを使用しています。 ELBのグラフを見た後、5XXのエラーはほとんどありませんでした。私はログを有効にし、ELBログのエラーが504だったので、登録されたインスタンスへのapi callのうちの1つがタイムアウトになったことを知りました。 5XXというレスポンスが返ってきた場合は、登録されたインスタンスを再度監視しましたが、そうではありませんでした。 nginxキープアライブタイムアウトは15sに設定され、ELBのタイムアウトは60sです。したがって、要求がELBレベルではなくインスタンスレベルでタイムアウトしているはずです。誰でもエラーの可能性があるシナリオを示唆することはできますか?AWS ELBが5XXを投げますが、登録されたインスタンスが5XXエラーを投げていません

+0

ELBが設定済みのポートに接続できるようにするバックエンドインスタンスのセキュリティグループにエントリがありますか? –

+0

@ KarenBポートは80ですべてオープンで、ELBは毎回特定のapiコールでその5XXをスローします。 –

+0

nginxは、504がタイムアウトであるため、504を記録しません。それはある種の容量問題のように聞こえる。インスタンスの正常性を確認し、データベースに問い合わせる場合は、要求されたデータを適切な時間内に返すことができることを確認してください。 –

答えて

1

ELBにnginxによって504が返されていません。 ELBは、APIインスタンスからの応答を待つためにタイムアウトするため、504を返します。これは、nginxが、処理を終了していないクエリでHTTPステータスコードを返すこともできないことを意味します。この文書で言うように、あなたのインスタンスのキープアライブ時間は、少なくともELBタイムアウトのサイズ以上でなければなりません。 http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-error-message.html#ts-elb-errorcodes-http504

関連する問題