無限ノック › DEA 練習問題一覧 › 問題
DEAデータオペレーションとサポート

あるデータエンジニアリングチームは、Amazon MSK(Managed Streaming for Apache Kafka)を使用してリアルタイムデータパイプラインを運用しています。 コンシューマーアプリケーション(Amazon EC2 上で稼働)が Kafka トピックのメッセージ処理に遅延した場合に早期検知し、チームへアラートを送信したいと考えています。 追加の開発コストを最小限に抑えながらコンシューマーの処理遅延(コンシューマーラグ)を監視するために最も適切な方法はどれですか?

A
Amazon CloudWatch で MSK ブローカーレベルの BytesInPerSec メトリクスを監視し、データ流入量の低下をコンシューマーラグの代替指標として検知する
CloudWatch BytesInPerSec メトリクスはブローカーへのデータ到着量を示すメトリクスであり、コンシューマーが処理に追いついているかを直接示すものではありません。
B
Kafka 管理ツール(kafka-consumer-groups.sh)を定期実行する AWS Lambda 関数を作成し、コンシューマーグループのラグを CloudWatch カスタムメトリクスとして送信してアラームを設定する
Lambda で Kafka 管理ツール定期実行は方法としても機能しますが、追加の開発・運用コストが必要であり、MSK のネイティブ機能を活用する方法と比べて複雑になります。
C
Amazon MSK クラスターで CloudWatch の OffsetLag メトリクスを有効にし、コンシューマーグループ・パーティションごとのラグに対して CloudWatch Alarm を設定して Amazon SNS で通知する
✓ 正解
Amazon MSK は CloudWatch に OffsetLag メトリクスをネイティブに公開しており、コンシューマーグループとトピックパーティションごとの処理遅延(最新オフセットとコミット済みオフセットの差)を追加開発なしに監視できます。CloudWatch Alarm と SNS を組み合わせることで処理遅延の早期通知が実現できます。
D
Amazon Kinesis Data Streams へ移行し、GetRecords.IteratorAgeMilliseconds メトリクスを使用してコンシューマーの処理遅延を監視する
Kinesis Data Streams への移行は、コンシューマーラグ監視のためだけに行う変更としては過大であり、既存の MSK 環境への投資が無駄になります。

解説

Amazon MSK は CloudWatch に OffsetLag メトリクスをネイティブに公開しており、コンシューマーグループとトピックパーティションごとの処理遅延(最新オフセットとコミット済みオフセットの差)を追加開発なしに監視できます。CloudWatch Alarm と SNS を組み合わせることで処理遅延の早期通知が実現できます。 選択肢AのCloudWatch BytesInPerSec メトリクスはブローカーへのデータ到着量を示すメトリクスであり、コンシューマーが処理に追いついているかを直接示すものではありません。 選択肢Bの Lambda で Kafka 管理ツール定期実行は方法としても機能しますが、追加の開発・運用コストが必要であり、MSK のネイティブ機能を活用する方法と比べて複雑になります。 選択肢DのKinesis Data Streams へ移行は他のストリーミングサービスへの移行はコンシューマーラグ監視のためだけに行う変更としては過大であり、既存の MSK 環境への投資が無駄になります。

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

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

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