djangoで制作したサイトをApp Runnerでデプロイしたが、画像だけ投稿できない。

0

djangoで開発した簡単なメモサイト(画像を伴う投稿が追加、削除できる)を制作しました。データーベースにMySQLを使用。RDSとS3を紐付けてDockerでコンテナ化しました。ローカル環境では問題なく動作します。問題はAppRunnerでデプロイしたサイトのほうなのですが。投稿の表示、削除は可能でした。また画像を添付しないテキストだけの投稿は可能です。ところが画像を添付すると長いローディングに入りタイムアウトしてしまい、投稿の追加ができない状況になっています。時間をかけて調べていますが解決できていません。考えられる原因を教えてくださるとうれしいです。 現状から以下のことには成功していると考えています。

  1. AppRunner自体の設定
  2. データベース接続の設定(データベースのホスト、ユーザー名、パスワード等)とAWS RDSの設定(セキュリティグループの設定など)
  3. S3バケットへのアクセス許可(AWS IAM ユーザーの設定など)とS3設定
  4. VPCおよびセキュリティグループの設定
1回答
1
承認された回答

おそらくですがS3への通信がVPCを経由したものになっている可能性が高いです。
なのでゲートウェイ型のVPCエンドポイントをRDSが起動しているVPCに作成してみてください。
https://aws.amazon.com/jp/blogs/news/new-for-app-runner-vpc-support/

VPC に接続すると、AppRunner サービスからすべてのアウトバウンドトラフィックが VPC ルーティングルールに基づいてルーティングされます。NAT ゲートウェイへのルートで許可されない限り、サービスはパブリックインターネット (AWS API を含む) にアクセスできません。また、Amazon Simple Storage Service (Amazon S3)や Amazon DynamoDB などの AWS API に接続するように VPC エンドポイントを設定して、NAT トラフィックを回避することもできます。

S3ゲートウェイ型VPCエンドポイントの作成は以下のドキュメントを参考に設定してみてください。
https://docs.aws.amazon.com/ja_jp/vpc/latest/privatelink/vpc-endpoints-s3.html

profile picture
エキスパート
回答済み 10ヶ月前
  • エンドポイントを設定したら投稿できるようになりました!本当に助かりました! Amazonのサポート担当の方が2日以上かかっても解決していなかったのに、この少ない情報で一発で原因を突き止めてしまうなんて本当にすごいです。。。ありがとうございます!

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

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

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