サーバレス練習帳

着眼大局着手小局

ALB502の回避策

tech.videor.co.jp

qiita.com

ALBでは、リクエストボディは最大1MB(超過時は413エラー)、レスポンスボディも最大1MB(超過時は502エラー)となる。

・・・なんてことが書いてあったぞ。
レスポンスボディのサイズを測定できないかな?
Chromeの開発者メニューから測定できるよね。
ALBでは、リクエストボディは最大1MB(超過時は413エラー)、レスポンスボディも最大1MB(超過時は502エラー)となる。

3,300件のデータ表示のうち件数を少なくしても、888kBあるわ。

実際は、Lambad直接の方で900kBのレスポンスになった時点で、ALB経由の方は502を返していた。
まぁ、経由するものによって容量が違うというのはありそうだ。

docs.aws.amazon.com

状況的に、上記URLの

ターゲットは Lambda 関数で、レスポンスボディが 1 MB を超えています。

・・・に、該当するんじゃないかなぁ。
まぁ、 最初からこのようなことは想定内だよね。
せっかく、ajaxを使っているんだから、なんとかなるでしょう。

とはいえ、S3に置く添付ファイルのダウンロードをどうしようかは一考が必要だわ。

まず、これ(DX→S3)を使うかな。
dev.classmethod.jp

そして、S3の署名付きURLを発行するのが良いかもしれない。
aws.amazon.com

こんな感じのことができるかもしれない。
dev.classmethod.jp


https://devio2023-media.developers.io/wp-content/uploads/2017/08/presigned-api-000.png