Lambdaレイヤーによる共通コードと依存関係の共有

レイヤーはZIP型関数の共通コードを配布し、各関数から特定バージョンを参照する。レイヤーを含む展開後250MBの制限を回避する機能ではなく、新バージョンへの切替えも各関数で行う。 実装すれば共有できるが、取得・展開・版の管理が関数側へ残る。ZIP関数へバージョン単位で関連付ける標準機能はLambdaレイヤーである。 個別ZIPへの重複組み込みはデプロイサイズ肥大化と保守性の悪化を招く。 イメージ形式での共有は可能だが、本問はZIP関数への配布を維持する。デプロイ方式を変えずに依存を分離するにはレイヤーを使う。

ZIP形式でデプロイする複数のLambda関数が共通ライブラリへ依存する。各関数のZIP内の重複を減らし、ライブラリをバージョン単位で配布したい。レイヤーを含む展開後サイズの制限は守る。

最も適切なものを1つ選択してください。

出典AWS非公式・オリジナル問題
ア
共通ライブラリをS3へ保存し、全関数が初回実行時に取得する
イ
共通ライブラリを「AWS Lambdaレイヤー(Lambda Layers)」としてパッケージ化し、各Lambda関数に関連付ける
ウ
すべてのLambda関数のコード内に同一のライブラリZIPファイルを毎回含めてアップロードする
エ
共通ライブラリをコンテナイメージへまとめて配布する