コンテナイメージによる Node.js Lambda のデプロイ
はじめに
Node.js Lambda をコンテナイメージでデプロイする方法を試しました。
前提
以下の環境で作成しています。
- Windows 10 Pro
- Node.js v22.11.0
- Rancher Desktop 1.16.0
ローカルで Lambda コンテナイメージ作成
Node.js プロジェクトの作成
npm
で新しい Node.js プロジェクトを作成します。
index.mjs
という名前のファイルを作成し、テスト用のハンドラーを書きます。
ここでは ES Modules 形式で書いています。
コンテナイメージの作成
Node.js の AWS ベースイメージを利用して Dockerfile
を作成します。
Docker イメージを作成します。
コンテナイメージを ECR にデプロイ
ECR のリポジトリは作成済み、AWS CLIもインストール済みとします。
ECR レジストリ に Docker CLI を認証
Docker CLI が認証トークンを利用できるように設定します。
ローカルイメージを ECR リポジトリにタグ付け
ECR にデプロイ
Lambda 用 IAM ロールの作成
作成する Lambda 用の IAM ロールを CloudFormation で作成します。
今回はマネジメントコンソールから実行します。
なお、CloudFormation 実行用のサービスロールを作成しておく必要があります。
Lambda の作成
AWS CLI で Lambda を作成します。
参考