Lambda ランタイム - AWS Lambda

Lambda ランタイム

Lambda は、ランタイムの使用により複数の言語をサポートします。ランタイムは、Lambda と関数の間の呼び出しイベント、コンテキスト情報、レスポンスを中継する言語固有の環境を提供します。Lambda が提供するランタイムを使用することも、独自に構築することもできます。

Lambda はランタイムの選択に依存しません。シンプルな関数の場合、Python や Node.js などのインタープリター言語が最速のパフォーマンスを提供します。より複雑な計算を使用する関数の場合、Java などのコンパイル済み言語は初期化に時間がかかることがありますが、Lambda ハンドラーでは迅速に実行されます。ランタイムの選択は、開発者の好みや言語の精通度にも影響されます。

プログラミング言語のメジャーリリースにはそれぞれ別個のランタイムがあり、固有のランタイム識別子 (nodejs22.x または python3.13 など) を持っています。新しいメジャー言語バージョンを使用するように関数を設定するには、ランタイム識別子を変更する必要があります。AWS Lambda はメジャーバージョン間の下位互換性を保証できないため、これは顧客が主導権を持つ操作です。

コンテナーイメージとして定義された関数の場合は、そのコンテナーイメージを作成する際に、ランタイムと Linux ディストリビューションを選択します。ランタイムを変更するには、新しいコンテナーイメージを作成します。

デプロイパッケージに .zip ファイルアーカイブを使用する場合は、関数の作成時にランタイムを選択します。このランタイムは、関数の設定を更新することで変更できます。ランタイムは、Amazon Linux ディストリビューションの 1 つとペアを構成しています。基盤となる実行環境は、関数コードからアクセスできる追加のライブラリと環境変数を提供します。

Lambda は、実行環境で関数を呼び出します。実行環境では、関数の実行に必要なリソースを管理するセキュアで分離されたランタイム環境が提供されます。Lambda は以前の呼び出し (使用可能な場合) から実行環境を再利用しますが、新しい実行環境を作成することもできます。

Lambda で GoRust などの他の言語を使用するには、OS 専用ランタイムを使用してください。Lambda 実行環境には、呼び出しイベントの取得とレスポンスの送信を行うためのランタイムインターフェイスが搭載されています。カスタムランタイムを関数コードと共に実装するか、レイヤーに実装することで、他の言語をデプロイできます。

ランタイムのサポート

サポートされている Lambda ランタイムと廃止予定日リストを以下の表に示します。ランタイムが廃止された後も、一定期間中は関数の作成と更新が可能です。詳細については、「非推奨化後のランタイムの使用について」を参照してください。この表は、ランタイムの非推奨化に関するポリシー に基づき現在予定されているランタイム廃止予定日を示しています。これらの日付は計画上の目的で提供されており、変更されることがあります。

名前 識別子 オペレーティングシステム 廃止日 関数の作成をブロックする 関数の更新をブロックする

Node.js 22

nodejs22.x

Amazon Linux 2023

2027 年 4 月 30 日

2027 年 6 月 1 日

2027 年 7 月 1 日

Node.js 20

nodejs20.x

Amazon Linux 2023

2026 年 4 月 30 日

2026 年 6 月 1 日

2026 年 7 月 1 日

Python 3.13

python3.13

Amazon Linux 2023

2029 年 6 月 30 日

2029 年 7 月 31 日

2029 年 8 月 31 日

Python 3.12

python3.12

Amazon Linux 2023

2028 年 10 月 31 日

2028 年 11 月 30 日

2029 年 1 月 10 日

Python 3.11

python3.11

Amazon Linux 2

2026 年 6 月 30 日

2026 年 7 月 31 日

2026 年 8 月 31 日

Python 3.10

python3.10

Amazon Linux 2

2026 年 6 月 30 日

2026 年 7 月 31 日

2026 年 8 月 31 日

Python 3.9

python3.9

Amazon Linux 2

2025 年 12 月 15 日

2026 年 2 月 3 日

2026 年 3 月 9 日

Java 21

java21

Amazon Linux 2023

2029 年 6 月 30 日

2029 年 7 月 31 日

2029 年 8 月 31 日

Java 17

java17

Amazon Linux 2

2026 年 6 月 30 日

2026 年 7 月 31 日

2026 年 8 月 31 日

Java 11

java11

Amazon Linux 2

2026 年 6 月 30 日

2026 年 7 月 31 日

2026 年 8 月 31 日

Java 8

java8.al2

Amazon Linux 2

2026 年 6 月 30 日

2026 年 7 月 31 日

2026 年 8 月 31 日

.NET 9 (コンテナのみ)

dotnet9

Amazon Linux 2023

スケジュールされていません

スケジュールされていません

スケジュールされていません

.NET 8

dotnet8

Amazon Linux 2023

2026 年 11 月 10 日

2026 年 12 月 10 日

2027 年 1 月 11 日

Ruby 3.4

ruby3.4

Amazon Linux 2023

スケジュールされていません

スケジュールされていません

スケジュールされていません

Ruby 3.3

ruby3.3

Amazon Linux 2023

2027 年 3 月 31 日

2027 年 4 月 30 日

2027 年 5 月 31 日

Ruby 3.2

ruby3.2

Amazon Linux 2

2026 年 3 月 31 日

2026 年 4 月 30 日

2026 年 5 月 31 日

OS 専用ランタイム

provided.al2023

Amazon Linux 2023

2029 年 6 月 30 日

2029 年 7 月 31 日

2029 年 8 月 31 日

OS 専用ランタイム

provided.al2

Amazon Linux 2

2026 年 6 月 30 日

2026 年 7 月 31 日

2026 年 8 月 31 日

注記

新しいリージョンでは、Lambda は今後 6 か月以内に廃止される予定のランタイムをサポートしません。

Lambda は、パッチの適用とマイナーバージョンリリースのサポートにより、マネージドランタイムと対応するコンテナベースイメージを最新の状態に保ちます。詳細については、「Lambda ランタイムの更新」を参照してください。

Lambda 関数から他の AWS のサービス やリソースとプログラムでやり取りするには、 AWS SDK のいずれかを使用できます。Node.js、Python、Ruby ランタイムには、 AWS SDK のバージョンが含まれています。ただし、依存関係を完全に制御し、ランタイムの自動更新中に下位互換性を最大化するには、コードが使用する SDK モジュール (および依存関係) を関数のデプロイ パッケージまたは Lambda レイヤーに常に含めておくことをお勧めします。

デプロイメントに追加のパッケージを含めることができない場合にのみ、ランタイムが含まれる SDK バージョンを使用することをお勧めします。例えば、Lambda コンソールコードエディタを使用して関数を作成する場合や、 CloudFormation テンプレートでインライン関数コードを使用する場合などです。

Lambda は、Node.js、Python、Ruby ランタイムに含まれる AWS SDK のバージョンを定期的に更新します。使用しているランタイムに含まれる AWS SDK のバージョンを確認するには、以下のセクションを参照してください。

Lambda は Go 1.x ランタイムが廃止された後も Go プログラミング言語を引き続きサポートします。詳細については、「AWS コンピュートブログ」の「AWS Lambda 関数を Go1.x ランタイムから Amazon Linux 2 のカスタムラインタイムに移行」を参照してください。

サポートされているすべての Lambda ランタイムは、x86_64 アーキテクチャと arm64 アーキテクチャの両方をサポートします。

新しいランタイムリリース

リリースが、言語のリリースサイクルの長期サポート (LTS) フェーズに達したときにのみ Lambda でその言語の新バージョン用マネージドランタイムが提供されます。例えば、Node.js のリリースサイクルでは、リリースが Active LTS フェーズに達したときです。

リリースは長期サポート段階に達するまでは開発段階にあり、重大な変更が加えられる可能性があります。Lambda はデフォルトでランタイム更新を自動的に適用するため、ランタイムバージョンに重大な変更があった場合、関数が期待どおりに動作しなくなる可能性があります。

Lambda は、LTS リリースが予定されていない言語バージョン用のマネージドランタイムを提供していません。

次のリストは、今後の Lambda ランタイムのリリース開始予定月を示しています。リストの日程は参考であり、変更される可能性があります。

  • Java 25 - 2025 年 10 月

  • Python 3.14 - 2025 年 11 月

  • Node.js 24 - 2025 年 11 月

  • .NET 10 - 2025 年 12 月

ランタイムの非推奨化に関するポリシー

.zip ファイルアーカイブの Lambda ランタイムは、メンテナンスとセキュリティ更新の対象となるオペレーティングシステム、プログラミング言語、およびソフトウェアライブラリの組み合わせを中心に構築されています。Lambda の標準的な非推奨化に関するポリシーは、ランタイムの主要コンポーネントのいずれかに対するコミュニティ長期サポート (LTS) 期間が満了し、セキュリティアップデートが利用できなくなった時点でランタイムを非推奨にするというものです。たいていの場合、これは言語ランタイムが対象ですが、オペレーティングシステム (OS) で LTS の満了を迎えることでランタイムが非推奨化される場合もあります。

ランタイムが非推奨になると、AWS はご使用のランタイムにセキュリティパッチを適用しなくなります。これにより、そのランタイムを使用する関数はテクニカルサポートの対象ではなくなります。このような非推奨のランタイムは、「現状のまま」の保証なしで提供されるため、バグ、エラー、欠陥、またはその他の脆弱性が含まれている可能性があります。

ランタイムのアップグレードと廃止の管理について詳しくは、以下のセクションおよび、「AWS コンピュートブログ」の「Managing AWS Lambda runtime upgrades」を参照してください。

重要

Lambda では、ランタイムがサポートする言語バージョンのサポート期間満了後も Lambda ランタイムの非推奨化を一定期間延長することがあります。この期間中、Lambda ではランタイム OS にのみセキュリティパッチを適用します。Lambda では、サポート期間を満了したプログラミング言語ランタイムにセキュリティパッチを適用しません。

責任共有モデル

Lambda は、サポートされているすべてのマネージドランタイムとコンテナベースイメージに関するセキュリティ更新のキュレーションと発行に対する責任を担います。デフォルトでは、Lambda はマネージドランタイムを使用してこれらの更新を関数に自動的に適用します。デフォルトの自動ランタイム更新設定が変更されている場合は、「責任共有モデル」を参照してください。コンテナー イメージを使用してデプロイされた関数の場合、最新のベースイメージから関数のコンテナイメージを再構築し、コンテナイメージを再デプロイする責任はお客様が担います。

ランタイムが非推奨になると、 Lambda のマネージドランタイムとコンテナベースイメージの更新はサポートされなくなります。サポートされているランタイムまたはベースイメージの使用における関数のアップグレードは、お客様の責任で行ってください。

いずれの場合も、依存関係を含め、関数コードへの更新の適用について、お客様が責任を持ちます。責任共有モデルに基づくお客様の責任は、次の表にまとめられています。

ランタイムライフサイクルフェーズ Lambda の責任 お客様の責任
サポートされているマネージドランタイム

セキュリティパッチやその他の更新プログラムを使用して、ランタイムを定期的に更新します。

ランタイム更新をデフォルトで自動的に適用します (デフォルト以外の動作については、「ランタイム更新モード」を参照してください)。

依存関係を含む関数コードを更新して、セキュリティの脆弱性に対処します。
サポートされているコンテナイメージ セキュリティパッチやその他の更新プログラムを使用して、コンテナベースイメージを定期的に更新します。

依存関係を含む関数コードを更新して、セキュリティの脆弱性に対処します。

最新のベースイメージを使用して、コンテナイメージを定期的に再構築して再デプロイします。

マネージドランタイムが非推奨になる予定日に近づいています

ドキュメント、Health Dashboard、E メール、および Trusted Advisor を使用して、ランタイムが非推奨になる前にお客様に通知します。

非推奨になると、弊社はランタイムを更新する責任を負いません。

ランタイムの非推奨情報に関する Lambda ドキュメント、Health Dashboard、E メール、または Trusted Advisor をモニタリングします。

以前のランタイムが非奨励になる前に、サポートされているランタイムバージョンに関数をアップグレードします。

コンテナイメージが非推奨になる予定日に近づいています

コンテナイメージを使用する関数では、非推奨に関する通知はありません。

コンテナベースイメージの更新は、非推奨時に終了します。

イメージの非推奨に伴い、非推奨に関するスケジュールの確認と、ベースイメージのサポートされるバージョンへのアップグレードを行ってください。

非推奨化後のランタイムの使用について

ランタイムが非推奨になると、AWS はご使用のランタイムにセキュリティパッチを適用しなくなります。これにより、そのランタイムを使用する関数はテクニカルサポートの対象ではなくなります。関数を無期限に呼び出すことはできますが、AWS ではサポートされているランタイムへの移行を強くお勧めします。非推奨のランタイムは、「現状のまま」の保証なしで提供されるため、バグ、エラー、欠陥、またはその他の脆弱性が含まれている可能性があります。非推奨のランタイムを使用する関数は、パフォーマンスが低下したり、証明書の有効期限切れなどの問題が発生したりして、正しく動作しなくなる可能性があります。

ランタイムが非奨励になった後はいつでも、関数を更新すると、サポートされている新しいランタイムバージョンを使用できます。本番環境に変更を適用する前に、新しいランタイムで関数をテストすることをお勧めします。関数の更新がブロックされると、非推奨になったランタイムに戻すことはできません。ロールバックによる安全なデプロイを有効にするには、関数のバージョンエイリアスを使用することをお勧めします。

次のタイムラインは、ランタイムが非推奨になったときにどうなるかを示しています。

ランタイムライフサイクルフェーズ メトリック

非推奨通知期間

非推奨になる少なくとも 180 日前

廃止

廃止日

  • AWS では、セキュリティ更新プログラムやその他の更新プログラムを適用しなくなる場合があります。

  • 関数はテクニカルサポートの対象ではなくなりました。

  • Lambda コンソールで非推奨になったランタイムを使用して新しい関数を作成または更新できなくなりました。AWS CLI、AWS SAM、または CloudFormation を使用して関数を引き続き作成および更新できます。

関数の作成をブロックする

非推奨になってから少なくとも 30 日後

  • Lambda は新しい関数の作成をブロックし始めます。

  • AWS CLI、AWS SAM、または CloudFormation を使用して、既存の関数のコードと設定は引き続き更新できます。

関数の更新をブロックする

非推奨になってから少なくとも 60 日後

  • Lambda は既存の関数のコードと構成の更新をブロックし始めます。

  • 関数設定は、サポートされているランタイムにアップグレードすることもできます。ただし、非推奨になったランタイムへのロールバックはブロックされる可能性があります。

注記

一部のランタイムでは、AWS は block-function-create および block-function-update の日付が非推奨になってから通常の 30 日および 60 日を超えて延期しています。AWS は顧客のフィードバックに応えてこの変更を行い、関数をアップグレードする時間を増やしました。ランタイムのサポート および 非推奨のランタイム の表を参照し、ランタイムの日付を確認してください。Lambda は、これらの表に記載されている日付より前に関数の作成や更新のブロックを行うことはありません。

ランタイムの廃止通知を受け取る

ランタイムが廃止日に近づくと、AWS アカウント 内にそのランタイムを使用している関数があると、Lambda からメールアラートが送信されます。通知は Health Dashboard と AWS Trusted Advisor にも表示されます。

  • メール通知の受信:

    Lambda は、ランタイムが廃止される少なくとも 180 日前にメールアラートを送信します。メールには、そのランタイムを使用するすべての関数の $LATEST バージョンが記載されています。影響を受ける関数バージョンの全リストを確認するには、Trusted Advisor を使用するか、非推奨のランタイムを使用する Lambda 関数に関するデータを取得する をご覧ください。

    Lambda は、AWS アカウント の主要アカウント連絡先にメール通知を送信します。アカウントのメールアドレスの表示または更新については、AWS 全般のリファレンスの「連絡先情報の更新」を参照してください。

  • Health Dashboard で通知を受信する:

    Health Dashboard は、ランタイムが廃止される少なくとも 180 日前に通知を表示します。通知は [アカウントの状態] ページの [その他の通知] に表示されます。通知の [影響を受けるリソース] タブには、ランタイムを使用するすべての関数の $LATEST バージョンが一覧表示されます。

    注記

    影響を受ける関数バージョンの、最新の全リストを確認するには、Trusted Advisor を使用するか、非推奨のランタイムを使用する Lambda 関数に関するデータを取得する をご覧ください。

    Health Dashboard 通知は、影響を受けるランタイムが廃止されてから 90 日後に表示されなくなります。

  • の使用AWS Trusted Advisor

    Trusted Advisor は、ランタイムが廃止される少なくとも 180 日前に通知を表示します。通知は [セキュリティ] ページに表示されます。影響を受ける関数のリストは、[非推奨のランタイムを使用する AWS Lambda 関数] に表示されます。この関数リストには $LATEST バージョンと公開済みバージョンの両方が表示され、関数の現在の状態を反映して自動的に更新されます。

    Trusted Advisor コンソールの [設定] ページから、Trusted Advisor の毎週のメール通知を有効にできます。

非推奨のランタイム

次のランタイムは、サポート終了に達しています。

名前 識別子 オペレーティングシステム 廃止日 関数の作成をブロックする 関数の更新をブロックする

Node.js 18

nodejs18.x

Amazon Linux 2

2025 年 9 月 1 日

2026 年 2 月 3 日

2026 年 3 月 9 日

.NET 6

dotnet6

Amazon Linux 2

2024 年 12 月 20 日

2026 年 2 月 3 日

2026 年 3 月 9 日

Python 3.8

python3.8

Amazon Linux 2

2024 年 10 月 14 日

2026 年 2 月 3 日

2026 年 3 月 9 日

Node.js 16

nodejs16.x

Amazon Linux 2

2024 年 6 月 12 日

2026 年 2 月 3 日

2026 年 3 月 9 日

.NET 7 (コンテナのみ)

dotnet7

Amazon Linux 2

2024 年 5 月 14 日

該当なし

該当なし

Java 8

java8

Amazon Linux

2024 年 1 月 8 日

2024 年 2 月 8 日

2026 年 3 月 9 日

Go 1.x

go1.x

Amazon Linux

2024 年 1 月 8 日

2024 年 2 月 8 日

2026 年 3 月 9 日

OS 専用ランタイム

provided

Amazon Linux

2024 年 1 月 8 日

2024 年 2 月 8 日

2026 年 3 月 9 日

Ruby 2.7

ruby2.7

Amazon Linux 2

2023 年 12 月 7 日

2024 年 1 月 9 日

2026 年 3 月 9 日

Node.js 14

nodejs14.x

Amazon Linux 2

2023 年 12 月 4 日

2024 年 1 月 9 日

2026 年 3 月 9 日

Python 3.7

python3.7

Amazon Linux

2023 年 12 月 4 日

2024 年 1 月 9 日

2026 年 3 月 9 日

.NET Core 3.1

dotnetcore3.1

Amazon Linux 2

2023 年 4 月 3 日

2023 年 4 月 3 日

2023 年 5 月 3 日

Node.js 12

nodejs12.x

Amazon Linux 2

2023 年 3 月 31 日

2023 年 3 月 31 日

2023 年 4 月 30 日

Python 3.6

python3.6

Amazon Linux

2022 年 7 月 18 日

2022 年 7 月 18 日

2022 年 8 月 29 日

.NET 5 (コンテナのみ)

dotnet5.0

Amazon Linux 2

2022 年 5 月 10 日

該当なし

該当なし

.NET Core 2.1

dotnetcore2.1

Amazon Linux

2022 年 1 月 5 日

2022 年 1 月 5 日

2022 年 4 月 13 日

Node.js 10

nodejs10.x

Amazon Linux 2

2021 年 7 月 30 日

2021 年 7 月 30 日

2022 年 2 月 14 日

Ruby 2.5

ruby2.5

Amazon Linux

2021 年 7 月 30 日

2021 年 7 月 30 日

2022 年 3 月 31 日

Python 2.7

python2.7

Amazon Linux

2021 年 7 月 15 日

2021 年 7 月 15 日

2022 年 5 月 30 日

Node.js 8.10

nodejs8.10

Amazon Linux

2020 年 3 月 6 日

2020 年 2 月 4 日

2020 年 3 月 6 日

Node.js 4.3

nodejs4.3

Amazon Linux

2020 年 3 月 5 日

2020 年 2 月 3 日

2020 年 3 月 5 日

Node.js 4.3 Edge

nodejs4.3-edge

Amazon Linux

2020 年 3 月 5 日

2019 年 3 月 31 日

2019 年 4 月 30 日

Node.js 6.10

nodejs6.10

Amazon Linux

2019 年 8 月 12 日

2019 年 7 月 12 日

2019 年 8 月 12 日

.NET Core 1.0

dotnetcore1.0

Amazon Linux

2019 年 6 月 27 日

2019 年 6 月 30 日

2019 年 7 月 30 日

.NET Core 2.0

dotnetcore2.0

Amazon Linux

2019 年 5 月 30 日

2019 年 4 月 30 日

2019 年 5 月 30 日

Node.js 0.10

nodejs

Amazon Linux

2016 年 8 月 30 日

2016 年 9 月 30 日

2016 年 10 月 31 日

ほとんどの場合、言語バージョンまたはオペレーティングシステムのサポート終了日は事前に通知されます。以下のリンク先には、Lambda がマネージドランタイムとしてサポートする各言語のサポート終了スケジュールが記載されています。

言語およびフレームワークのサポートポリシー