Lambda マネージドインスタンスのランタイム - AWS Lambda

Lambda マネージドインスタンスのランタイム

Lambda マネージドインスタンスを使用する場合、Lambda はリクエストを異なる方法で処理します。Lambda マネージドインスタンスは、各実行環境でリクエストを順次処理する代わりに、各実行環境内で複数のリクエストを同時に処理します。この実行モデルの変更により、Lambda マネージドインスタンスを使用する関数は、スレッドセーフ、状態管理、コンテキストの分離、および Lambda (デフォルト) の単一同時実行モデルでは発生しない懸念を考慮する必要があります。さらに、複数同時実行の実装はランタイムによって異なります。

ランタイムのサポート

次のランタイムは Lambda マネージドインスタンスをサポートしています。

  • Java: Java 21 以降。

  • Python: Python 3.13 以降。

  • Node.js: Node.js 22 以降。

  • .NET: .NET 8 以降。

ランタイム固有の考慮事項

各ランタイムは、別々の方法で複数同時実行を実装します。適切な同時実行のベストプラクティスを適用するには、選択したプログラミング言語で複数同時実行がどのように実装されるかを理解する必要があります。

Java:

OS スレッドで単一のプロセスを使用して同時実行を行います。複数のスレッドがハンドラーメソッドを同時に実行するため、状態と共有リソースをスレッドセーフに処理する必要があります。

Python:

各同時リクエストが個別のプロセスで実行される複数の Python プロセスが使用されます。これにより、ほとんどの同時実行の問題から保護できますが、/tmp ディレクトリなどの共有リソースに注意が必要です。

Node.js

非同期実行でワーカースレッドを使用します。同時リクエストはワーカースレッド全体に分散され、さらに各ワーカースレッドは同時リクエストを非同期で処理できるため、状態と共有リソースを安全に処理する必要があります。

.NET

複数同時リクエストの非同期処理で .NET タスクを使用します。状態と共有リソースを安全に処理する必要があります。

次のステップ

各ランタイムの詳細については、次のトピックを参照してください。