前提
・Docker使える状態
・AWSサービス使える状態
①amazon linuxのイメージを取得
docker pull amazonlinux
②Dockerfileを作成
FROM amazonlinux:latest
RUN yum install -y python3 zip
RUN mkdir /home/deploy
③docker-compose.ymlを作成
docker-compose.yml
version: '2'
services:
app:
build: .
volumes:
- './deploy:/home/deploy'
command: >
bash -c "pip3 install -r /home/deploy/requirements.txt -t /home/deploy/python &&
cd /home/deploy &&
/usr/bin/zip -r bs4.zip python"
④ディレクトリを作成
今回は、Dockerfileとymlに記載したディレクトリ名と合わせてdeployというディレクトリと、その下にこちらは決め打ちのpythonというディレクトリを作成します。

⑤pip installするライブラリを記述したrequirement.txtを作成しdeployディレクトリ配下に置く。
今回はwebスクレイピングで使うbs4とrequestsを記述します。まずはbs4のみ。
requirements.text
bs4
⑥ディレクトリ構成の確認
$ tree
├── Dockerfile
├── deploy
│ ├── python
│ └── requirements.txt
└── docker-compose.yml
⑦Lambdaレイヤーにアップロードするパッケージを取得
下記をコマンド実行します。
docker-compose up --build
⑧もう一つのパッケージを作るために③と⑤を編集し⑦を実行(必要なパッケージが一つだけなら不要)
docker-compose.yml
version: '2'
services:
app:
build: .
volumes:
- './deploy:/home/deploy'
command: >
bash -c "pip3 install -r /home/deploy/requirements.txt -t /home/deploy/python &&
cd /home/deploy &&
/usr/bin/zip -r requests.zip python"
requirements.text
requests
docker-compose up --build
⑨レイヤーの作成
⑧までに作成したパッケージをアップロードします。 ※ランタイムは3.7以下にします。3.8以上はamazonlinux2でないといけないので本記事の対象外です。 
⑩レイヤーの追加
先ほどの⑨で作ったレイヤーを動かしたいLambda関数に追加します。
種類はカスタムレイヤーで選択します。
⑪Lambdaを動かしてみる
まずはレイヤーを作らなかった時の失敗例をご覧ください。bs4やrequestsは元々Lambdaに用意されていないのでエラーになります。
続きましてレイヤーを追加した成功例です。今回はライブラリがimportできているので、目的の口コミスクレイピングが出来ています。 