コンニチハ、BFT名古屋支店のヤタテです。 今回は、Lambdaでコンテナイメージを使用する方法について簡単にまとめてみました。
Dockerファイル
Lambda用コンテナを作成するためのDockerファイルは以下のように記述します。今回はAWS公式が用意しているLambda用ベースイメージを使用しました。また、実行するコードを含むjarファイルのほかに、外部ライブラリとしてJDBCドライバを使用しました。
# AWSで提供されているLambda用のベースイメージを指定 FROM public.ecr.aws/lambda/java:11 # ローカルに配置したjarファイルをコンテナ内にコピー COPY target/Sqldo3.jar ${LAMBDA_TASK_ROOT} # 同様にJDBCドライバをコピー COPY target/lib/postgresql-42.2.18.jar ${LAMBDA_TASK_ROOT}/lib/ # jarファイルを解凍 RUN ls -al RUN jar -xvf Sqldo3.jar # ハンドラーの設定 CMD [ "poc001.Sqldo::handleRequest" ]
ECRへのアップロード
Lambdaでコンテナを使用するためにはコンテナイメージをECRへアップロードする必要があります。ECRへのアップロード手順について詳細は以下の記事を参照してください。
Lambda関数の作成手順
- AWSマネジメントコンソールで[AWS Lambda]-[関数]を開き、[関数の作成]を選択する。
- [コンテナイメージ]を選択し、[コンテナイメージ URI]でECRにアップロードしたコンテナイメージを選択する。その他の設定値については通常のLambda関数と同様に設定する。
■参考
コンテナを使わない通常のLambdaでのJava実装、およびDockerの使い方について詳細は以下の記事をご参考にどうぞ。
bftnagoya.hateblo.jp
bftnagoya.hateblo.jp