AWS、サーバレスの「AWS Lambda」で「.NET Core 2.1」をサポート:高パフォーマンスHTTPクライアントや新しい言語機能が利用可能に
AWSは、サーバレスコンピューティングサービス「AWS Lambda」の関数コードを、「.NET Core 2.1」ランタイムを使ってC#で作成できるようにした。
Amazon Web Services(AWS)は2018年7月9日(米国時間)、サーバレスコンピューティングサービス「AWS Lambda」の関数コードが、「.NET Core 2.1」ランタイムを使ってC#で作成できるようになったと発表した。
AWS Lambdaは2018年1月から「.NET Core 2.0」をサポートしている。AWSは、.NET Core 2.0ベースのAWS Lambda関数については、.NET Core 2.1にできるだけ早く更新することを勧めている。Microsoftは今夏から.NET Core 2.1の長期サポート(LTS)を提供する予定で、このサポートは3年間継続される。
その一方でMicrosoftは、.NET Core 2.0のサポートを2018年10月初めに終了する。これに伴い、AWS Lambdaランタイムサポートポリシーに従って、.NET Core 2.0ベースのAWS Lambda関数は非推奨となる。サポート終了の3カ月後には、.NET Core 2.0を使ってAWS Lambda関数を作成できなくなる。この段階では、既存関数を更新可能だが、6カ月後には、この更新機能も無効になる。
AWS Lambdaが.NET Core 2.1をサポートしたことで、開発者はこのバージョンの高パフォーマンスHTTPクライアントを利用できる。これは、AWS Lambda関数による他のAWSサービスと統合する上で特に重要になる。さらに、「Span<T>」や「Memory<T>」など、新しい言語機能も使えるようになる。
.NET Core 2.1を使用してC#でLambda関数を作成する簡単な方法は、「AWS Toolkit for Visual Studio」を使うことだ。このツールキットには、「個々のC# Lambda関数のプロジェクトテンプレート」「C#サーバレスアプリケーション」「両方のプロジェクトタイプをAWSにデプロイするためのツール」が含まれている。
手動でC# Lambda関数を作成するには、Lambdaランタイムパラメーターを「dotnetcore2.1」と指定し、デプロイするDLLアセンブリと全てのNuGet依存関係のZIPファイルを、AWS CLI(Command Line Interface)またはLambdaコンソールからアップロードする。また、C#で作成されたサーバレスアプリケーションは、「AWS Serverless Application Model」(SAM)を使ってデプロイ、管理できる。
.NET Core 2.1を使用するLambdaプログラミングモデルは、.NET Core 2.0と完全な互換性がある。.NET Core 2.0ランタイムで動作する既存のC# Lambda関数は、.NETプロジェクトのターゲットフレームワークを「netcoreapp2.1」にアップデートし、関数を「dotnetcore2.1」ランタイムとともに再デプロイすることで、.NET Core 2.1に移行できる。
.NET Core 2.1ランタイムは、Lambdaが使用可能な全てのリージョンで利用できる。.NET Core AWS Lambdaツールおよびライブラリの最新版は、aws-lambda-dotnetのGitHubリポジトリで公開されている。
なお、.NET Core 2.1.1が2018年6月下旬にリリースされており、AWSは、これをAWS Lambda環境でできるだけ早く利用できるようにするとしている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- AWS、サーバレスの「AWS Lambda」でGo言語と.NET Core 2.0をサポート
AWSは2018年1月15日、サーバレスコンピューティングサービス「AWS Lambda」で、プログラミング言語のGoと.NET Core 2.0をサポートしたと発表した。 - 簡単なサーバレスアプリ構築で分かるAWS Lambdaの実装方法の基本
システム開発の常識を覆す「サーバレスアーキテクチャ」について「AWS Lambda」を使って構築方法を学ぶ連載。今回は、サンプルとなるサーバレスアプリケーションの構築を例にAWS Lambdaの実装方法の基本を解説します。 - AWS Lambdaを活用したSlackとGitHubの連携&サーバレス活用事例3選
システム開発の常識を覆す「サーバレスアーキテクチャ」について「AWS Lambda」を使って構築方法を学ぶ連載。今回は、AWSとSlack、GitHubを連携させたサーバレスアーキテクチャの構築方法について解説し、他に3つのサーバレス活用事例を紹介します。