無限ノック › DVA 練習問題一覧 › 問題
DVAトラブルシューティングと最適化

金融系APIでAPI Gateway + Lambda アーキテクチャを使用している。CloudWatchのInit Durationメトリクスを確認すると、コールドスタート時に2〜3秒の遅延が発生しており、通常のウォームリクエストは100ms以内で処理される。SLAの要件として全リクエストの99パーセンタイルを500ms以内に抑える必要がある。アプリケーションコードを変更せずにこの問題を解決するための最適な方法はどれか?

A
Lambda関数にProvisioned Concurrencyを設定して、関数インスタンスを事前に初期化しておく
✓ 正解
Provisioned Concurrencyを設定すると、指定した数のLambda関数インスタンスが常に初期化・ウォーム状態で待機するため、コールドスタートが発生しません。コードを変更せずにコールドスタートを解消する公式の方法です。
B
Lambda関数のメモリを最大値(10,240MB)に増やしてCPU性能を向上させる
Lambda関数のメモリを最大値(10,240MB)に増やしてCPU性能を向上させる方法は、コールドスタート時間を多少短縮できますが保証はできません。
C
Amazon EventBridgeで定期的にLambda関数を呼び出し、ウォーム状態を維持する(ウォーミング)
Amazon EventBridgeで定期的にLambda関数を呼び出し、ウォーム状態を維持する方法は非公式な方法で、スケールアウト時に新インスタンスへのコールドスタートは依然発生します。
D
Lambda関数のタイムアウトを10秒に延長して、コールドスタートの遅延を許容する
Lambda関数のタイムアウトを10秒に延長して、コールドスタートの遅延を許容する方法はSLA違反の根本解決になりません。

解説

正解: Lambda関数にProvisioned Concurrencyを設定して、関数インスタンスを事前に初期化しておく。 Provisioned Concurrencyを設定すると、指定した数のLambda関数インスタンスが常に初期化・ウォーム状態で待機するため、コールドスタートが発生しません。コードを変更せずにコールドスタートを解消する公式の方法です。 選択肢Bは Lambda関数のメモリを最大値(10,240MB)に増やしてCPU性能を向上させる方法は、コールドスタート時間を多少短縮できますが保証はできません。 選択肢Cは Amazon EventBridgeで定期的にLambda関数を呼び出し、ウォーム状態を維持する方法は非公式な方法で、スケールアウト時に新インスタンスへのコールドスタートは依然発生します。 選択肢Dは Lambda関数のタイムアウトを10秒に延長して、コールドスタートの遅延を許容する方法はSLA違反の根本解決になりません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DVA の問題一覧に戻る