BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース AWS、Lambda用のAmazon Linux 2023ランタイムを発表

AWS、Lambda用のAmazon Linux 2023ランタイムを発表

原文リンク(2023-11-16)

AWSは最近、Lambdaサービスのマネージド・ランタイムおよびコンテナ・ベース・イメージとしてAmazon Linux 2023(AL2023)を導入した。このランタイムは、開発者がLambda関数を実行するためのOSのみの環境を提供する。

Amazon Linux 2のランタイムと比較すると、AL2023はデプロイ時のフットプリントが大幅に小さくなっており、glibcなどの一般的なライブラリの更新バージョンが提供され、新しいパッケージマネージャーが搭載されている。さらに、AL2023は、Node.js 20、Python 3.12、Java 21、.NET 8など、将来リリースされるLambdaランタイムのベースとしても使用されるとしている。

AL2023の概要(出典:Amazonウェブサイト)

シニアソリューションアーキテクトのRakshith Rao氏は、AL2023のOS専用環境とは何かを説明する。

Lambdaは、Java、Python、Node.js、.NET、Rubyのマネージド・ランタイムを提供する。Lambdaは、Java、Python、Node.js、.NET、Rubyのマネージド・ランタイムを提供しているが、Lambdaのマネージド・ランタイムがサポートしていないプログラミング言語でLambda関数を開発したい場合、"provided "ランタイム・ファミリーは、どの言語で書かれたコードでも実行できるOSのみの環境を提供する。今回のリリースでは、Amazon Linux 2023をサポートするために提供ランタイム・ファミリーを拡張した。

開発者は、OSのみのランタイムを3つのシナリオで使うことができる。

  • 第一に、Go、Rust、C++、.NET Native AOT、Java GraalVM Nativeなどの言語で、コンパイルされたバイナリのみがLambdaにアップロードされ、実行にはOS環境のみが必要となる。
  • 第二に、PHP用のBrefやSwiftベースのLambda関数用のSwift AWS Lambda Runtimeなど、サードパーティの言語ランタイムの使用を容易にする。
  • そして最後に、LambdaがLTSリリースしかサポートしていないNode.js 19に代表されるように、Lambdaのマネージド・ランタイムがカバーしていない言語やバージョン用のカスタム・ランタイムをデプロイすることだ。

開発者がAL2023カスタムランタイムを使用したい場合、LambdaコンソールのCreate functionページに移動し、Runtimeの値としてProvide your own bootstrap on Amazon Linux 2023を選択するか、AWS SAMテンプレートを使用してLambda関数をビルドしてデプロイし、Runtimeの値としてprovided.al2023を使用する。例としては以下のようになる。

Resources:  HelloWorldFunction:    Type: AWS::Serverless::Function    Properties:      CodeUri: hello-world/      Handler: my.bootstrap.file      Runtime: provided.al2023

さらに、AL2カスタムランタイムベースのLambda関数からAL2023に移行もできる。

Staxのエンジニアリング・リードであるMark Wolfe氏がツイートしている。

AWS lambdaの小さなDockerベースイメージについては素晴らしいことだが、正直なところ、なぜこの投稿がphpとswiftについて言及しているのかよくわからないが...。まだgo1.xからal2に移行していないのであれば、al2023にスキップできます。

最後に、AL2023は現在、中国とGovCloudリージョンを除く、Lambdaが知られている全てのリージョンで利用可能だ。

作者について

この記事に星をつける

おすすめ度
スタイル

BT