Awesome
Google Chrome for AWS Lambda as a layer
58 MB Google Chrome to fit inside AWS Lambda Layer compressed with Brotli
Sparticuz/chromium published as a Lambda Layer.
Tested with Node.js 16x/18x. Compatible with x86_64 only. Has Chromium v131.0.0
Getting Started
Click on Layers and choose "Add a layer", and "Provide a layer version ARN" and enter the following ARN.
arn:aws:lambda:us-east-1:764866452798:layer:chrome-aws-lambda:50
When importing the module within lambda, make sure you import @sparticuz/chromium
not chrome-aws-lambda
const chromium = require('@sparticuz/chromium');
package.json
@sparticuz/chromium
marked as a dependencypuppeteer-core
marked as a dependency
lambda container settings:
- x86_64 architecture
-
=1024mb memory
@sparticuz/chromium
marked as an externalModule in the bundling settings- A lambda layer marked like so (this is CDK code, but convert to SAM or whatever at will):
layers: [LayerVersion.fromLayerVersionArn(this, 'chromium-lambda-layer',
'arn:aws:lambda:us-east-1:764866452798:layer:chrome-aws-lambda:50'
)]
In the deployed lambda code
You can just use a regular ES6 or CommonJS import statement for @sparticuz/chrome-aws-lambda
, and just use as
indicated.
Available regions
- ap-northeast-1:
arn:aws:lambda:ap-northeast-1:764866452798:layer:chrome-aws-lambda:50
- ap-northeast-2:
arn:aws:lambda:ap-northeast-2:764866452798:layer:chrome-aws-lambda:49
- ap-south-1:
arn:aws:lambda:ap-south-1:764866452798:layer:chrome-aws-lambda:50
- ap-southeast-1:
arn:aws:lambda:ap-southeast-1:764866452798:layer:chrome-aws-lambda:50
- ap-southeast-2:
arn:aws:lambda:ap-southeast-2:764866452798:layer:chrome-aws-lambda:50
- ca-central-1:
arn:aws:lambda:ca-central-1:764866452798:layer:chrome-aws-lambda:50
- eu-north-1:
arn:aws:lambda:eu-north-1:764866452798:layer:chrome-aws-lambda:50
- eu-central-1:
arn:aws:lambda:eu-central-1:764866452798:layer:chrome-aws-lambda:50
- eu-west-1:
arn:aws:lambda:eu-west-1:764866452798:layer:chrome-aws-lambda:50
- eu-west-2:
arn:aws:lambda:eu-west-2:764866452798:layer:chrome-aws-lambda:50
- eu-west-3:
arn:aws:lambda:eu-west-3:764866452798:layer:chrome-aws-lambda:50
- sa-east-1:
arn:aws:lambda:sa-east-1:764866452798:layer:chrome-aws-lambda:50
- us-east-1:
arn:aws:lambda:us-east-1:764866452798:layer:chrome-aws-lambda:50
- us-east-2:
arn:aws:lambda:us-east-2:764866452798:layer:chrome-aws-lambda:50
- us-west-1:
arn:aws:lambda:us-west-1:764866452798:layer:chrome-aws-lambda:50
- us-west-2:
arn:aws:lambda:us-west-2:764866452798:layer:chrome-aws-lambda:50
License
MIT © Shelf