コンテナイメージを使用して.NET の Lambda 関数をデプロイする - AWS Lambda

コンテナイメージを使用して.NET の Lambda 関数をデプロイする

Lambda 関数コードをコンテナイメージとしてデプロイできます。

AWSでは、.NET 関数のコンテナイメージの構築に役立つ次のリソースを提供します。

AWS は、サポートされているすべての .NET ランタイムの x86_64 アーキテクチャ、ならびに .NET Core 3.1 および .NET 6.0 ランタイムの arm64 アーキテクチャのベースイメージを提供します。

  • Lambda の AWS ベースイメージ

    これらのベースイメージには、Lambda でイメージを実行するために必要な言語ランタイムおよびその他のコンポーネントがプリロードされています。AWS は、コンテナイメージの構築に役立つ各ベースイメージの Dockerfile を提供します。

  • オープンソースのランタイムインターフェイスクライアント (RIC)

    コミュニティベースイメージまたはプライベートエンタープライズベースイメージを使用する場合は、ランタイムインターフェイスクライアントをベースイメージに追加して、Lambda と互換性を持たせる必要があります。

  • オープンソースのランタイムインターフェイスエミュレータ (RIE)

    Lambda は、関数をローカルでテストするためのランタイムインターフェイスエミュレータを提供します。Lambda の ベースイメージとカスタムランタイムのベースイメージには、RIE が含まれます。その他のベースイメージでは、イメージをローカルでテストするための RIE をダウンロードできます。

コンテナイメージとして定義された関数のワークフローには、次のステップが含まれます。

  1. このトピックにリストされているリソースを使ってコンテナイメージを構築します。

  2. イメージを Amazon ECR コンテナレジストリにアップロードします。

  3. Lambda 関数を作成するか、または関数コードを更新して、イメージを既存の関数にデプロイします。

AWS.NET 用の ベースイメージ

AWSには、.NET 用に次のようなベースイメージが利用できます。

タグ ランタイム オペレーティングシステム Dockerfile

6

.NET 6.0 Amazon Linux 2 GitHub 上の.NET 6.0 用の Dockerfile

5.0

.NET 5.0 Amazon Linux 2 GitHub 上の.NET 5.0 用の Dockerfile

core3.1

.NET Core 3.1 Amazon Linux 2 GitHub 上の.NET 3.1 用の Dockerfile

Amazon ECR リポジトリ: gallery.ecr.aws/lambda/dotnet

.NET ベースイメージを使用する

.NET ベースイメージの使用方法については、Amazon ECR リポジトリ.NET 用の AWS Lambda ベースイメージにある [usage] (使用) タブを選択します。

.NET ランタイムインタフェースクライアント

GitHub の AWS Lambda for .NET Core リポジトリから、.NET ランタイムインタフェースクライアントをダウンロードします。

コンテナイメージのデプロイ

新しい関数の場合、関数を作成する際にコンテナイメージをデプロイします。既存の関数では、コンテナーイメージを再ビルドする場合は、関数コードの更新を行うことでイメージを再度デプロイする必要があります。