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

あるデータエンジニアリングチームは、Amazon Managed Streaming for Apache Kafka(Amazon MSK)を使用してIoTセンサーデータをリアルタイムで取り込んでいます。コンシューマーアプリケーションが負荷増大時にメッセージの処理が追いつかなくなる事象が発生しており、コンシューマーラグ(コンシューマーがプロデューサーの書き込みに対して遅延しているオフセット量)をリアルタイムに監視し、閾値を超えた場合にアラートを発報したいと考えています。 最も適切な方法はどれですか?

A
Amazon MSKのコンシューマーグループモニタリングを有効化し、Amazon CloudWatchのSumOffsetLagメトリクスに対してアラームを設定する
✓ 正解
Amazon MSKはコンシューマーグループモニタリングを有効化することで、SumOffsetLag(全パーティションの合計オフセットラグ)・MaxOffsetLag・EstimatedTimeLagなどのメトリクスをAmazon CloudWatchに自動公開します。これらのメトリクスを使ってCloudWatchアラームを設定することで、追加のコーディングなしにコンシューマーラグの監視とアラート発報を実現できます。
B
MSKブローカーのシステムログをAmazon CloudWatch Logsにストリーミングし、Logs Metric Filterでオフセット差分に関するパターンを検出してアラームを作成する
CloudWatch Logsメトリクスフィルターはブローカーログにオフセット情報が出力される保証がなく、信頼性の高いラグ計測には不適切です。
C
Amazon Managed Service for Apache Flink(旧Kinesis Data Analytics)アプリケーションを作成し、MSKコンシューマーグループのオフセットを継続的にポーリングして遅延検知時にSNS通知する
ストリーム処理エンジンはデータ変換・集計が主目的であり、コンシューマーグループのオフセット監視ポーリングには過剰な構成です。
D
AWS Lambdaを定期的にスケジュール実行してKafka AdminClientでコンシューマーグループのオフセット差分を取得し、Amazon CloudWatchカスタムメトリクスとして送信してアラームを設定する
Lambdaによるカスタムメトリクス送信は機能しますが、スケジューリング・Lambda実装・エラーハンドリングなど追加の実装コストがかかります。MSKのネイティブ機能を利用する選択肢Aが最も適切です。

解説

Amazon MSKはコンシューマーグループモニタリングを有効化することで、SumOffsetLag(全パーティションの合計オフセットラグ)・MaxOffsetLag・EstimatedTimeLagなどのメトリクスをAmazon CloudWatchに自動公開します。これらのメトリクスを使ってCloudWatchアラームを設定することで、追加のコーディングなしにコンシューマーラグの監視とアラート発報を実現できます。 選択肢BのCloudWatch Logsメトリクスフィルターはブローカーログにオフセット情報が出力される保証がなく、信頼性の高いラグ計測には不適切です。 選択肢Cのストリーム処理エンジンはデータ変換・集計が主目的であり、コンシューマーグループのオフセット監視ポーリングには過剰な構成です。 選択肢DのLambdaによるカスタムメトリクス送信は機能しますが、スケジューリング・Lambda実装・エラーハンドリングなど追加の実装コストがかかります。MSKのネイティブ機能を利用する選択肢Aが最も適切です。

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

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

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