[アップデート] AWS Lambda の非同期呼び出しペイロードサイズ上限が 256 KB から 1 MB に拡張されました

[アップデート] AWS Lambda の非同期呼び出しペイロードサイズ上限が 256 KB から 1 MB に拡張されました

2025.10.25

こんにちは、製造ビジネステクノロジー部の若槻です。

AWS Lambda の非同期呼び出しペイロードサイズの上限が 256 KB から 1 MB に拡張されるアップデートがありました。

https://aws.amazon.com/jp/about-aws/whats-new/2025/10/aws-lambda-payload-size-256-kb-1-mb-invocations/

AWS ドキュメント(英語版)で Lambda 関数の制限の記載を確認すると、非同期呼び出しペイロードサイズの上限が 1 MB に変更されています。(日本語版では現時点で未更新)

https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html#function-configuration-deployment-and-execution

試してみた

今回のアップデートを受けて、非同期呼び出しペイロードサイズの上限が 1 MB に拡張されたことを確認してみます。

リソース準備

検証用の Lambda 関数を AWS CDK(TypeScript)で作成して準備します。

src/handler.ts
export const handler = async (): Promise<void> => {};
lib/main-stack.ts
import * as cdk from "aws-cdk-lib";
import * as lambda_nodejs from "aws-cdk-lib/aws-lambda-nodejs";
import { Construct } from "constructs";

export class MainStack extends cdk.Stack {
  constructor(scope: Construct, id: string) {
    super(scope, id);

    /**
     * Lambda 関数
     */
    new lambda_nodejs.NodejsFunction(this, "LambdaFunction", {
      entry: "src/handler.ts",
    });
  }
}

動作確認(1MB未満 → OK)

まずはペイロードサイズが 1 MB 未満の場合に正常に呼び出せることを確認します。

1MB に近いサイズのペイロードを生成します。

python3 << 'EOF' > payload_1000kb.json
import json
target_size = 1024000
overhead = len('{"data":""}')
data_size = target_size - overhead
payload = {"data": "A" * data_size}
print(json.dumps(payload), end='')
EOF

生成したペイロードを指定して Lambda 関数を非同期呼び出しします。

$ aws lambda invoke \
  --function-name $FUNCTION_NAME \
  --invocation-type Event \
  --payload file://payload_1000kb.json \
  --cli-binary-format raw-in-base64-out \
  response_1000kb.json
{
    "StatusCode": 202
}

ステータスコード 202 が返却され、正常に呼び出せることが確認できました。

動作確認(1MB超 → Error)

続いてペイロードサイズが 1 MB を超える場合にエラーになることを確認します。

1MB を超えるサイズのペイロードを生成します。

python3 << 'EOF' > payload_1100kb.json
import json
target_size = 1126400
overhead = len('{"data":""}')
data_size = target_size - overhead
payload = {"data": "A" * data_size}
print(json.dumps(payload), end='')
EOF

生成したペイロードを指定して Lambda 関数を非同期呼び出しします。

$ aws lambda invoke \
  --function-name $FUNCTION_NAME \
  --invocation-type Event \
  --payload file://payload_1100kb.json \
  --cli-binary-format raw-in-base64-out \
  response_1100kb.json

An error occurred (RequestEntityTooLargeException) when calling the Invoke operation: 1126401 byte payload is too large for the Event invocation type (limit 1048576 bytes)

ペイロードサイズが 1 MB を超える場合に RequestEntityTooLargeException エラーが発生することが確認できました。

ちなみに Lambda 関数の呼び出しメトリクスは記録されておらず、同エラー発生時はそもそも関数が呼び出しが行われないようです。

おわりに

AWS Lambda の非同期呼び出しペイロードサイズの上限が 256 KB から 1 MB に拡張されるアップデートがあったのでご紹介しました。

非同期呼び出しは重い処理を依頼する用途が多いにも関わらず、同期呼び出しの制限(6MB)と比べてペイロードサイズが大幅に小さいという矛盾がありましたが、今回のアップデートでその制約が大きく緩和されたと言えるのではないでしょう。

以上

この記事をシェアする

FacebookHatena blogX

関連記事