困っていること
下記の通り、「upstream request timeout」が発生しており、考えられるタイムアウト時間は設定していますが、設定している時間より明らかに短い時間でタイムアウトが発生してしまっています。
同じイメージを用いてローカル環境で実行した場合、デフォルト値よりも長い時間(設定値以内)でもタイムアウトは発生しないため、設定ファイルの問題はないと判断しています。
解決方法(下記以外にタイムアウトに関連する設定等)についてご教授お願いします。
前提
ECS on EC2 にコンテナ(apache)と(django)を作成
webブラウザからのリクエストは alb → apache → uWsgi → djangoアプリ となります。
albのアイドルタイムアウトには600秒を指定
apacheの設定に以下を指定
・Timeout 600
・ProxyTimeout 600
・KeepAliveTimeout 600
・RequestReadTimeout header=20-120,MinRate=500 body=120,MinRate=500
uwsgiの設定には「harakiri = 600」を指定
事象
・ファイルのアップロード処理でタイムアウトが発生
・アップロードファイルはDjangoのアプリ経由でS3にファイルを保存
・軽いファイルであれば問題なく処理がされS3にも保存されている
・アップロードに10秒程度かかる場合に、事象が発生する。
・エラーになってもS3にはファイルがアップロードされている
・同じイメージ(設定ファイル含む)でローカル環境で実行した場合い、300秒程度でもタイムアウトは発生しない。
apacheのエラーログ
HTTP/1.1" 504 24
画面に表示されるエラーメッセージ
upstream request timeout
追記(2023/09/15)
同じDockerImage及びALBを使用し、他のEC2インスタンスで実行した場合はタイムアウトは発生せず
違いはECSを使用しているかいないかの違いのみ
ECSを使用した場合のみタイムアウトが発生する

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。