メニュー
AWS Lambda
開発者ガイド

AWS Lambda の制限

Lambda 関数」に説明されているように、カスタムコードを依存関係ごとパッケージ化し、AWS Lambda にアップロードすると、Lambda 関数を作成したことになります。ただし、たとえばデプロイパッケージのサイズや呼び出しごとに Lambda 関数に割り当てられるメモリの量など、AWS Lambda によって適用される制限があります。このセクションでは、このような AWS Lambda の制限について説明します。

AWS Lambda の制限

呼び出しごとの AWS Lambda リソース制限

リソース 制限
メモリの動的な範囲 最小 = 128 MB/ 最大 = 1536 MB (64 MB 単位). 最大メモリ使用量を超えた場合は、関数の呼び出しが終了します。
一時ディスク容量 ("/tmp" スペース) 512 MB
ファイル記述子の数 1,024
プロセスとスレッドの数 (両者の合計) 1,024
リクエストあたりの最大実行時間 300 秒
Invoke」リクエスト本文のペイロードサイズ (RequestResponse/同期呼び出し) 6 MB
Invoke」リクエスト本文のペイロードサイズ (イベント/非同期呼び出し) 128 K

リージョンごとの AWS Lambda アカウントの制限

リソース デフォルトの制限
同時実行数 (「Lambda 関数の同時実行」を参照) 1,000

同時実行数の制限の引き上げをリクエストするには

  1. AWS Support Center ページを開き、必要に応じてサインインし、[Create case] をクリックします。

  2. [Regarding] で [Service Limit Increase] を選択します。

  3. [Limit Type] で [Lambda] を選択し、フォームにある必須フィールドを入力して、希望する連絡方法のページの下部にあるボタンをクリックします。

注記

AWS は、Amazon S3 バケットから関数をトリガーする場合のように、関数が受信イベントレートに一致できるように、ユーザーに代わって同時実行数の制限を自動的に引き上げます。

次の表は、Lambda 関数のデプロイに関するサービス制限を示しています。

AWS Lambda デプロイメントの制限

項目 デフォルトの制限
Lambda 関数デプロイパッケージのサイズ (圧縮 .zip/.jar ファイル) 50 MB
リージョンあたりの、アップロードできるすべてのデプロイパッケージの合計サイズ 75 GB

デプロイパッケージ (非圧縮 .zip/.jar サイズ) に圧縮できるコード/依存関係のサイズ

注記

Lambda 関数ごとに、追加で 500 MB の非永続ディスクスペースがそれぞれの /tmp ディレクトリに用意されます。/tmp ディレクトリは、依存関係ライブラリや関数の初期化中のデータセットなど、その他のリソースのロードに使用できます。

250 MB
環境変数セットの合計サイズ 4 KB

AWS Lambda 制限のエラー

前述の制限のテーブルに示されているいずれかの制限を超えた関数は、exceeded limits の例外でエラーとなります。これらの制限は固定されており、現在変更することはできません。たとえば、例外 CodeStorageExceededException、または "Code storage limit exceeded" のようなエラーメッセージを AWS Lambda から受け取った場合は、コードストレージのサイズを減らす必要があります。

コードストレージのサイズを減らすには

  1. 使用しなくなった関数を削除します。

  2. 削除しない関数のコードサイズを減らします。AWS Lambda コンソール、AWS Command Line Interface、または AWS SDK を使用して、Lambda 関数のコードサイズを確認できます。