無限ノック › DEA 練習問題一覧 › 問題
DEAデータの取り込みと変換

ある小売企業は、Amazon Kinesis Data Streamsを使ってリアルタイムの注文イベントを処理しています。ストリームは4シャードで構成されており、以下の3つのAWS Lambda関数が並行してコンシューマーとして動作しています。 ・注文確認メール送信 Lambda ・在庫更新 Lambda ・リアルタイム売上集計 Lambda ピーク時間帯に3つのLambdaすべてでGetRecordsの読み取り遅延(IteratorAgeMilliseconds)が増加しています。プロデューサー側のスループットはシャードの書き込み上限内に収まっていることは確認済みです。 この問題を解決するうえで最も適切な方法はどれですか?

A
UpdateShardCountを使用してシャード数を4から8に増加させる
シャード増加は、プロデューサーのスループットが不足している場合に有効ですが、本問ではコンシューマー間のスループット競合が原因であり根本解決になりません。
B
各Lambda関数にEnhanced Fan-Out(EFO)コンシューマーを設定し、シャードごとに専用の読み取りスループットを割り当てる
✓ 正解
Kinesis Data Streamsの標準読み取りでは、1シャードあたりの読み取りスループット上限は2MB/秒で全コンシューマーが共有します。3つのLambdaが同じシャードを読む場合、実質的に各Lambdaは約0.67MB/秒しか利用できません。Enhanced Fan-Out(EFO)を有効にすると、登録された各コンシューマーがシャードごとに独立した2MB/秒のスループットを得られます。プロデューサー側に問題がないことが確認済みのため、読み取り側の競合を解消するEFOが最適です。
C
Lambda関数の同時実行数上限(Reserved Concurrency)を引き上げる
Lambda同時実行数は、シャードの読み取りスループット上限とは無関係です。
D
Kinesis Data StreamsをAmazon Data Firehoseに置き換え、S3バッファリング配信に移行する
Amazon Data Firehoseはバッファリング配信向けサービスで、3つの異なるリアルタイム処理を独立して実行する本要件には適合しません。

解説

Kinesis Data Streamsの標準読み取りでは、1シャードあたりの読み取りスループット上限は2MB/秒で全コンシューマーが共有します。3つのLambdaが同じシャードを読む場合、実質的に各Lambdaは約0.67MB/秒しか利用できません。Enhanced Fan-Out(EFO)を有効にすると、登録された各コンシューマーがシャードごとに独立した2MB/秒のスループットを得られます。プロデューサー側に問題がないことが確認済みのため、読み取り側の競合を解消するEFOが最適です。 選択肢Aのシャード増加は、プロデューサーのスループットが不足している場合に有効ですが、本問ではコンシューマー間のスループット競合が原因であり根本解決になりません。 選択肢CのLambda同時実行数は、シャードの読み取りスループット上限とは無関係です。 選択肢DのAmazon Data Firehoseはバッファリング配信向けサービスで、3つの異なるリアルタイム処理を独立して実行する本要件には適合しません。

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

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

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