LLRT + TypeScriptのLambdaをCDKでDeployする
LLRTとは?
AWSが最近公開したJavascriptランタイムがLLRT(Low Latency Runtime)です。
Lambdaが10倍速くなって2倍安くなるらしいです。
公式はこちら
難しいことは飛ばしてCDKでDeployする
実用するつもりも速度の検証とかをするつもりも今のところはないですが、とりあえず動かしてみました。
既にCDK用のライブラリを作った方がいるので遠慮なく使用する
公式のexampleを参照するのが一番良いのですが、TypeScriptのビルド設定などが思ったより面倒くさかったです。あるものは使うの精神で、より楽に構築できるこちらライブラリを使わせていただきます。[1]
インストール
npm i cdk-lambda-llrt
コードを書く
こんな感じでCDKを書きました。
注意点として、ライブラリの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を付けておいたので、ブラウザからアクセスすると動いていることを確認できました。
冒頭にも書きましたが速度の検証とかはしていません。どなたかお願いします。
以上です。
-
非公式ライブラリかと思っていたのですが、どうやらライブラリの作者の方はAWS Japanの中の人みたいです ↩︎
NCDC株式会社( ncdc.co.jp/ )のエンジニアチームです。 募集中のエンジニアのポジションや、採用している技術スタックの紹介などはこちら( github.com/ncdcdev/recruitment )をご覧ください! ※エンジニア以外も記事を投稿することがあります
Discussion