

# AWS Lambda とは
<a name="welcome"></a>

AWS Lambda は、サーバーレスコンピューティングサービスです。Lambda を使用すると、サーバーをプロビジョニングまたは管理しなくてもコードを実行できます。Lambda は、基盤となるインフラストラクチャ (サーバーメンテナンス、容量プロビジョニング、スケーリング、パッチ適用など) を自動的に管理するので、ユーザーはアプリケーションロジックにフォーカスできます。

Lambda には、それぞれ異なるワークロードパターン用に設計された 2 つのコンピューティングプリミティブがあります。
+ **[Lambda 関数](lambda-functions-chapter.md)** – サーバーを管理することなくイベントまたは API コールに応答してコードを実行します。ハンドラー関数を記述してトリガー (API Gateway、Amazon S3、Amazon SQS、EventBridge、その他の 200 以上の AWS サービス) に接続すると、Lambda によって実行されます。各呼び出しは、共有状態なしで個別に実行され、需要に合わせて水平方向にスケーリングされます。Lambda は、実行環境、スケーリング、ルーティング、耐障害性を管理します。
+ **[Lambda MicroVM](lambda-microvms-guide.md)** – 起動がほぼ瞬時で、合計有効期間が最大 8 時間 (実行時間と中断時間の両方を含む) の分離されたコンピューティング環境。個々のユーザーまたはジョブに専用のコンピューティング環境を必要とするワークロード向けに設計されています。Lambda は、分離、容量、ネットワークを管理します。アプリケーションは Lambda MicroVM API と HTTPS エンドポイントを使用して、各ユーザー/ジョブをコンピューティング環境に接続します。

料金に関する情報については、[[AWS Lambda の料金](https://aws.amazon.com/lambda/pricing/)]を参照してください。

## Lambda 関数と Lambda MicroVM の比較
<a name="lambda-comparison"></a>

Lambda 関数と Lambda MicroVM は共通のサーバーレス基盤を共有します。
+ **サーバー管理なし** — AWS は、基盤となるインフラストラクチャ、インスタンスのパッチ適用、容量を管理します。
+ **従量制課金** – 前払いのコミットメントはありません。請求は使用したリソースに対してのみ発生します。
+ **マネージドネットワーキング** – どちらもサービスマネージドのインバウンドおよびアウトバウンドネットワークアクセスを提供します。
+ **Firecracker 仮想化** – ワークロード間の VM レベルの分離。

2 つのサービスは、この基盤を共有しますが、対応するユーズケースが異なります。


|  | **[Lambda 関数](lambda-functions-chapter.md)** | **[Lambda MicroVM](lambda-microvms-guide.md)** | 
| --- | --- | --- | 
| 用途 | リクエストレスポンスまたはイベントドリブンのワークロード (API、データ処理、自動化) | ユーザーまたは AI が作成した信頼できないコードを実行する永続環境 | 
| プログラミングモデル | サポートされているランタイムで呼び出された関数ハンドラー | 任意のアプリケーション – 独自のバイナリの実行、ポートのリッスン、Linux OS 機能の使用 | 
| 時間 | 呼び出しごとに最大 15 分、Lambda の耐久性のある関数で最大 1 年間持続するマルチステップワークフロー | 合計有効期間最大 8 時間 (実行中 \+ 中断)、セッション間での一時停止と再開 | 
| ランタイム環境 | サービス提供の言語ランタイム、お客様提供のランタイムのサポート | お客様が提供する MicroVM イメージ | 
| インバウンドネットワーキング | 直接呼び出しまたは AWS サービスとのイベントソース統合、レスポンスストリーミングのサポート | OSI Layer 7 プロトコルを使用した任意のポートへのインバウンドアクセス | 
| 同時実行 | 実行環境あたり一度に 1 つのリクエスト | MicroVM あたり複数の同時接続 | 
| 環境の状態 | 実行環境は再利用可能 (ウォームスタート) だが、状態が呼び出し間で保持されないことがある | 一時停止時に保持され、再開時に復元されるメモリとディスクの状態 | 
| スケーリング | 自動 – Lambda がトラフィックに応じて実行環境を作成および破棄 | デベロッパー制御 – API を介して MicroVM を作成、一時停止、再開、終了 | 
| ライフサイクル | Lambda によるフルマネージド型 | デベロッパー制御 (自動一時停止/再開用のオプションのアイドルポリシー) | 
| 料金 | リクエストあたり、および実行時間の GB 秒 | 実行中の 1 秒あたりのコンピューティング、および一時停止中のスナップショットストレージ | 