👌
[EBのnginx設定方法] ElasticBeanstalkでnginxのタイムアウトを伸ばす
アプリケーションをElasticBeanstalkにデプロイし、動作を確認したところ
ローカルでは即座に終わる処理がEB上では超絶時間がかかり、タイムアウト。
502 BadGatewayが表示された。
このままでは大変心臓によろしく無いので、EBでnginxのタイムアウト時間を伸ばすよう設定を行った。
1ヶ月後には完全に忘れていると思うので、メモしておく。
[参考リンク]
ElasticBeanstalkでのnginx設定方法
ElasticBeanstalkでは、コンソール上でnginxのタイムアウト設定を変更することができない。
設定を書き込んだファイルを、特定の形式でプロジェクトファイルに埋め込み、デプロイする必要がある。
本記事では、nginx設定を拡張する。
プロジェクトファイルのルート直下に .platform
フォルダを作成。
その配下にnginx
フォルダ、更にその配下にconf.d
フォルダを作成し、内部に任意のファイル名.conf
ファイルを作成する。
任意のファイル名.conf
にnginxの設定を拡張する設定を書き込む。
今回の例ではタイムアウト時間を15分(900秒)に伸ばしたかったので以下のように記述した
proxy_read_timeout 900;
proxy_connect_timeout 900;
proxy_send_timeout 900;
send_timeout 900;
これでタイムアウト時間を900秒に変更できる。後はEBにデプロイすればOK。
補足
.ebextentions
に記述する方法ではnginxの設定が行えず、非常に頭を悩ませた。
本記事ではnginxの設定を拡張する方式であるが、デフォルトの nginx 設定を完全に上書きする方法もある。詳しくは参考リンクの公式ドキュメントをチェケラ!
[参考リンク]
Discussion