Lambda クォータ
重要
新規の AWS アカウントでは、Lambda Functions と Lambda MicroVMs の同時実行性とメモリクォータが低くなっています。これらのクォータは、使用状況に応じて AWS によって自動的に引き上げられます。
AWS Lambda は需要に合わせて迅速にスケールするように設計されているため、関数をスケールアップしてアプリケーションのトラフィックを処理できます。Lambda は、呼び出し間の状態を保持または依存しない、存続期間の短い計算タスク向けに設計されています。コードは 1 回の呼び出しで最大 15 分間実行でき、1 つの関数は最大で 10,240 MB のメモリを使用できます。
お使いのアカウントと他のお客様のワークロードを保護するために導入されているガードレールについて理解することが重要です。Service Quotas はすべての AWS サービスに存在し、変更できないハード制限、ならびに引き上げをリクエストできるソフト制限で構成されています。デフォルトでは、すべての新規アカウントには AWS サービスの探索を許可するクォータプロファイルが割り当てられます。
アカウントに適用されるクォータを確認するには、Service Quotas ダッシュボード
次のセクションでは、Lambda のデフォルトクォータおよび制限をカテゴリ別に一覧表示します。
コンピューティングとストレージ
Lambda では、関数の実行と保存に使用できるコンピューティングおよびストレージリソースの量に対してクォータを設定します。同時実行とストレージのクォータは、AWS リージョン ごとに適用されます。Elastic Network Interface (ENI) クォータは、リージョンにかかわらず、仮想プライベートクラウド (VPC) ごとに適用されます。次のクォータは、デフォルト値から引き上げることができます。詳細については、「Service Quotas ユーザーガイド」の「クォータの引き上げのリクエスト」を参照してください。
| リソース | デフォルトのクォータ | 引き上げることができる最大 |
|---|---|---|
|
同時実行数 |
1,000 |
数万 |
|
アップロードされた関数 (.zip ファイルアーカイブ) と Lambda マネージドストレージを使用するレイヤーのストレージ。各関数バージョンとレイヤーバージョンは、ストレージを消費します。 ストレージの制限を回避する場合、セルフマネージド S3 コードストレージを使用するように関数とレイヤーを設定できます。 コードストレージ管理のベストプラクティスについては、Serverless Land の「Lambda コードストレージのモニタリング |
300 MB (解凍後) |
引き上げ不可。この制限を超えるトレージには、セルフマネージド S3 コードストレージを使用してください。 |
|
コンテナイメージとして定義された関数のストレージ。これらのイメージは Amazon ECR に保存されます。 |
「Amazon ECR サービスクォータ」を参照してください。 |
|
|
仮想プライベートクラウド (VPC) ごとの Elastic Network Interfaces 注記このクォータは、Amazon Elastic File System (Amazon EFS) などの他のサービスと共有されます。「Amazon VPC クォータ」を参照してください。 |
500 |
千 |
|
耐久性のある実行の最大実行数 |
1,000,000 |
数百万 |
同時実行および Lambda がトラフィックに応じて関数の同時実行数をスケーリングする方法の詳細については、「Lambda 関数のスケーリングについて」を参照してください。
関数の設定、デプロイ、実行
関数の設定、デプロイ、実行には、次のクォータが適用されます。特に明記されていない限り、変更できません。
注記
Lambda のドキュメント、ログメッセージ、およびコンソールでは、1024 KB を示すのに (MiB ではなく) MB を使用します。
| リソース | クォータ |
|---|---|
|
関数のメモリ割り当て |
128 MB から 10,240 MB まで、1 MB 単位で増加できます。 注意: Lambda は、設定されたメモリの量に比例して CPU パワーを割り当てます。[メモリ (MB)] 設定を使用して、関数に割り当てられたメモリと CPU パワーを増減できます。1,769 MB の場合、1 つの vCPU に相当します。 |
|
関数タイムアウト |
900 秒 (15 分) |
|
関数の環境変数 |
4 KB (関数に関連付けられたすべての環境変数) |
|
20 KB |
|
|
関数レイヤー |
5 レイヤー |
|
関数の同時実行スケーリング制限 |
各関数について、10 秒ごとに 1,000 の実行環境が必要です。 |
|
呼び出しペイロード (リクエストとレスポンス) |
リクエストとレスポンスにそれぞれ 6 MB (同期) ストリーミングされたレスポンスにそれぞれ 200 MB (同期) 1 MB (非同期) リクエスト行とヘッダー値の合計サイズは 1 MB |
|
ストリーミングレスポンスの帯域幅 |
関数のレスポンスでは、最初の 6 MB には上限がありません 6 MB を超えるレスポンスの場合、残りのレスポンスは 2 Mbps です |
|
50 MB (zip 圧縮済み、Lambda API SDK を介してアップロードした場合)。サイズの大きいファイルは Amazon S3 でアップロードしてください。 50 MB (Lambda コンソール経由でアップロードした場合) 250 MB レイヤーやカスタムランタイムなど、デプロイパッケージの内容の最大サイズ。(解凍済み) |
|
|
コンテナイメージの設定サイズ |
16 KB |
|
コンテナイメージのコードパッケージサイズ |
10 GB (非圧縮のイメージの最大サイズ、すべてのレイヤーを含む) |
|
テストイベント (コンソールエディタ) |
10 |
|
|
512 MB〜10,240 MB、1 MB 刻み |
|
ファイルディスクリプタ |
1,024 注記Lambda マネージドインスタンスは、ファイル記述子の上限である 4,096 を使用します。詳細については、「Lambda マネージドインスタンスの実行環境について理解する」を参照してください。 |
|
実行プロセス/スレッド |
1,024 注記Lambda マネージドインスタンスは Bottlerocket |
|
耐久性のある実行あたりの耐久性のあるオペレーションの最大数 |
3,000 注記詳細については、使用可能な耐久性のあるオペレーションを参照してください。 |
|
メガバイト単位で書き込まれた耐久性のある実行ストレージ |
100 MB 注記実行あたりで耐久性のある関数によって永続化される累積ペイロードサイズ。詳細については、耐久性のあるオペレーションあたりの永続化データを参照してください。 |
Lambda API リクエスト
次のクォータは Lambda API リクエストに関連付けられています。
| リソース | クォータ |
|---|---|
|
リージョンごとの関数あたりの呼び出しリクエスト (同期) |
実行環境の各インスタンスは、1 秒あたり最大 10 件のリクエストを処理できます。つまり、呼び出しの合計上限数は、同時実行数上限の 10 倍になります。「Lambda 関数のスケーリングについて」を参照してください。 |
|
リージョンごとの関数あたりの呼び出しリクエスト (非同期) |
実行環境の各インスタンスは、無制限の数のリクエストを処理できます。つまり、呼び出しの合計上限数は、関数に利用できる同時実行数のみに基づく数になります。「Lambda 関数のスケーリングについて」を参照してください。 |
|
関数のバージョンまたはエイリアスあたりの呼び出しリクエスト頻度 (リクエスト数/秒) |
10 x 割り当て済みのプロビジョニングされた同時実行数 注記このクォータは、プロビジョニングされた同時実行を使用する関数にのみ適用されます。 |
|
GetFunction API リクエスト数 |
1 秒あたり 100 リクエスト。増やすことはできません。 |
|
GetPolicy API リクエスト数 |
1 秒あたり 15 リクエスト。増やすことはできません。 |
|
CheckpointDurableExecution API リクエスト |
1 秒あたり 1,000 リクエスト |
|
GetDurableExecution API リクエスト |
1 秒あたり 30 リクエスト。 |
|
GetDurableExecutionHistory API リクエスト |
1 秒あたり 15 リクエスト。 |
|
GetDurableExecutionState API リクエスト |
1 秒あたり 1,000 リクエスト |
|
ListDurableExecutionsByFunction API リクエスト |
1 秒あたり 15 リクエスト。 |
|
SendDurableExecutionCallbackFailure API リクエスト |
1 秒あたり 300 リクエスト。 |
|
SendDurableExecutionCallbackHeartbeat API リクエスト |
1 秒あたり 300 リクエスト。 |
|
SendDurableExecutionCallbackSuccess API リクエスト |
1 秒あたり 300 リクエスト。 |
|
StopDurableExecution API リクエスト |
1 秒あたり 30 リクエスト。 |
|
残りのコントロールプレーン API リクエスト数 (呼び出し、GetFunction、および GetPolicy リクエストを除く) |
すべての API で 1 秒あたり 15 リクエスト (API ごとに 1 秒あたり 15 リクエストではありません)。増やすことはできません。 |
Lambda MicroVMs
Lambda MicroVMs は、コンピューティング、ストレージ、API リクエストのクォータを設定します。「調整可能」とマークされたクォータは、Service Quotas コンソールを使用して増やすことができます。
注記
Lambda MicroVMs は ARM64 (AWS Graviton) アーキテクチャをサポートします。
コンピューティングとストレージ
| リソース | デフォルトのクォータ | 引き上げ可能 |
|---|---|---|
| すべての MicroVMs にわたって割り当てられたメモリ (アカウントごと、リージョンごと) |
400 GB (2 GB の設定済みメモリごとに 200 MicroVM、または 1 GB の設定済みメモリごとに 400 MicroVM)。 米国東部 (バージニア北部)、米国西部 (オレゴン)、米国東部 (オハイオ)、アジアパシフィック (東京) で 1,024 GB (2 GB の設定済みメモリごとに 512 の MicroVM、または 1 GB の設定済みメモリごとに 1,024 の MicroVM)。 このクォータの最大 4 倍までバースト可能です。 |
はい |
| MicroVM あたりの最大実行時間 | 8 時間 (28,800 秒) | いいえ |
イメージとバージョン
| リソース | デフォルトのクォータ | 引き上げ可能 |
|---|---|---|
| リージョンごとのアカウントあたりの MicroVM イメージ | 100 | はい |
| MicroVM イメージあたりのバージョン数 | 50 | はい |
| 同時イメージビルド (アカウントあたり、リージョンあたり) |
5 米国東部 (バージニア北部) | 米国東部 (オハイオ) | 米国西部 (オレゴン) | アジアパシフィック (東京) で 10 |
はい |
MicroVM あたりのスループット
| リソース | 制限 | 引き上げ可能 |
|---|---|---|
| MicroVM あたりの同時接続数 | 8 (1 vCPU)、16 (2 vCPU)、32 (4 vCPU)、64 (8 vCPU)、128 (16 vCPU) | いいえ |
| MicroVM あたり 1 秒ごとのリクエスト | 40 (4 vCPU/8 GB)、160 (16 vCPU/32 GB) | いいえ |
API レート制限
| API オペレーション: | レート (TPS) | [Burst] (バースト) | 引き上げ可能 |
|---|---|---|---|
RunMicrovm |
5 | 5 | はい |
ResumeMicrovm |
5 | 5 | はい |
SuspendMicrovm |
2 | 2 | はい |
TerminateMicrovm |
10 | 10 | はい |
GetMicrovm |
100 | 100 | はい |
CreateMicrovmAuthToken |
50 | 50 | はい |
CreateMicrovmShellAuthToken |
5 | 5 | はい |
注記
TPS = 1 秒あたりのトランザクション数。これらの制限は、リージョンあたりのアカウントごとに適用されます。ジッター付きのエクスポネンシャルバックオフを使用して、スロットリングされたリクエストを再試行します。
その他のサービス
AWS Identity and Access Management (IAM)、Amazon CloudFront (Lambda@Edge)、Amazon Virtual Private Cloud (Amazon VPC) などの他のサービスのクォータが Lambda 関数に影響を及ぼすことがあります。詳細については、「Amazon Web Services 全般のリファレンス」と「他の AWS サービスからのイベントを使用した Lambda の呼び出し」の「AWS のサービス クォータ」を参照してください。
Lambda を含む多くのアプリケーションは、複数の AWS サービスを使用します。サービスごとにさまざまな機能に対するクォータが異なるため、アプリケーション全体でこれらのクォータを管理することが難しい場合があります。例えば、API Gateway のデフォルトのスロットル制限は 1 秒あたり 10,000 リクエストである一方、Lambda のデフォルト同時実行制限は 1,000 です。この不一致により、Lambda が処理できる API Gateway からの受信リクエストが増える可能性があります。これを解決するには、予想されるトラフィックレベルに合わせて Lambda 同時実行制限の引き上げをリクエストします。
アプリケーションの負荷テストを行うと、アプリケーションを本番稼働にデプロイする前にパフォーマンスをモニタリングできます。負荷テストでは、予想されるトラフィックレベルの制限要因として作用する可能性のあるクォータを特定し、それに応じてアクションを実行することができます。