過去問ドリル

DVA-C02:AWS Certified Developer - Associate デプロイ 問8

デプロイ/デプロイするアプリ成果物の準備

Lambda 関数の依存関係が大きく、zip デプロイパッケージのサイズ上限を超えてしまいます。最も適切な対処はどれですか。

当サイトのオリジナル問題(DVA-C02:AWS Certified Developer - Associateの出題範囲「デプロイ」に対応。実際の試験問題ではありません)

正解:D

解説

Lambda の zip パッケージにはサイズ上限が複数あります。(1) Lambda の API・SDK・コンソールからの直接アップロードは圧縮時 50 MB まで(これを超える zip は S3 経由にします)、(2) 展開後(関数コード+レイヤーの合計)は 250 MB までです。依存関係が大きいと、この展開後 250 MB を超えて収まらないことがあります。Lambda はコンテナイメージ形式(非圧縮で最大 10 GB)でのパッケージングに対応しており、展開後 250 MB を超え 10 GB 以内に収まる大きな依存関係を含む関数は、コンテナイメージとしてデプロイするのが適切です。

下線の用語は 用語集 で意味を確認できます。

選択肢ごとの解説

  • A誤り。必要な依存を無理に削るのは、機能を損なうおそれがあり根本的な解決になりません。
  • B誤り。要件(大きな依存を持つ関数のデプロイ)を満たさず、Lambda を諦める必要はありません。
  • C誤り。実行時に毎回ダウンロードするのは、コールドスタート遅延と信頼性の問題を招きます。
  • D正しい。展開後 250 MB を超える依存関係でも、コンテナイメージ形式(非圧縮で最大 10 GB)でパッケージングすれば、Lambda 関数としてデプロイできます。
DVA-C02:AWS Certified Developer - Associateの問題を演習モードで解く