Lambda at Edge Chrome
2021/06/08
目次
Lambda layer を作成する
Headless Chrome 本体のレイヤーと、pip ライブラリをインストールしたレイヤーの 2 つを作成します。
chrome Layer
以下の 2 点を Zip にします。
- adieuadieu/serverless-chrome: 🌐 Run headless Chrome/Chromium on AWS Lambda
- Headless Chrome を Lambda で動作するようにカスタマイズしたライブラリ
- ChromeDriver - WebDriver for Chrome - Downloads
- Chrome を制御する WebDriver
今回は Serverless Chrome Release v1.0.0-37、Chromedriver 2.37を用いました。(最新版は容量不足で入らなかった)
これらを解凍して実行権限を与え、chrome
フォルダにまとめて zip に固めます。
chrome
├── chromedriver
└── headless-chromium
$ chmod 755 chrome/*
$ zip -r chrome.zip chrome
chrome.zip
を Lambda Layer としてアップロードします。
selenium layer
画像のリサイズ処理を行うため、Pillow も一緒にインストールします。
$ pip3 install -t python/lib/python3.7/site-packages selenium Pillow
$ zip -r selenium.zip python
動かん。もう無理。
参考サイト
- [Python] Headless Chrome を AWS Lambda で動かす - Qiita
- [Python] pip3 のパッケージを AWS Lambda 上で import できるようにする - Qiita
- AWS Lambda で Pillow を使おうとしたらハマった - michimani.net
コメント
Github Issue と連動しています。