DVA-C02:AWS Certified Developer - Associate トラブルシューティングと最適化 問4
トラブルシューティングと最適化/AWS サービス・機能によるアプリの最適化レイテンシに敏感な Lambda ベースの API で、コールドスタートによる遅延を抑えたいと考えています。最も適切なのはどれですか。
当サイトのオリジナル問題(DVA-C02:AWS Certified Developer - Associateの出題範囲「トラブルシューティングと最適化」に対応。実際の試験問題ではありません)
- A関数のメモリを最小値に設定する
- B関数のタイムアウトを長く設定する
- C関数を使わないときも手作業でウォームアップし続ける
- Dプロビジョンド同時実行数(provisioned concurrency)を設定し、初期化済みの実行環境をあらかじめ準備してコールドスタートを抑える
正解:D
解説
Lambda は呼び出し時に実行環境の初期化(コールドスタート)が発生することがあり、レイテンシに敏感なワークロードでは遅延の原因になります。プロビジョンド同時実行数(provisioned concurrency)を設定すると、初期化済みの実行環境があらかじめ用意されるため、コールドスタートによる遅延を抑えられます。
選択肢ごとの解説
- A誤り。メモリを最小にすると、むしろ初期化や処理が遅くなる可能性があり、コールドスタート対策になりません。
- B誤り。タイムアウトを長くしても、初期化遅延(コールドスタート)そのものは解消しません。
- C誤り。手作業でのウォームアップ維持は運用負担が大きく、確実でもありません。
- D正しい。プロビジョンド同時実行数を設定すれば、初期化済みの実行環境が準備され、コールドスタートによる遅延を抑えられます。