投稿日: Nov 15, 2022

本日、ネイティブ AOT でコンパイルされた .NET 7 アプリケーションをビルドして AWS Lambda にデプロイするためのツールサポートの一般提供を発表できることを嬉しく思います。.NET 7 は .NET の最新バージョンであり、ネイティブ AOT デプロイモデルのサポートなど、いくつかのパフォーマンスの改善と最適化を実現します。ネイティブ AOT は、.NET アプリケーションをネイティブコードにコンパイルします。AWS Lambda でネイティブ AOT を使用することにより、アプリケーションの起動が高速化されるため、エンドユーザーエクスペリエンスを向上させることができます。また、AWS Lambda でネイティブ AOT アプリケーションを使用することでもたらされる初期化時間の短縮とメモリ消費の削減により、コストを削減できるという利点があります。 

ネイティブ AOT を使用すると、.NET アプリケーションを単一のバイナリにプリコンパイルできるため、ジャストインタイム (JIT) コンパイルが不要になり、ネイティブ AOT 対応アプリケーションの起動が速くなります。ベンチマークでは、ネイティブ AOT 対応アプリケーションのコールドスタート時間が平均 44% (最大 86%) 改善されています。こちらで結果をご覧ください。

このリリースでは、AWS Toolkit for Visual Studio または AWS サーバーレスアプリケーションモデル (SAM) CLI を使用して、Visual Studio 内から .NET CLI 用の AWS 拡張機能 (Amazon Lambda Tools) によりネイティブ AOT を実行する .NET Lambda 関数をビルド、テスト、デバッグ、デプロイできるようになっています。

AWS Lambda での .NET 7 ネイティブ AOT は、AWS Lambda が利用可能なすべてのリージョンで使用できます。詳細を確認して、使用を開始するには、Amazon Lambda Tools のドキュメントSAM CLI のドキュメントブログ投稿をご覧ください。