View a markdown version of this page

AWS Lambda とは - AWS Lambda

AWS Lambda とは

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

Lambda には、それぞれ異なるワークロードパターン用に設計された 2 つのコンピューティングプリミティブがあります。

  • Lambda 関数 – サーバーを管理することなくイベントまたは API コールに応答してコードを実行します。ハンドラー関数を記述してトリガー (API Gateway、Amazon S3、Amazon SQS、EventBridge、その他の 200 以上の AWS サービス) に接続すると、Lambda によって実行されます。各呼び出しは、共有状態なしで個別に実行され、需要に合わせて水平方向にスケーリングされます。Lambda は、実行環境、スケーリング、ルーティング、耐障害性を管理します。

  • Lambda MicroVMs – ほぼ即時の起動と状態が可能で、最大 8 時間維持される分離コンピューティング環境。個々のユーザーまたはジョブに専用のコンピューティング環境を必要とするワークロード向けに設計されています。Lambda は、分離、容量、ネットワークを管理します。アプリケーションは Lambda MicroVMs API と HTTPS エンドポイントを使用して、各ユーザー/ジョブをコンピューティング環境に接続します。

料金に関する情報については、[AWS Lambda の料金]を参照してください。

Lambda Functions と Lambda MicroVMs の比較

LambdaFunctions と Lambda MicroVMs は共通のサーバーレス基盤を共有します。

  • サーバー管理なし — AWS は、基盤となるインフラストラクチャ、インスタンスのパッチ適用、容量を管理します。

  • 従量制課金 – 前払いのコミットメントはありません。請求は使用したリソースに対してのみ発生します。

  • マネージドネットワーキング – どちらもサービスマネージドのインバウンドおよびアウトバウンドネットワークアクセスを提供します。

  • Firecracker 仮想化 – ワークロード間の VM レベルの分離。

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

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