投稿日: Apr 27, 2023

AWS Lambda で、マネージドランタイムおよびコンテナベースイメージとして Java 17 がサポートされるようになりました。Java 17 を使用して Lambda でサーバーレスアプリケーションを作成するデベロッパーは、Java レコード、シールクラス、複数行の文字列などの新しい言語機能を活用できます。Lambda Java 17 ランタイムでは、Graviton 2 プロセッサで Lambda 関数を実行する際の最適化など、パフォーマンスも大幅に向上しています。迅速なコールドスタートを実現する AWS Lambda Snap Start (サポートされているリージョン内) と、人気の高い Spring Boot 3 および Micronaut 4 アプリケーションフレームワークの最新バージョンをサポートしています。Lambda による Java 17 のサポートの詳細については、Java 17 runtime now available in AWS Lambda (Java 17 ランタイムが AWS Lambda で利用可能に) のブログ記事をご覧ください。

Java 17 を使用した Lambda 関数をデプロイするには、Lambda コンソールからコードをアップロードし、Java 17 ランタイムを選択します。AWS CLIAWS サーバーレスアプリケーションモデル (AWS SAM)、および AWS CloudFormation を使用して、Java 17 で記述されたサーバーレスアプリケーションのデプロイと管理を行うことも可能です。さらに、AWS が提供する Java 17 ベースイメージを使用すると、コンテナイメージを使って Java 17 関数を構築してデプロイすることもできます。以前のバージョンの Java を実行している既存の Lambda 関数を移行するには、コードに Java 17 との互換性があることを確認してから、関数を再デプロイするときに関数のランタイムを Java 17 に更新します。

このランタイムは、OpenJDK の AWS Corretto ディストリビューションに基づいています。更新が利用可能になると、Java 17 のマネージドランタイムおよび AWS が提供する Java 17 ベースイメージに自動的に適用されます。

Java 17 ランタイムは、中国および GovCloud リージョンを除き、Lambda が提供されているすべてのリージョンで利用可能です。AWS Lambda の詳細については、製品ページをご覧ください。使用を開始するには、AWS Lambda コンソールにサインインしてください。