AWS Lambda

AWS Lambda はサーバーを一切管理することなく、コードを実行できるサーバーレスコンピューティングサービスです。イベントが発生したときだけコードが動き、アイドル時の課金はゼロです。

概要

Lambda を使うと、開発者はサーバーのプロビジョニング・OS 管理・パッチ適用・スケーリングといったインフラ作業から完全に解放されます。記述したコード(関数)をアップロードするだけで、AWS がすべての実行環境を準備・管理します。

サーバーレスとは

「サーバーレス」とは物理的にサーバーが存在しないという意味ではなく、開発者がサーバーを意識・管理しなくてよいという意味です。AWS が内部でサーバーを運用しますが、利用者はコードだけに集中できます。

CP試験で押さえるポイント

イベント駆動アーキテクチャ

Lambda は何らかの「イベント」をトリガーとして起動します。イベントがない時間はコードが一切実行されないため、EC2 のように常時稼働するサーバーと比べて無駄なコストが発生しません。

トリガー(イベントソース) 具体例
API Gateway HTTP リクエストが届いたとき
S3 ファイルがアップロードされたとき
DynamoDB Streams テーブルのデータが変更されたとき
CloudWatch Events / EventBridge スケジュール(cron)や AWS リソースのイベント
SNS / SQS メッセージキューにメッセージが届いたとき

課金モデルと実行制限

課金の仕組み

Lambda の料金は以下の 2 軸で計算されます。

コードが動いていない時間(待機中・アイドル中)は一切課金されません。トラフィックが少ない夜間やオフピーク時にも EC2 のように費用がかかることがないため、アクセスが断続的なシステムでは大幅なコスト削減につながります。

実行時間の上限

1 回の Lambda 関数実行は最大 15 分という制限があります。これより長い処理(大規模バッチ処理・長時間のデータ変換など)は EC2 やコンテナサービスを利用する必要があります。

制限項目 上限値
最大実行時間 15 分(900 秒)
メモリ割り当て 128 MB ~ 10,240 MB
デプロイパッケージサイズ 50 MB(圧縮)/ 250 MB(解凍)

API Gateway との組み合わせ

Lambda 単体では HTTP リクエストを直接受け付けることができません。Amazon API Gateway を Lambda の前段に配置することで、Web API や REST API を構築できます。この組み合わせはサーバーレス Web アプリケーションの代表的なパターンです。

関連サービスとの違い・使い分け

サービス 実行時間 サーバー管理 適したユースケース
Lambda 最大 15 分 不要(サーバーレス) イベント駆動・短時間の処理・API バックエンド
EC2 制限なし(常時稼働) 必要(OS 管理あり) 長時間処理・細かいカスタマイズが必要な場合
ECS / EKS(Fargate) 制限なし 不要(サーバーレス可) コンテナ化されたアプリ・15 分以上の処理
Elastic Beanstalk 制限なし 自動管理(EC2 が裏で動く) コードをデプロイするだけで Web アプリを公開

試験のキーワード:「サーバーの管理が不要」「自動でスケール」「アイドル時のコスト削減」「イベントに応答」→ Lambda が正解の可能性が高いです。

確認問題

付録:公式ドキュメント・Black Belt 動画

さらに深く学びたい方は、AWS公式の以下のリソースを参照してください(いずれも外部サイトが開きます)。

公式ドキュメント

AWS Black Belt Online Seminar(動画・解説資料)