👌

[EBのnginx設定方法] ElasticBeanstalkでnginxのタイムアウトを伸ばす

2024/07/26に公開

アプリケーションをElasticBeanstalkにデプロイし、動作を確認したところ
ローカルでは即座に終わる処理がEB上では超絶時間がかかり、タイムアウト。
502 BadGatewayが表示された。

このままでは大変心臓によろしく無いので、EBでnginxのタイムアウト時間を伸ばすよう設定を行った。

1ヶ月後には完全に忘れていると思うので、メモしておく。

[参考リンク]
https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/platforms-linux-extend.html

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 設定を完全に上書きする方法もある。詳しくは参考リンクの公式ドキュメントをチェケラ!

[参考リンク]
https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/platforms-linux-extend.html

Discussion