Lambda は、サーバーを自分で管理せずにコードを実行できるAWSのコンピュートサービスです。AWS公式でも、サーバーを管理する必要なくコードを実行する サービスとして説明されています。イベントに応じて関数を動かす形が基本です。
まず押さえたいポイント
- サーバーを常時管理しなくてもコードを動かせる
- 処理の単位は関数
- API呼び出し、ファイルアップロード、キュー処理などのイベント駆動と相性がよい
- IAM で権限を渡して他AWSサービスと連携する
サーバーレスの代表例としてよく出る
どんな場面で使うか
Lambdaは、S3へファイルが置かれたら画像変換する、APIの裏側で処理を返す、キューのメッセージを順にさばく、定期実行ジョブを動かす、といった場面で使われます。
どう理解するとよいか
初心者向けには、Lambdaを 1台のサーバーを持つ代わりに、必要な処理だけ呼び出して動かす仕組み と考えると分かりやすいです。
EC2 がサーバー全体を持つ発想なのに対して、Lambdaは処理単位を持つ発想です。
そのため、アプリ全体を1台へまとめて載せるというより、画像処理だけ 通知送信だけ APIの一部だけ を切り出して動かす場面と相性があります。
S3、API Gateway、SQS、EventBridge など他サービスから呼ばれる構成もよく見ます。
注意点
Lambdaを使えば何でも簡単になるわけではありません。
実行時間、コールドスタート、VPC接続時の設計、ログの見方、権限設計は別で考える必要があります。
また、処理が長く続くもの、常時接続前提のもの、大きな状態を長く持つものは、EC2や別サービスの方が向くこともあります。
サーバーがいらない ではなく、サーバー管理をなるべく持たない代わりに、向き不向きがある と見るとズレにくいです。
詳しい整理は、AWSで最初に覚えたい基本用語まとめ|EC2・IAM・S3・VPCのつながりを整理 も参考になります。