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

開発者はAmazon Kinesis Data Streamsを使用してリアルタイムのクリックストリームデータを処理するシステムを構築しています。Lambda関数をコンシューマー(消費者)として使用する際、処理の並列性とスループットを最大化するための設定として最も適切なものはどれですか?

A
Kinesisストリームのシャード数を増やし、LambdaのParallelizationFactorを1に設定してシャードごとに1つのLambda実行を維持する
ParallelizationFactorを1に設定すると、シャードあたりの並列処理数が1つに制限され、並列性が最大化されません。シャード数を増やしても総スループットの大幅改善にはなりません。
B
KinesisのEnhanced Fan-Out(拡張ファンアウト)を有効にし、LambdaのParallelizationFactorを最大10に設定してシャードあたりの並列処理数を増やす
✓ 正解
Enhanced Fan-Outは各コンシューマーに専用2MB/秒スループットをHTTP/2プッシュ配信で提供し、レイテンシをミリ秒単位(約70ms)に短縮します。ParallelizationFactorを最大10で、1シャード当たり最大10並列実行が可能となりスループットが大幅に向上します。
C
SQSキューをKinesisの前段に配置し、LambdaのイベントソースマッピングをSQSに変更して自動スケーリングを実現する
SQSをKinesisの前段に置くことはアーキテクチャを複雑にするだけで、Kinesisの並列処理特性を活かした最適化にはなりません。
D
Lambda関数のProvisioned Concurrency(プロビジョニングされた同時実行)を設定し、コールドスタートを防いでスループットを向上させる
Provisioned Concurrencyはコールドスタート対策であり、処理スループット最大化が目的ではなく、本要件の解決には直結しません。

解説

Enhanced Fan-Out(拡張ファンアウト)は各コンシューマーに専用の2MB/秒スループットをHTTP/2プッシュ型配信で提供し、複数コンシューマー間で帯域を共有する通常方式より低レイテンシを実現します。さらにParallelizationFactor(並列化係数)を1〜10に設定することで、1シャードに対し最大10の並列Lambda実行が可能となりスループットが大幅に向上します。 Aのシャード数を増やしてもParallelizationFactorを1に設定すると、シャードあたりの並列処理数は1つに制限されるため並列性の最大化にはなりません。 CのSQSキューをKinesisの前段に配置することはアーキテクチャを複雑にするだけで、Kinesisストリームの並列処理特性を活かした最大化にはなりません。 DのProvisioned Concurrencyはコールドスタート対策であり、処理スループットの最大化が目的ではありません。

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

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

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