配属先で「そこはラムダで動かしてるよ」「この処理、Lambdaにしておいて」といった会話が飛び交い、ついていけないと感じていませんか?Lambdaは、いまのAWSの開発でとてもよく登場するサービスです。
この記事では、そのLambdaを「人が来た時だけ動く自動ドア」という例え話を軸に、しくみ・現場での使いどころ・料金の考え方まで、専門用語をかみくだいて解説します。
結論を先に言うと、Lambdaとはサーバーを用意しなくても、必要なときだけコードを動かせるサービスです。
この記事でわかること
- Lambdaがどんなサービスか(例え話つき)
- Lambdaが動くきっかけと、新社会人が出会う場面
- Lambdaの料金の考え方と、無料枠でどこまで試せるか
Lambdaとは?一言でいうと「人が来た時だけ動く自動ドア」
Lambda(ラムダ)とは、サーバーを用意しないでプログラムを動かせるサービスです。正式名称は「AWS Lambda」といいます。
AWS公式は、このサービスを「サーバーやクラスターについて検討することなくコードを実行」できるものだと説明しています。
ここで、お店の自動ドアを思いうかべてください。だれも来ない間、ドアは静かにとまっています。人が近づいた瞬間だけ開き、通り終わればまた閉じます。
Lambdaもこれと同じです。ふだんは何も動いていません。決められたきっかけが起きた瞬間だけコードが動き、終わればすぐに止まります。
ずっと開けっぱなしのドアと比べてみてください。電気代もかからず、見張りに立つ人もいりません。これがLambdaのいちばんの持ち味です。
この「サーバーを意識しなくてよい」考え方を、サーバーレスと呼びます。サーバーが無いという意味ではありません。その用意や管理を自分でしなくてよい、という意味です。
Lambdaのしくみと使いどころ
Lambdaが動くきっかけになる「トリガー」
Lambdaを理解する近道は、「何が起きたら動くのか」を先に押さえることです。この動き出すきっかけを、トリガーと呼びます。
よくあるトリガーには、次のようなものがあります。
- ファイルが保存されたとき(S3への画像のアップロードなど)
- 順番待ちのメッセージが届いたとき(Amazon SQSなど)
- 決められた時刻になったとき(毎朝9時に集計する、など)
- アプリから通信が来たとき(ウェブやスマホからの呼び出し)
公式ページでも、Amazon SQSやAmazon Kinesisといったデータの流れをきっかけに動かせると紹介されています。
たとえば、画像が保存されたら自動で小さいサイズを作っておく。こうした処理はLambdaの定番です。だれかがボタンを押すのを待つ必要はありません。
Lambdaは混みあっても自動で数を増やす
自動ドアの例えを、もう一歩すすめます。もし1000人がいっせいに来たら、ドアが1つでは足りません。
Lambdaはこのとき、必要な数だけ実行を同時に立ち上げます。公式も「リアルタイムのニーズに基づいて自動的にスケールアップ/スケールダウンする」と説明しています。
自分でサーバーの台数を増やす作業はいりません。落ち着けば、また自動で減っていきます。急にアクセスが増えるかもしれない処理を、安心して任せられるということです。
Lambdaで使える言語と、知っておきたい上限
Lambdaは、特別な言語を覚えないと使えないものではありません。公式ドキュメントによると、Node.js・Python・Java・Ruby・.NETなどが用意されています。
Goのように一覧にない言語も、カスタムランタイムというしくみで動かせます。つまり、いま学んでいる言語がそのまま使える見込みが高いということです。
ただし、向いていない仕事もあります。公式のクォータ(上限のこと)から、押さえておきたいのは次の3つです。
- 1回の実行は最大15分まで。何時間もかかる処理には向きません
- メモリは128MBから10,240MBまでの範囲で決める
- ファイルを一時的に置ける領域は512MBから(必要なら増やせます)
言いかえると、Lambdaは「短くて、すぐ終わる仕事」を任せる場所です。長い時間かかる処理は別のサービスに任せる、という使い分けになります。
新社会人がLambdaに出会う場面
入社1〜3年目でありがちなのは、先輩から「この処理、Lambdaにしておいて」と頼まれる場面です。
おどろくかもしれませんが、書くコードそのものは短いことが多いです。最初につまずくのは、たいていコードの外側にあります。
よくあるのは、権限と時間切れの2つです。Lambdaから他のサービスをさわるには、IAMのロールで許可を出しておく必要があります。ここが足りないと、動いた瞬間にエラーで止まります。
もう1つが時間切れです。Lambdaには実行時間の設定があり、そこを過ぎると処理の途中でも打ち切られます。「なぜか最後まで動かない」ときは、まずこの2つを見る。それだけで解決することがかなりあります。
LambdaとEC2など関連サービスの違い・つながり
Lambdaは単体で使うことがほとんどありません。まわりのサービスとの関係を整理しておきます。
- EC2: 借りたサーバーがずっと動き続けます。その分お金はかかりますが、長い処理も、常に待ち受ける仕事もできます。動いた分だけ払うのがLambda、借りた分だけ払うのがEC2、と考えると違いがはっきりします
- S3: Lambdaのトリガーとして、もっともよく使われる相手です。ファイルが置かれたことをきっかけに、Lambdaが受け取って加工します
- IAM: Lambdaに「どのサービスをさわってよいか」を与える役目です。ロールという形で結びつけます
- RDS: Lambdaからデータベースを読み書きする組み合わせもよくあります。ただし短い実行が何度もくり返されるため、接続のしかたには工夫がいります
- VPC: Lambdaは初期の状態ではVPCの外で動きます。VPCの中にあるデータベースへ繋ぎたいときは、Lambdaをその中に置く設定が必要になります
「きっかけはS3、動くのがLambda、権限はIAM」。この組み合わせが、サーバーレスのいちばん基本的な形になります。
Lambdaの料金と無料枠
Lambdaの料金は、使った分だけ払う形です。そして、動いていない時間にはお金がかかりません。ここがEC2との大きな違いです。
おもな課金の対象は、次の2つです。
- リクエストの数(関数が呼び出された回数)
- 実行した時間と、割り当てたメモリの量をかけ合わせたもの
2つめは少しわかりにくいので補足します。これはGB秒という単位で数えます。メモリを多く割り当てるほど、また長く動くほど高くなる、という考え方です。時間は1ミリ秒の単位で切り上げて計算されます。
公式が示す米国東部の例では、リクエストは100万件あたり0.20USD、コンピューティングは1GB秒あたり0.0000166667USDです。桁の多さにおどろくかもしれませんが、それだけ1回あたりが小さいということです。
無料枠も用意されています。執筆時点(2026年8月)の公式ページでは、1か月あたり100万件のリクエストと、40万GB秒のコンピューティング時間が無料枠に含まれると書かれています。
学習で少し動かすくらいなら、この枠にじゅうぶんおさまります。EC2やRDSのような「消し忘れて課金される」心配が少ないのも、Lambdaの安心なところです。ただし条件や金額は変わるため、最新の情報は公式の料金ページで確かめてください。
まとめ:Lambdaは必要なときだけ動くしくみ
この記事の要点をふり返ります。
- Lambdaは、サーバーを用意しなくても必要なときだけコードを動かせるサービス。人が来た時だけ開く自動ドアにあたる
- ファイルの保存や時刻などのトリガーで動き、混みあえば自動で数を増やす。1回の実行は最大15分まで
- 料金はリクエストの数と実行した時間だけ。動いていない時間は無料で、無料枠も広い
次の一歩は、先輩に「うちのシステムでLambdaはどこに使っていますか」と聞いてみることです。実例を1つ知るだけで、サーバーレスの考え方が一気につかめます。
コメント