TL; DR
- AWS Lambda Layers の内側で AWS SDK を require してると死ぬので Lambda Layer を使ってはいけない。
AWS Lambda で nodejs 18 のサポートが始まりました
これによって Runtime.NODEJS_16_X
から Runtime.NODEJS_18_X
にできるのですが Runtime.NODEJS_18_X
からは AWS SDK for JavaScript v2
が実行環境上に存在しなくなり AWS SDK for JavaScript v3
のみが実行環境上に存在します。
そのため Lambda Layer で AWS SDK for JavaScript v2
を require する手段がなくなるので死にます。
これなら大人しく AWS Lambda
ごとに esbuild などでくっつけていた方がまだマシでした。
少なくとも nodejs で Lambda Layer を利用する必要は全くなく、下手に利用すると AWS 側の都合で悲惨なことになってしまうので、以後 Lambda Layer を使うのは避けるべきです。