AWS App Runner上で動作しているAPIサーバーへの画像アップロード時に 502 bad gatewayのエラーが返ってきてしまう

0

AWS App Runner上にfastapiでAPIサーバーを立ち上げています。 エンドポイントの一つにform-dataで画像のアップロードを受け取るものがあるのですが、 502 Bad Gatewayのエラーが返ってきてしまいます

確認したこと

ログからリクエストがAPIサーバーのアプリケーションへは到達していない 画像のアップロード以外のエンドポイントは正常に動作している 該当のエンドポイントについても画像をアップロードしない場合は問題なく動作する ローカルの開発環境では画像のアップロードも含めて正常に動作する いまのところ確認する項目のあたりもつかず、 解決方法はもちろんですが、確認したほうが良い項目がわかれば非常に助かるという状況です。 よろしくおねがいします。

質問済み 1ヶ月前29ビュー
2回答
0

AWS App Runner上で動作しているAPIサーバーで画像アップロード時に502 Bad Gatewayエラーが発生する問題について、以下の点を確認および検討することをお勧めします:

  1. リクエストサイズの制限: App RunnerやALB(Application Load Balancer)にはデフォルトのリクエストサイズ制限があります。画像ファイルのサイズがこの制限を超えている可能性があります。App Runnerの設定でリクエストサイズの制限を確認し、必要に応じて増やしてみてください。

  2. タイムアウト設定: 画像アップロードに時間がかかり、App Runnerのデフォルトタイムアウト設定を超えている可能性があります。タイムアウト設定を長くすることで問題が解決するかもしれません。

  3. メモリ使用量: 大きな画像ファイルを処理する際にメモリ不足が発生している可能性があります。App Runnerインスタンスのメモリ使用量を監視し、必要に応じてメモリ割り当てを増やしてください。

  4. ネットワーク設定: App Runnerの設定で、VPCコネクタやセキュリティグループの設定が適切であることを確認してください。ネットワーク設定の問題が502エラーの原因となる可能性があります。

  5. アプリケーションログ: App Runnerのログ設定を確認し、詳細なアプリケーションログを有効にしてください。これにより、エラーの根本原因を特定するのに役立つ可能性があります。

  6. CloudWatch指標: App RunnerのCloudWatch指標を確認し、CPU使用率、メモリ使用率、リクエスト数などの異常がないか確認してください。

  7. ステージング環境でのテスト: 可能であれば、本番環境と同じ設定のステージング環境を作成し、そこで画像アップロードのテストを行ってください。これにより、環境固有の問題を特定しやすくなります。

  8. App Runner設定の再確認: App Runnerの設定、特にポート設定やヘルスチェックの設定が正しいことを確認してください。

これらの点を確認し、必要に応じて調整することで、問題の原因を特定し解決につながる可能性があります。問題が解決しない場合は、AWS サポートに連絡して詳細な調査を依頼することも検討してください。
Sources
AWS App Runner endpoints and quotas - AWS General Reference
HTTP 502 status code (Bad Gateway) - Amazon CloudFront
How to debug 502 errors on ELB | AWS re:Post

profile picture
回答済み 1ヶ月前
0

AppRunnerには120 秒のタイムアウト制限があるのですが、それが原因でアップロードに失敗しているといったことは無いでしょうか?
https://docs.aws.amazon.com/apprunner/latest/dg/develop.html#develop.considerations

他にはログにリクエストが記録されていないということなので、AppRunnerに届く前にリクエストがブロックされていたりする可能性があると思います。
例えばAWS WAFなどを紐づけていた場合はWAFでブロックされているといったことが考えられます。
https://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/waf.html

profile picture
エキスパート
回答済み 1ヶ月前

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

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

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

関連するコンテンツ