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 設定:プライベートリソースへのアクセス用

動作の流れ

  1. トリガー発火:イベントが発生(API リクエスト・S3 PutObject 等)
  2. 実行環境準備:コンテナがあれば再利用、なければ新規作成(コールドスタート)
  3. ハンドラ実行handler(event, context) を呼び出し
  4. 結果返却:レスポンスをトリガー元に返す(同期)または保存(非同期)
  5. コンテナ保持:一定時間(〜数十分)アイドル状態で待機
  6. アイドル超過:コンテナ破棄

同期 / 非同期 / ストリーム呼び出し

  • 同期(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. 関連用語


7. 関連サイト

AWS 公式

参考


🎓 試験での出題傾向

試験重要度主な出題パターン
CLFサーバーレスの概念、Lambda の基本
SAAサーバーレスアーキテクチャ設計、トリガー選定、VPC 接続の判断
DVALambda 開発の頻出論点(同時実行・コールドスタート・Layers・Versioning)
SOALambda の監視・ログ・コスト管理