DVAトラブルシューティングと最適化

あるオンラインイベントのチケット販売システムでは、販売開始直後に急激なアクセススパイクが発生します。バックエンドのデータベース接続制限を超過させないためにLambda関数の同時実行数を最大100に制限しつつ、特定の注文処理Lambdaで発生するコールドスタートによる遅延を完全に回避したいと考えています。どの設定の組み合わせを選択すべきですか。

A
予約済コンカレンシー(Reserved Concurrency)を100に設定し、プロビジョンドコンカレンシー(Provisioned Concurrency)を必要なインスタンス数分設定する。
✓ 正解
予約済コンカレンシーで上限数を制限してDB過負荷を防ぎ、プロビジョンドコンカレンシーで初期化済み環境を維持してコールドスタートを排除します。
B
予約済コンカレンシーを制限なしに設定し、プロビジョンドコンカレンシーの値を100に設定する。
予約済コンカレンシーを設定しない場合、最大同時実行数の上限が制御されないためバックエンドデータベースが過負荷になる危険があります。
C
API Gatewayのモック統合を利用してリクエストをキューイングし、Lambdaのメモリサイズを10GBに設定する。
モック統合はキューイング機能を持たず、メモリ増強だけでは同時実行数の上限管理やコールドスタート回避を同時達成できません。
D
Lambda関数のエイリアスに対してAuto Scalingポリシーを適用し、プロビジョンドコンカレンシーのみを100に設定する。
予約済コンカレンシーを設定しないと上限制限が機能しないため、データベースへのアクセス急増による接続エラーを防止できません。

解説

「予約済コンカレンシー」を設定することで、関数が同時に実行できる上限値を特定(例: 100)に制限し、ダウンストリーム(DB)のパンクを防ぐことができます。同時に「プロビジョンドコンカレンシー」を設定することで、指定した数の実行環境があらかじめ初期化・準備された状態となるため、コールドスタート遅延を排除できます。この2つを適切に組み合わせることが解となります。

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

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

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