Lambda 同時実行数(Concurrency)とは?予約・プロビジョンドの使い分け

Lambda 同時実行数は 「ある時点で並列に実行されている Lambda の数」。アカウント全体のデフォルト上限は 1,000 で、関数単位での予約・制限・常時ウォーム維持が可能。スケーリング暴走による下流リソース(DB 等)の過負荷を防いだり、コールドスタートを排除した...

Lambda が同時に実行できる関数インスタンス数の制御。スケール暴走防止と、コールドスタート回避の両面で重要。


1. 概要(端的に)

Lambda 同時実行数は 「ある時点で並列に実行されている Lambda の数」。アカウント全体のデフォルト上限は 1,000 で、関数単位での予約・制限・常時ウォーム維持が可能。スケーリング暴走による下流リソース(DB 等)の過負荷を防いだり、コールドスタートを排除したりする調整弁となる。


2. 何ができるか

  • 同時実行数の上限制御:関数ごとに予約・制限を設定
  • コールドスタート対策:Provisioned Concurrency で常時ウォーム
  • 下流保護:DB に過剰な並列接続が走らないよう制限
  • 重要関数の優先確保:他関数に同時実行枠を奪われない予約

3 種類の同時実行設定

種類内容用途
Reserved Concurrency(予約)関数専用の同時実行枠を確保重要関数の保証、暴走抑止
Provisioned Concurrency(プロビジョンド)常時ウォームのインスタンス数を指定コールドスタート完全排除
Unreserved(未予約)残った枠を関数間で共有一般的な動作

3. 特徴

観点特徴
デフォルト上限アカウント・リージョン全体で 1,000 同時実行
上限引上げサポートケース起票で増枠可
バースト制限初期 500-3000(リージョンによる)、その後毎分 +500
予約の効果「他関数の枠を奪わない」「上限を超えさせない」両刀
プロビジョンドの料金別途課金(ウォーム維持時間に対して)
モニタリングCloudWatch メトリクス ConcurrentExecutions で可視化

バースト動作

新規呼び出しが急増した際、Lambda は瞬時に全数並列起動はしない。

  • 初期バーストキャパシティ:500 〜 3,000(リージョンによる)
  • その後:毎分 500 ずつ増加可
  • 上限到達時は スロットリング(429) が発生

4. 仕組み

Lambda は 「同時に走っているインスタンス数」を秒単位でカウントし、設定された上限と照合する。

構成要素

  • アカウント上限:全関数の同時実行合計(デフォルト 1,000)
  • Unreserved Pool:予約していない関数で共有する枠
  • Reserved Concurrency:特定関数に固定割当
  • Provisioned Concurrency:常時ウォーム維持のインスタンス数

動作の流れ(予約あり)

  1. 関数 A に Reserved Concurrency = 100 を設定
  2. 関数 A は最大 100 並列まで実行可
  3. 101 番目以降のリクエストは 429 スロットリング
  4. 関数 A 以外の枠は Unreserved Pool(残り 900)から消費

スロットリング時の動作

呼び出しソース別に挙動が異なる:

ソーススロットル時の動作
同期(API Gateway/ALB)即時 429 エラー返却
非同期(S3/SNS)自動リトライ(最大 6 時間)
ストリーム(SQS/Kinesis)再試行で詰まり、メッセージが滞留

Provisioned Concurrency の仕組み

  • 指定数のコンテナを 常時ウォームで保持
  • コールドスタートゼロ
  • ウォーム保持時間に対して別途課金(実行時間とは別)
  • Auto Scaling と組み合わせて時間帯別に増減可

5. ユースケース

ユースケース 1:DB 接続数の制御

RDS の max_connections を超えないよう、Lambda 側で同時実行数を制限。

ユースケース 2:レイテンシ要件の厳しい API

Provisioned Concurrency で常時ウォーム → 100% ウォームスタートで数 ms 応答。

ユースケース 3:重要関数の優先保護

他関数のスケール暴走で 1,000 枠を使い切った時にも、重要関数を予約で保護。

ユースケース 4:外部 API のレート制限尊重

1 秒 10 リクエストまでの外部 API を呼ぶ Lambda の同時実行を 10 に制限。

ユースケース 5:コスト制御

予期せぬスパイクで Lambda が暴走しないよう、関数ごとに上限設定。


6. 関連用語

  • Lambda — 同時実行制御の対象
  • Lambda-Layers — 関連 Lambda 機能
  • SQS — Lambda の同時実行と組み合わせて使うキュー
  • CloudWatch — 同時実行数の監視

7. 関連サイト

AWS 公式

参考


🎓 試験での出題傾向

試験重要度主な出題パターン
CLF出題稀
SAA「DB 接続が逼迫 → Lambda 同時実行数制限 + RDS Proxy」
DVAコールドスタート対策、Reserved/Provisioned の使い分け
SOA同時実行数モニタリング、スロットリング対応