背景

画面からS3にファイルをアップロードする仕組みを構築していました。

実装はできたのですが、1MBを超えるファイルをアップロードすることができないと申告がありました。それ以下ならアップロードできるのですが、、、。

ということで調査した内容です。

S3とALBじゃなかった

S3の問題ではないかと考えて、S3の設定を確認しました。

しかし、アップロードサイズを制限するような設定はありません。

また、ALBも疑いましたが、ALBもサイズ制限をするような設定はありません。

Springだった

そこで、コンテナで動いているJavaアプリを疑いました。

で、ここでCloudWatchLogsを確認します。(先にログを見るべきですね)

以下のようにログが出力されているのを確認しました。

2025-03-xxT11:06:33.025+09:00
org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.
fallback

ファイルアップロードの上限にかかっていることがわりました。

spring.servlet.multipart.max-file-sizeの設定です。この設定をいれてないと、デフォルトで1MBが上限になっているのです。

対応

application.ymlに追加しました。

参考にした記事

Spring MVC ファイルのアップロード #spring - Qiita