Servisphere
AWS Lambda のアイコン(AWS Architecture Icons)

AWS Lambda

イベント駆動でコード実行

イベント(API request、新しいファイル、メッセージなど)が発生したときに、サーバーを管理せずに関数コードを実行します。実行回数と実行時間に応じて課金されます。

  • コスト$ 安い
  • 難易度●●●●●
  • 未使用でも課金?いいえ
  • サーバーレス
  • 出題試験CLF · SAA · DVA · SOA

範囲: Regional

Lambda をマップで開く →
たとえるならタクシーを呼ぶようなものです。乗った距離分だけ払い、車を維持する必要はありません。

Lambda はシステムのどこにある?

マップで全体を見る →

具体例でステップごとに

  1. ユーザーがアプリの S3 バケットにプロフィール画像をアップロードします。
  2. S3 が「新しいファイル」イベントを発行して Lambda 関数を呼び出します。待機しているサーバーはありません。
  3. Lambda が起動して画像を読み込み、200×200 に縮小して S3 の thumbnails/ フォルダに保存します。
  4. 関数は約 300 ミリ秒動いて終了します。料金はその 300 ミリ秒分だけで、1 日誰もアップロードしなければほぼ無料です。
  5. 1 万人が同時にアップロードする日も、Lambda は(アカウントの同時実行数の上限まで)自動で並列実行するので、サーバーを追加する必要はありません。

▶ シナリオ「Serverless Web」をマップで見る

いつ使う?

✓ 使うべき場面

短い処理(≤ 15 分)、断続的な負荷、イベント駆動アーキテクチャ。

✗ 避けるべき場面

長時間実行や安定した負荷で常時稼働するタスク → ECS/Fargate または EC2。

よくある使い方

  • API Gateway と組み合わせた API のバックエンド
  • S3 にアップロードされたファイルを即時処理(サムネイル、ウイルススキャン)
  • SQS、Kinesis、DynamoDB Streams からのメッセージを処理
  • EventBridge による定期タスク(cron)

Lambda・Fargate・EC2 の違い

LambdaFargateEC2
動き方イベントが来たら関数が実行されるコンテナが常時またはタスクとして動く仮想サーバーが常時動く
最大実行時間1 回 15 分まで制限なし制限なし
サーバー管理不要不要OS、パッチ、スケーリングを自分で管理
課金リクエスト数 + 実行時間タスク実行中の vCPU とメモリ(秒単位)起動している時間(アイドル中も)
向いている用途API、イベント処理、短い処理Web サービス、長時間動くワーカーマシンを完全に制御したい従来型アプリ

料金はいくら?

料金の例月 300 万 request、512 MB、200 ms = 300,000 GB 秒 → 無料枠内。超過分の 200 万 request に約 $0.40 を払うだけです。
  • 課金方式: request 数(約 $0.20/100 万)+ GB 秒単位の実行時間(x86 で約 $0.0000166667/GB 秒、ARM/Graviton は約 20% 安い)。
  • 無料枠: Always Free: 毎月 100 万 request + 400,000 GB 秒。
⚠️ 料金の落とし穴

Lambda を VPC に接続してインターネットが必要な場合は NAT Gateway が必要(高額)。CloudWatch Logs へのログ出力が多すぎる。S3 → Lambda → S3 の再帰ループ。Provisioned Concurrency はアイドル時も課金される。

料金は us-east-1 の参考値(2026年10月14日 更新)で、変更されている可能性があります。必ず AWS の料金ページでご確認ください。 AWS 公式の料金ページ ↗

💡 試験のコツ

「15 分以内」「イベント駆動」「サーバー管理不要」とあれば Lambda を考え、「数時間かかる」「常時稼働」とあれば Lambda を除外します。他のサービスを呼ぶ権限は実行ロールで付与し、コードにアクセスキーを置いてはいけません。

本番の試験問題に挑戦

AWS 認定試験は英語でも受験できるため、問題文は英語のまま掲載しています。

1Which IAM role do you use to grant AWS Lambda permission to access a DynamoDB Stream?

  1. ADynamic role.
  2. BInvocation role.
  3. CExecution role.
  4. DEvent Source role.
答えを見る

正解: C

実行ロールは、Lambda が実行時に他のサービスへアクセスするために引き受けるロールで、DynamoDB ストリームを読む権限もここに含めます。「Dynamic role」や「Event Source role」は存在せず、呼び出しロールは Lambda を呼び出す側のための古い概念です。

2A company is designing an application. The application uses an AWS Lambda function to receive information through Amazon API Gateway and to store the information in an Amazon Aurora PostgreSQL database. During the proof-of-concept stage, the company has to increase the Lambda quotas significantly to handle the high volumes of data that the company needs to load into the database. A solutions architect must recommend a new design to improve scalability and minimize the configuration effort. Which solution will meet these requirements?

  1. ARefactor the Lambda function code to Apache Tomcat code that runs on Amazon EC2 instances. Connect the database by using native Java Database Connectivity (JDBC) drivers.
  2. BChange the platform from Aurora to Amazon DynamoDB. Provision a DynamoDB Accelerator (DAX) cluster. Use the DAX client SDK to point the existing DynamoDB API calls at the DAX cluster.
  3. CSet up two Lambda functions. Configure one function to receive the information. Configure the other function to load the information into the database. Integrate the Lambda functions by using Amazon Simple Notification Service (Amazon SNS).
  4. DSet up two Lambda functions. Configure one function to receive the information. Configure the other function to load the information into the database. Integrate the Lambda functions by using an Amazon Simple Queue Service (Amazon SQS) queue.
答えを見る

正解: D

関数を 2 つに分け、間に SQS キューを置きます。SQS がメッセージを安全に保持し、DB に書き込む関数が制御された速度でバッチ単位に取り出すので、Lambda のクォータを上げる必要がありません。SNS はすぐに配信するため負荷を減らせず、EC2 や DynamoDB への移行は大きな変更で手間がかかります。

Servisphere で 700 問以上を練習する →

よくある質問

Lambda のコールドスタートとは何ですか?

準備済みの実行環境がないとき、Lambda はコードを実行する前に新しい環境を初期化する必要があり、最初のリクエストが遅くなります。プロビジョニングされた同時実行、SnapStart(対応ランタイムのみ)、デプロイパッケージの縮小などで軽減できます。

Lambda の料金はどのように決まりますか?

リクエスト数と、実行時間に関数へ割り当てたメモリ量を掛けたものに応じて課金されます。リクエストがなければほぼ料金はかかりません。一定の負荷で常に動き続ける関数は、コンテナや EC2 で動かすより高くなることがあります。

AWS 認定試験では Lambda について何が問われますか?

15 分の制限、メモリ設定(CPU はメモリに比例)、同時実行数とスロットリング、VPC への接続、イベントソース(S3、SQS、API Gateway、EventBridge)、デッドレターキューや送信先によるエラー処理、実行ロールによる権限付与などです。

関連サービス

Lambda をマップで開く →