サービス解説 / AWS Lambda
コンピューティング

AWS Lambda

AWS Lambda

概要

AWS Lambda は、サーバーを一切管理せずにコードを実行できるサーバーレスコンピューティングサービスです。イベント(HTTPリクエスト、ファイルのアップロード、キューへのメッセージ到着など)に応じて関数が起動し、必要な分だけ自動でスケールします。課金は実行回数と、割り当てメモリに比例して決まる実行時間に対して発生し、待機中のアイドルコストがありません。インフラの調達・パッチ・スケーリングを気にせず、ビジネスロジックそのものに集中できる点が最大の価値です。

主要な概念

イベント駆動とトリガー

Lambda は様々な AWS サービスをトリガーに起動します。API Gateway 経由のHTTPリクエスト、S3 へのオブジェクト作成、DynamoDB Streams、SQS や SNS、EventBridge のスケジュールなどがイベント源になります。プッシュ型(呼び出し元が起動)とポーリング型(Lambda がストリーム/キューを読む)の違いを押さえると挙動を理解しやすくなります。

実行環境とメモリ・時間制限

関数にはメモリを割り当て、それに比例して CPU 性能も決まります。1回の実行には最大15分の制限があり、長時間バッチや常駐プロセスには不向きです。一時ディスク領域として /tmp が使え、デプロイ単位はパッケージのほかコンテナイメージも選択できます。15分を超える処理は Step Functions による分割や ECS/Fargate への切り替えを検討します。

コールドスタートと同時実行

一定時間使われない関数や新規スケール時には、実行環境の初期化に時間がかかるコールドスタートが発生します。レイテンシが重要な場合は Provisioned Concurrency で実行環境を温めておけます。同時実行数にはアカウント単位の上限があり、関数ごとに予約・制限を設定して他の関数への影響を制御できます。

IAMロールと権限

Lambda 関数には実行ロールが割り当てられ、関数が他の AWS サービス(S3 への書き込みなど)を呼ぶ際の権限を最小権限で定義します。逆に他サービスから関数を呼び出す許可はリソースベースのポリシーで制御します。認証情報をコードに書かず、ロール経由で安全に扱うのが原則です。

VPC接続と外部依存

関数を VPC に接続すると、プライベートサブネット内の RDS などへアクセスできます。その場合インターネットへ出るには NAT 経由が必要です。データベース接続の枯渇を避けるには RDS Proxy などで接続をプールするとよく、ステートレスに設計して再試行に耐える作りにすることが重要です。

典型的なユースケース

  • API Gateway と組み合わせたサーバーレスなREST/HTTP APIのバックエンド
  • S3へのアップロードを契機にした画像変換・サムネイル生成などの処理
  • SQS/SNSやEventBridgeと連携した非同期・イベント駆動の処理パイプライン
  • スケジュール起動による定期的なメンテナンスやバッチ的ジョブの実行
  • ストリーム(DynamoDB Streams / Kinesis)処理によるリアルタイムなデータ加工

試験での出題観点

Lambda は DVA の中心であり、SAA・SAP でもサーバーレス設計の要として頻出します。「サーバー管理をなくしたい」「イベント駆動で自動スケールさせたい」「アイドル時にコストをかけたくない」という要件ではほぼ Lambda が正解候補になります。15分の実行時間上限は重要な制約で、長時間処理は Step Functions や Fargate へ切り替える判断が問われます。DVA ではコールドスタート対策(Provisioned Concurrency)、同時実行数の制御、実行ロールによる権限設計、環境変数と Secrets Manager の使い分けが論点です。VPC 接続時のNAT経由やDB接続枯渇への配慮もよく出題されます。

関連サービス

最終更新日: 2026-06-24

本ページの内容は、AWS公式ドキュメントを基に作成し、運営者が編集・監修しています。詳しくは編集・品質管理方針をご覧ください。