Lambda Web AdapterでHonoアプリを移植性を保って動かす

Lambda Web Adapterを使うと通常のHTTPサーバーとして書いたHonoアプリをそのままLambdaで動かせる。コンテナ・EC2との可搬性を保つ構成を解説する。

仕組みと導入

アダプターがLambdaイベントをHTTPリクエストへ変換してlocalhostのアプリへ転送する。レイヤー追加またはコンテナイメージへの同梱で導入する。

Hono側の書き方

Lambda専用ハンドラを書かず、node-serverで通常のHTTPサーバーとして起動する。これで同一コードがECSやVPS上でも動く。

移植性の利点と代償

実行環境をLambdaに固定しない構成が最大の利点。代償はコールドスタートへの若干の上乗せで、レイテンシ要件次第で判断する。