[アップデート] AWS CLI を使って .NET 10 の Lambda 関数を作成してみた
いわさです。
AWS Lambda では様々な関数ランタイムを選択出来ますが、マネージドランタイムとして .NET もサポートされています。
Lambda のマネージドランタイムは LTS のみサポートされるポリシーのため、これまでの最新は .NET 8 でした。(.NET 9 は STS)
そんな中、先月の 2025 年 11 月 11 日に新しい LTS バージョンである .NET 10 がリリースされました。
11月は Lambda のアップデートで新しいランタイム(Java 25、Node.js 24、Python 3.14)がどんどん登場していましたが、.NET はまだでした。
以下は日本語と英語の Lambda ランタイム公式ドキュメントです。
日本語版は更新が遅いので以前のままの表記なのですが、Java や Python よりも少し遅れて 2025 年 12 月リリース予定となっていました。

現在は次のような記載になっていました。

リリースされた兄弟たちを横目にポツンと残る .NET 10。ひっそりと延長されているリリース年月。
まぁいつものことかと思っていたのですが、なんと今朝次のアナウンスが。AWS CLI が .NET 10 をサポートしたとのこと。
今回 AWS CLI を使って .NET 10 の Lambda 関数が作成できるか試してみたのでその様子を紹介します。
マネジメントコンソールからの作成
まずはマネジメントコンソールを確認してみましょう。

マネジメントコンソールではまだ .NET 10 を選択できませんね。
ただ Python 3.14 の時もそうだったのですが、Lambda ランタイムは API だけ先に対応して使えるようになるのですがマネジメントコンソールは遅れて対応される傾向があります。
AWS CLI からの作成
ということで AWS CLI を使った試してみましょう。
まずは念の為 AWS CLI のリファレンスも確認してみます。
create-functionのruntimeオプションを見てみるとdotnet10が追加されていますね。これは公式対応したと考えて良いでしょう。
AWS CLI としては v1.43.14 あるいは v2.32.15 以上でサポートしていますので事前に次のように最新バージョンにアップデートしておきました。
% aws --version
aws-cli/2.32.16 Python/3.13.11 Darwin/24.6.0 exe/arm64
関数コードは作成が面倒だったので過去に .NET 8 でデプロイ済みだった Lambda 関数からモジュールをダウンロードしておきました。
実行ロールも事前に作成しておきcreate-functionを呼び出します。
% aws lambda create-function \
--function-name hoge1213dotnet10 \
--runtime dotnet10 \
--role arn:aws:iam::123456789012:role/hoge-admin-lambda \
--handler hoge0221dotnet::hoge0221dotnet.Function::FunctionHandler \
--zip-file fileb://hoge1213code.zip \
--region ap-northeast-1
{
"FunctionName": "hoge1213dotnet10",
"FunctionArn": "arn:aws:lambda:ap-northeast-1:123456789012:function:hoge1213dotnet10",
"Runtime": "dotnet10",
"Role": "arn:aws:iam::123456789012:role/hoge-admin-lambda",
"Handler": "hoge0221dotnet::hoge0221dotnet.Function::FunctionHandler",
"CodeSize": 31640,
"Description": "",
"Timeout": 3,
"MemorySize": 128,
"LastModified": "2025-12-12T22:16:57.427+0000",
"CodeSha256": "MTUwjsWPiPikDs6OkolPB7l87QR05mD+DJEY/jIeUXU=",
"Version": "$LATEST",
"TracingConfig": {
"Mode": "PassThrough"
},
"RevisionId": "99340516-36e8-4879-a367-37f8018dcf07",
"State": "Pending",
"StateReason": "The function is being created.",
"StateReasonCode": "Creating",
"PackageType": "Zip",
"Architectures": [
"x86_64"
],
"EphemeralStorage": {
"Size": 512
},
"SnapStart": {
"ApplyOn": "None",
"OptimizationStatus": "Off"
},
"RuntimeVersionConfig": {
"RuntimeVersionArn": "arn:aws:lambda:ap-northeast-1::runtime:5958482886ac4fd96419c6754f898ed08e162d11e51c6285ec563aaba8ec7ccf"
},
"LoggingConfig": {
"LogFormat": "Text",
"LogGroup": "/aws/lambda/hoge1213dotnet10"
}
}
API 実行エラーにならなかったですね。デプロイできています!
マネジメントコンソールを見てみましょう。

無事、.NET 10 の関数を作成することが出来ました。
さいごに
本日は AWS CLI を使って .NET 10 の Lambda 関数を作成してみました。
作成出来ましたね。Node.js 24 の時はツールのアナウンスがされたタイミングではまだ API 側が対応していなくてデプロイできなかったんですよ。
同じ状況の可能性もあるかなーと思ったのですが、今回は対応済みでした。
なお、.NET 10 は LTS のため End Of Support は 2028 年 11 月までです。
C# 14、F# 10 が使えるのもありますが、NativeAOT の速度やサイズも改善されており AWS Lambda でも恩恵を受ける機会はありそうです。









