Open4

AWS Lambda Web AdapterでtRPC・Honoを動かしたい!

たぬきうどん大盛りたぬきうどん大盛り

AWS Lambda Web Adapterとは

Lambda Web Adapterとは『VMやコンテナ用で作られたウェブアプリをLambdaで動かすためのツール』。

https://aws.amazon.com/jp/builders-flash/202301/lambda-web-adapter/

Dockerfileに以下を追加するだけでいけるみたい。

COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.4 /lambda-adapter /opt/extensions/lambda-adapter

https://github.com/awslabs/aws-lambda-web-adapter

仕組み

  1. API Gateway等からLambdaランタイムがイベントを受信
  2. Web Adapterがイベントをパースし、HTTPリクエストに変換し、WebアプリのプロセスにHTTPに転送
  3. Webアプリがリクエストを処理し、HTTPでレスポンス
  4. Web AdapterがAPI Gateway等が受け取る形式に変換し、Lmabdaランタイムへ返還
  5. LambdaランタイムがAPI Gateway等にレスポンスを返還

性能検証

以下記事を参照

https://aws.amazon.com/jp/builders-flash/202301/lambda-web-adapter/

たぬきうどん大盛りたぬきうどん大盛り

Dockerfileに

RUN deno cache ./main.ts

を入れて、依存関係もイメージに詰めておかないと、Lambda起動時に

failed caching npm package ...

が出て、実行できなかった。