T1

AWS Lambda ── 関数1つ、0.1秒単位の課金

出典Amazon.com, Inc.; vector by DraftSaturn15 (Wikimedia Commons) · Public domain (PD-textlogo) · Commons で見る ↗

メタデータ

日付
年代
2010s
Tier
T1
出典数
07
関連項目
02

AWS Lambda は 2014年11月13日、Amazon の年次カンファレンス re:Invent 2014 で発表され、同じ日に プレビュー版 として公開された。イベントに応じてコードの断片 ──「関数」── を実行し、課金はリクエスト数と、コードが実際に動いた時間(100ミリ秒単位)だけ。サーバを選ぶことも、大きさを決めることも、パッチを当てることもない。プレビューを終えて本番利用可能と宣言されたのは 2015年4月9日、2つ目の言語である Java への対応は2015年6月15日だった。

この考え方は今日 サーバーレス と呼ばれている。2014年11月の時点では、言語は1つ、実行時間は60秒まで、リージョンは3つという小さなサービスだった。

何が発表されたか

当日 AWS ブログに載った Jeff Barr の記事は、目標から書き始めている。開発者がコードに集中でき、スケーラビリティや信頼性はあって当然のものとして扱える環境を作りたい、というものだ。会場の記録によれば、発表は2日目の Werner Vogels の基調講演で行われ、同じ講演では Docker コンテナを動かす EC2 Container Service も発表された。

プレビュー版の制約ははっきりしていた。

項目プレビュー版(2014年11月)
言語Node.js のみ
メモリ関数ごとに 128MB〜1GB
最大実行時間60秒
リージョン米国東部(バージニア北部)、米国西部(オレゴン)、欧州(アイルランド)
イベントの発生元Amazon S3、DynamoDB、Kinesis ストリーム
課金リクエストごと+100ミリ秒単位の実行時間
無料枠月100万リクエストと、最大320万秒の実行時間

メモリの設定はメモリだけを決めるものではなかった。Barr によれば、CPU やネットワーク、I/O の帯域の割り当ても、この値に応じて決まる。無料枠の実行時間が「最大」なのも、選んだメモリ量によって変わるためである。

どう動いたか

Lambda 関数は状態を持たないコードである。実行された機械に永続的なデータを残すことはできず、Barr の記事は S3 か DynamoDB を使うよう求めている。イベントが届くと AWS が関数のコピーを起動し、終われば止める。

例として挙げられたのは、AWS の中ですでに起きた出来事への反応だった。S3 のバケットに画像がアップロードされたらサムネイルを作る、DynamoDB のテーブルが変わったら処理する、Kinesis ストリームにレコードが届いたら処理する。Barr は、起動・管理すべき EC2 インスタンスも、予約しておく容量もないことを強調した。請求されるのは処理そのものだけである。

変わったのはこの課金の単位だった。2006年の S3 以来、AWS は容量を「1GB を1か月」や「インスタンス1時間」で売ってきた。Lambda はそれを、リクエスト1回と0.1秒で売った。

プレビューから本番へ

2015年4月9日、Barr は Lambda が本番提供に入ったと告げた。同じ更新で次のものが加わっている。

  • 同期呼び出し。イベントを投げるだけでなく、呼び出し側が関数の結果を待てるようになった
  • Amazon SNS の通知を起動のきっかけにできる
  • Android と iOS 向けの AWS Mobile SDK から関数を呼べる
  • IAM ロール1つで済む、簡素な権限モデル
  • 同時実行数の既定上限を、プレビュー中の50から100へ

Java はこの更新にはまだ入っておらず、記事は近く対応する予定だと書いていた。実際に加わったのは2015年6月15日で、Barr は Java 8 で Lambda 関数を書けるようになったと告げている。

日付出来事
2014年11月13日re:Invent で発表。Node.js のみのプレビュー
2015年4月9日本番提供。SNS トリガー、同期呼び出し、モバイル SDK
2015年6月15日Java 8 に対応

最初の10年

10周年の記事で Barr は、始まりは Tim Wagner との雑談 ── 開発者がインフラではなくコードに集中できる方法についての ── だったと振り返り、その後 Wagner がこのサービスの PRFAQ(Amazon 社内で使われる、プレスリリースと想定問答の形をとった提案書)を書いたと記している。同じ記事はプレビュー以後に加わったものを年ごとに並べている。

年AWS によれば加わったもの
2016年Python、実行時間上限の延長、VPC 内の資源へのアクセス、環境変数、SAM フレームワーク
2018年任意のプログラミング言語で関数を書けるように
2020年最大 10GB のメモリと6 vCPU、コンテナイメージ、1ミリ秒単位の課金
2021年Graviton(Arm)プロセッサ
2022年SnapStart、関数用の HTTPS エンドポイント
2023年スケーリングの高速化、レスポンスストリーミング

いちばん分かりやすい流れは課金の単位で、2014年の100ミリ秒が2020年には1ミリ秒になった。AWS は2024年の利用規模として、150万の利用者と月に数十兆回の呼び出しという数字も示している。AWS 自身の集計である。

Lambda の位置

コードをプラットフォームに預け、サーバを管理しないという発想自体は Lambda が最初ではない。Google App Engine は2008年に、Web アプリケーション丸ごとについてそれを実現していた。Lambda が変えたのは単位である。イベントで起動し、呼び出し1回ごとに課金される1つの関数。サーバーレスという言葉が指すようになったのは、この単位だった。

Lambda は AWS のコンテナサービスと同じ週に登場し、同じ年には Google が Kubernetes をオープンソース化 している。マシンを丸ごと管理せずにコードを動かすという同じ問いに対し、関数とコンテナという2つの答えが並んだ。コンテナのほうの答えを実用的にしたのは、前年の Docker である。

会社としての Amazon は Amazon に、前後の流れは クラウドコンピューティングの年表 にある。

よくある質問

AWS Lambda はいつ始まったのですか。
2014年11月13日に re:Invent 2014 で発表され、同日プレビュー版として公開されました。本番利用可能になったのは2015年4月9日です。
公開当初の Lambda にはどんな制約がありましたか。
対応言語は Node.js のみ、メモリは関数ごとに128MB〜1GB、実行時間の上限は60秒、提供リージョンは米国東部・米国西部・欧州(アイルランド)の3つでした。起動のきっかけにできたのは S3・DynamoDB・Kinesis です。
Lambda が Java に対応したのはいつですか。
2015年6月15日です。2015年4月9日の本番提供の時点では Java はまだ近日対応の予定で、本番提供で加わったのは SNS トリガーや同期呼び出しでした。
Lambda の課金単位はどう変わりましたか。
2014年の公開時は、リクエスト数に加えて実行時間を100ミリ秒単位で課金していました。AWS によれば、2020年に1ミリ秒単位の課金になっています。

出典

  1. 一次資料AWS Lambda – Run Code in the Cloud — Jeff Barr, AWS News Blog, Nov 13, 2014

    発表日、プレビューの言語・メモリ・実行時間・リージョン・イベント発生元、課金方式と無料枠

    取得日: 2026-10-05

  2. 一次資料AWS Lambda – In Full Production with New Features for Mobile Devs — Jeff Barr, AWS News Blog, Apr 9, 2015

    本番提供の日付、同期呼び出し・SNS・モバイル SDK、同時実行数50→100、Java は近日対応

    取得日: 2026-10-05

  3. 一次資料AWS Lambda Update – Run Java Code in Response to Events — Jeff Barr, AWS News Blog, June 15, 2015

    Java 8 対応の日付

    取得日: 2026-10-05

  4. 一次資料AWS Lambda is Generally Available — Tim Wagner, AWS Compute Blog

    取得日: 2026-10-05

  5. 一次資料AWS Lambda turns ten – looking back and looking ahead — AWS News Blog, 2024

    Tim Wagner の PRFAQ、2016〜2023年に加わった機能、1ミリ秒課金、利用規模(AWS の数字)

    取得日: 2026-10-05

  6. 二次資料AWS re:Invent Keynote Day 2 Takeaways — The Agile Admin, Nov 13, 2014

    Werner Vogels の2日目基調講演で Lambda と EC2 Container Service が発表されたこと

    取得日: 2026-10-05

  7. 三次資料AWS Lambda — Wikipedia

    取得日: 2026-08-03

最終更新:

共有