AWS Lambdaでライブラリを利用するのって地味に面倒くさい
AWS lambdaでライブラリを利用するときに面倒だと思った以下2点についての対処法
- zipフォルダを用意するまで
- 「デプロイパッケージが大きすぎて、インラインコード編集を有効にできません。...」の回避
zipフォルダを用意するまで
Dockerfileを準備
Dockerfile
# AWS Lambdaで利用するランタイムのバージョンを指定する
FROM ruby:2.7
WORKDIR mkdir /var/www
# /var/wwwの部分は/appなどなんでも良い
COPY /app/* /var/www
RUN bundle config --local set path 'vendor/bundle'
RUN bundle install
docker container を起動
$ docker image build -t XXX:YYY
XXX
のところはsample_app
YYY
のところはlatest
などでよい
$ docker container run -it -p 8000:8000 --name sample_app sample_app:latest
root@b1b2ee43a8bd:/#
bundle install
$ cd var/www
$ bundle config --local set path 'vendor/bundle'
$ bundle install
Docker Desktop for Macでライブラリのフォルダをダウンロードする
zipにしてアップロード
ドキュメントに記載されている通りのフォルダを作成する
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/packaging-layers.html