無限ノック › DVA 練習問題一覧 › 問題
DVAAWSのサービスを使用した開発

金融取引システムのバックエンドとして動作するLambda関数があります。この関数はAPI Gatewayから同期的に呼び出され、「99パーセンタイルで200ms以内」という厳しいレスポンスタイムSLA(サービスレベル合意)が設定されています。トラフィックの少ない深夜後の早朝に最初の数リクエストでコールドスタートによる2〜3秒の遅延が発生し、SLA違反となっています。デプロイメントの複雑さを最小限にしつつコールドスタートを完全に排除する方法として、最も適切なものはどれですか?

A
Lambda関数のメモリを最大値の10,240MBに設定し、初期化時間を短縮する
メモリを最大値に設定するとCPUリソースが増えコールドスタート時間は短縮されますが、完全に排除はできず、金融系SLA要件の数秒の初期化処理はSLA違反のままです。
B
Lambda関数にReserved Concurrency(予約済み同時実行数)を設定し、他の関数から同時実行枠を確保する
Reserved Concurrencyは最大同時実行数を予約するものであり、実行環境の事前初期化機能はないため、コールドスタートは引き続き発生します。SLA違反を防ぎません。
C
Lambda関数のエイリアスにProvisioned Concurrency(プロビジョニング済み同時実行数)を設定し、事前に初期化された実行環境を維持する
✓ 正解
Provisioned Concurrencyを設定すると指定数の実行環境がInit フェーズまで事前完了した状態で待機し、リクエスト時にコールドスタートが発生しません。金融系の厳しいSLA要件に最適な公式ソリューションです。
D
EventBridgeのスケジュールルールで5分ごとにLambda関数をウォームアップ呼び出しする
EventBridgeスケジュールによるウォームアップ呼び出しはスケールアウト時の新規インスタンスや呼び出し間隔が開いた場合に効果がなく、本番環境では信頼性が低い非推奨アプローチです。

解説

Provisioned Concurrencyを設定すると、指定した数の実行環境が事前にInit(初期化)フェーズまで完了した状態で待機し、リクエストが来た際にコールドスタートが発生しません。金融系のような厳しいSLAを持つアプリケーションに最適な公式の解決策です。エイリアス(またはバージョン)に対して設定します。 選択肢AのLambda関数のメモリを最大値に設定する方法はメモリ増加によりCPUリソースが増えコールドスタート時間を短縮できる場合がありますが、完全には排除できず数秒かかる初期化処理はSLA違反のままです。 選択肢BのReserved Concurrencyは最大同時実行数を上限として予約するものであり、実行環境を事前初期化する機能はなく、コールドスタートは引き続き発生します。 選択肢DのEventBridgeのスケジュールルールでウォームアップ呼び出しをする方法はスケールアウト時の新規インスタンスや、呼び出し間隔が開いた場合には効果がなく、本番環境では信頼性が低い非推奨のアプローチです。

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

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

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