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

Lambda関数をバックエンドとするRESTful APIがあります。トラフィックが少ない深夜や週末の後に月曜朝のアクセス集中が発生すると、最初の数十リクエストでレイテンシが著しく高くなります(コールドスタートが原因)。SLAとして99パーセンタイルのレイテンシを300ms以内に抑える要件があります。この問題を解決するための最も適切な方法はどれですか?

A
Lambda関数のメモリサイズを最大の10,240MBに増強してCPUを強化し、コールドスタートを短縮する
Lambda関数のメモリサイズを最大の10,240MBに設定することはCPU性能も向上するためコールドスタート時間を若干短縮できますが、根本解決にはなりません。
B
Lambda関数にプロビジョニング済みコンカレンシー(Provisioned Concurrency)を設定する
✓ 正解
Lambda関数にプロビジョニング済みコンカレンシー(Provisioned Concurrency)を設定する プロビジョニング済みコンカレンシーを設定すると、指定した数のLambda実行環境が事前に初期化された状態で維持されます。リクエストが来た際にコールドスタートなしで即座に処理できるため、レイテンシの安定化に最も効果的です。
C
Lambda関数のタイムアウト値(Timeout)を最大の15分(900秒)に延長して処理完了を保証する
Lambda関数のタイムアウト値を最大の15分に延長することは処理の最大実行時間でありコールドスタートとは無関係です。
D
Lambda関数のデプロイパッケージをZIPアーカイブからコンテナイメージ(Container Image)形式に変更してECRに登録する
Lambda関数をZIPパッケージからコンテナイメージに変更することはイメージサイズが大きくなることでコールドスタートが悪化する場合があります。

解説

プロビジョニング済みコンカレンシーを設定すると、指定した数のLambda実行環境が事前に初期化された状態で維持されます。リクエストが来た際にコールドスタートなしで即座に処理できるため、99パーセンタイルのレイテンシ要件を安定して満たすのに最も効果的です。 選択肢AのLambda関数のメモリサイズ増強はCPU性能も向上するためコールドスタート時間を若干短縮できますが、コールドスタート自体はなくならず根本解決にはなりません。 選択肢CのLambda関数のタイムアウト値延長は処理の最大実行時間を設定するパラメータであり、コールドスタートの発生とは無関係です。 選択肢DのLambda関数をコンテナイメージに変更するとイメージサイズが大きくなることでコールドスタートが悪化する場合があり、レイテンシ改善にはなりません。

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

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

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