🍮

LLRT + TypeScriptのLambdaをCDKでDeployする

2024/02/19に公開

LLRTとは?

AWSが最近公開したJavascriptランタイムがLLRT(Low Latency Runtime)です。
Lambdaが10倍速くなって2倍安くなるらしいです。

公式はこちら
https://github.com/awslabs/llrt

難しいことは飛ばしてCDKでDeployする

実用するつもりも速度の検証とかをするつもりも今のところはないですが、とりあえず動かしてみました。

既にCDK用のライブラリを作った方がいるので遠慮なく使用する

公式のexampleを参照するのが一番良いのですが、TypeScriptのビルド設定などが思ったより面倒くさかったです。あるものは使うの精神で、より楽に構築できるこちらライブラリを使わせていただきます。[1]
https://github.com/tmokmss/cdk-lambda-llrt

インストール

npm i cdk-lambda-llrt

コードを書く

こんな感じでCDKを書きました。
https://github.com/k-ibaraki/llrt-lambda-cdk/blob/main/lib/llrt-lambda-sample-stack.ts

注意点として、ライブラリのReadmeに記載されている通りにtsファイルだけを指定するとNode14とかいう化石みたいな環境が使用されてしまいます。ライブラリのコードを読んだところLLRTのバージョンを指定するllrtVersion以外のpropsはNodejsFunctionを踏襲(というか継承)していましたので、それに従ってpropsを指定すればOKです。
細かい設定をする場合はNodejsFunctionのドキュメントを参照するかググって日本語の記事を探すかAIに聞くと良いと思います。

デプロイする

あとは通常通りCDKをDeployすれば、LLRTで動くLambdaをデプロイできます。簡単ですね。

npm i
npm run build
cdk deploy --profile {profile}

関数URLを付けておいたので、ブラウザからアクセスすると動いていることを確認できました。
冒頭にも書きましたが速度の検証とかはしていません。どなたかお願いします。

以上です。

脚注
  1. 非公式ライブラリかと思っていたのですが、どうやらライブラリの作者の方はAWS Japanの中の人みたいです ↩︎

NCDCエンジニアブログ

Discussion