DEAデータオペレーションとサポート

あるデータエンジニアリングチームは、Amazon Kinesis Data Streams を使用してリアルタイムイベントデータを収集し、AWS Lambda 関数でコンシューム処理しています。 特定の時間帯に Lambda 関数の処理がストリームへの書き込みに追いつかなくなっていることが疑われています。 チームは Amazon CloudWatch を使用してコンシューマーの処理遅延(コンシューマーラグ)を定量的に監視したいと考えています。 監視すべき CloudWatch メトリクスとして最も適切なものはどれですか?

A
GetRecords.Bytes
GetRecords.Bytesは読み取ったデータ量を示すメトリクスであり、コンシューマーの処理遅延の有無や大きさを判定するには適さないメトリクスです。
B
GetRecords.IteratorAgeMilliseconds
✓ 正解
GetRecords.IteratorAgeMillisecondsはコンシューマーが取得したレコードがストリームに書き込まれてからの経過時間を示します。この値の増加がコンシューマー遅延を定量的に表し、処理遅延の大きさを最適に把握できます。
C
PutRecord.Success
PutRecord.Successはプロデューサー側の書き込み成功率を示すメトリクスで、コンシューマーの処理遅延計測とは無関係です。遅延監視には適していません。
D
ReadProvisionedThroughputExceeded
ReadProvisionedThroughputExceededはThrottling発生回数を示していますが、遅延の大きさを定量的に表す指標ではなく、スループット制限の有無のみを示しています。

解説

GetRecords.IteratorAgeMilliseconds はコンシューマーが最後に取得したレコードがストリームに書き込まれてからの経過時間(ミリ秒)を示します。この値が増加するほどコンシューマーがプロデューサーに追いついておらず、処理遅延の大きさを定量的に把握できる最適な指標です。 選択肢AのGetRecords.Bytesは読み取ったデータ量(バイト数)を示すメトリクスであり、処理遅延の有無や大きさの判断には使用できません。 選択肢CのPutRecord.Successはプロデューサー側のレコード書き込み成功率を示すメトリクスであり、コンシューマーの遅延計測には無関係です。 選択肢DのReadProvisionedThroughputExceededはコンシューマーがスループットの制限(Throttling)に遭遇した回数を示しますが、遅延の大きさを定量的に表す指標ではありません。

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

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

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