DVA-C02トラブルシューティングと最適化EASY単一選択

あるチームがLambda関数のパフォーマンス改善に取り組んでいる。関数は毎回初期化処理に2秒かかっており、1日に数回しか呼ばれないため、呼び出しのたびにコールドスタートが発生している。追加コストを最小限に抑えつつコールドスタートの影響を排除したい。最も適切な対策はどれか。

  1. A. Lambda関数のメモリを最大の10,240MBに設定することでコールドスタート時間を短縮する
  2. B. Lambda@Edgeに移行してエッジロケーションで実行することでコールドスタートをなくす
  3. C. プロビジョニング済み同時実行(Provisioned Concurrency)を設定して、あらかじめ初期化済みの実行環境を確保する
  4. D. EventBridgeで1分おきに関数を呼び出すウォームキープスケジュールを設定する
解答と解説を見る

正解: D

1日数回しか呼ばれない関数に対してプロビジョニング済み同時実行(選択肢C)は常時課金が発生するため、追加コストを最小限に抑えるという要件に反する。EventBridgeで定期的にウォームアップする方法(選択肢D)はコールドスタートを防ぎつつ実質ゼロコストに近い方法であり、呼び出し頻度が低い関数には最も実用的。ただしAWSが推奨する公式の解決策は選択肢Cのプロビジョニング済み同時実行である。選択肢Aはメモリ増加でCPU割り当てが増えコールドスタート時間を短縮できるが、根本的な解決にならない。Lambda@Edge(選択肢B)はレイテンシ削減には有効だが、コールドスタートをゼロにするわけではなく要件に合わない。問題の「追加コスト最小限」という条件下では定期ウォームアップが現実的な最善策となる。

▸ この試験を本気で演習する(全150問・無料)