AWS Lambda とは?サーバーレスの仕組み・料金・主要トリガーを徹底解説
AWS Lambda は 「コードをアップロードすれば、サーバーを意識せずに実行できる」 サーバーレスコンピューティングサービス。インフラ管理・OS パッチ・スケーリングはすべて AWS が担い、利用者は 「コード」と「実行トリガー」を定義するだけで動く。リクエスト数とミリ...
サーバー管理不要で、コードを実行できる FaaS(Function as a Service)。AWS のサーバーレス基盤の中核。
1. 概要(端的に)
AWS Lambda は 「コードをアップロードすれば、サーバーを意識せずに実行できる」 サーバーレスコンピューティングサービス。インフラ管理・OS パッチ・スケーリングはすべて AWS が担い、利用者は 「コード」と「実行トリガー」を定義するだけで動く。リクエスト数とミリ秒単位の実行時間で課金される。
2. 何ができるか
- イベント駆動でコード実行:API/HTTP・S3 イベント・SQS・DynamoDB Streams 等
- 複数言語対応:Node.js / Python / Java / Go / .NET / Ruby / カスタム(任意)
- 自動スケール:1 リクエストでも 10,000 並列でも自動で対応
- マイクロ課金:1 ms 単位で実行時間を課金
- VPC 接続:プライベートサブネット内のリソース(RDS 等)にもアクセス可
- Lambda Layers:共通ライブラリを別管理して再利用
- コンテナイメージ対応:最大 10 GB のコンテナイメージで実行可
主なトリガー
- API Gateway(REST/HTTP/WebSocket)
- ALB(直接ターゲット)
- S3(オブジェクト Put/Delete)
- DynamoDB Streams
- SQS / SNS / Kinesis / EventBridge
- CloudWatch Events / Logs
- Cognito / Step Functions
3. 特徴
| 観点 | 特徴 |
|---|---|
| インフラ管理 | 完全不要(OS・Runtime・スケールは AWS 側) |
| 課金 | リクエスト数 + GB-秒(1 ms 単位) |
| 無料枠 | 月 100 万リクエスト + 40 万 GB-秒 |
| 最大実行時間 | 15 分 |
| メモリ | 128 MB 〜 10,240 MB(CPU はメモリ比例) |
| 一時ストレージ | /tmp 512 MB 〜 10 GB |
| 同時実行数(デフォルト) | アカウント全体で 1,000 |
| コードサイズ | 250 MB(zip) / 10 GB(コンテナ) |
コールドスタートとウォームスタート
- コールドスタート:初回起動。コンテナ作成・Runtime 初期化(数百 ms 〜数秒)
- ウォームスタート:既存コンテナ再利用(数 ms 〜数十 ms)
- Provisioned Concurrency:常時ウォーム維持で高速応答(追加課金)
4. 仕組み
Lambda は 「コードを軽量コンテナで実行する」 マイクロ VM 基盤(Firecracker)上で動く。
構成要素
- 関数:実行単位(コード + 設定)
- ランタイム:実行エンジン(Node.js, Python, Java 等)
- トリガー:起動条件(イベントソース)
- デストネーション:成功・失敗時の通知先(SQS/SNS/Lambda/EventBridge)
- 環境変数:設定値の注入
- IAM 実行ロール:Lambda が他 AWS サービスを呼ぶ権限
- VPC 設定:プライベートリソースへのアクセス用
動作の流れ
- トリガー発火:イベントが発生(API リクエスト・S3 PutObject 等)
- 実行環境準備:コンテナがあれば再利用、なければ新規作成(コールドスタート)
- ハンドラ実行:
handler(event, context)を呼び出し - 結果返却:レスポンスをトリガー元に返す(同期)または保存(非同期)
- コンテナ保持:一定時間(〜数十分)アイドル状態で待機
- アイドル超過:コンテナ破棄
同期 / 非同期 / ストリーム呼び出し
- 同期(RequestResponse):API Gateway, ALB → 結果を即返す
- 非同期(Event):S3, SNS, EventBridge → キューイングしてバックグラウンド実行
- ストリーム(Poll):SQS, Kinesis, DynamoDB Streams → ポーリング型
5. ユースケース
ユースケース 1:REST/HTTP API のバックエンド
API Gateway + Lambda + DynamoDB の典型サーバーレス構成。
ユースケース 2:S3 イベント処理
画像アップロード時にリサイズ。CSV アップロード時にバリデーション・DB 投入。
ユースケース 3:定期バッチ
EventBridge スケジュール(cron)で日次・時次バッチ実行。
ユースケース 4:データストリーム処理
Kinesis / DynamoDB Streams からのリアルタイム処理。
ユースケース 5:ChatOps・通知
Slack / Teams への通知 Bot。CloudWatch Alarm → SNS → Lambda → Slack の経路。
ユースケース 6:マイクロサービスの 1 機能
特定の独立した機能(PDF 生成・メール送信・画像変換等)を Lambda 単体で実装。
6. 関連用語
- Lambda-Layers — 共通ライブラリの再利用
- Lambda-Concurrency — 同時実行数の制御
- API-Gateway — Lambda の主要トリガー
- EventBridge — Lambda の主要トリガー
- IAM — Lambda 実行ロール
- CloudWatch-Logs — Lambda のログ出力先
- X-Ray — Lambda のトレーシング
- Step-Functions — 複数 Lambda のオーケストレーション
7. 関連サイト
AWS 公式
参考
🎓 試験での出題傾向
| 試験 | 重要度 | 主な出題パターン |
|---|---|---|
| CLF | 高 | サーバーレスの概念、Lambda の基本 |
| SAA | 高 | サーバーレスアーキテクチャ設計、トリガー選定、VPC 接続の判断 |
| DVA | 高 | Lambda 開発の頻出論点(同時実行・コールドスタート・Layers・Versioning) |
| SOA | 中 | Lambda の監視・ログ・コスト管理 |