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

AWS Lambda の制限

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

  • IAM の制限によって Lambda 関数が影響を受ける可能性があります。詳細については、「IAM エンティティおよびオブジェクトの制限」を参照してください。

  • Lambda@Edge を使用している場合は、追加の制限が適用されます。詳細については、Amazon CloudFront 開発者ガイドの「Lambda@Edge の制限」を参照してください。

このセクションでは、このような AWS Lambda の制限について説明します。

AWS Lambda の制限

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

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

リージョンごとの AWS 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

注記

Lambda 関数の圧縮したデプロイパッケージのサイズが 3MB を超える場合は、Lambda コンソールでインラインコードを編集する機能を使用することはできません。ただし、コンソールを使用して Lambda 関数を呼び出すことができます。

AWS Lambda 制限のエラー

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

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

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

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