無限ノック › SAA 練習問題一覧 › 問題
SAA高性能なアーキテクチャの設計

ある金融データ企業がオンプレミスのApache Kafkaクラスターをクラウドへ移行しています。 以下の要件があります。 ・グローバルの証券取引所から毎秒200,000件の市場データイベントを受信する ・15の独立したコンシューマーアプリケーションがそれぞれ異なる処理速度でデータを消費する ・規制要件として30日間のデータ保持が必要 ・既存のKafkaコードを最小限の変更で再利用する必要がある ・エンドツーエンドのレイテンシを10ms以内に維持する この要件を最も満たすAWSサービスはどれですか?

A
Amazon Kinesis Data Streamsを200シャードで構成し、15のコンシューマーアプリケーション全てにEnhanced Fan-Outを使用する
Kinesis Data StreamsはKafkaとAPIが非互換のため既存のKafkaコードを全面的に書き直す必要があります。「最小限の変更で再利用」という要件を満たせない点が最大の欠点です。
B
Amazon MSK(Managed Streaming for Apache Kafka)でブローカーストレージを設定し、コンシューマーグループによる独立消費をサポートする
✓ 正解
MSKはApache Kafkaのマネージドサービスで既存のKafkaコードをほぼそのまま利用できます。Kafkaネイティブのコンシューマーグループで15アプリケーションが独立消費でき、30日保持とサブ10msレイテンシも実現可能です。
C
Amazon SQS標準キューをコンシューマーごとに用意し、デッドレターキューとLambdaトリガーで各アプリケーションを接続する
SQSはKafka APIと非互換で既存コードの全面書き直しが必要です。コンシューマーごとの個別キュー設計は管理が複雑になり、毎秒200,000件のハイスループット処理にも適していません。
D
Amazon Data Firehoseで動的パーティショニングを設定し、全コンシューマーがS3からデータを直接取得する構成にする
Amazon Data Firehoseはバッファリングを伴うS3等へのデータ配信サービスです。S3からのデータ取得構成では秒〜分単位の遅延が生じ、10ms以内のリアルタイム消費という要件を満たせません。

解説

選択肢AのAmazon Kinesis Data StreamsはKafkaのAPIと非互換で既存コードの全面書き直しが必要です。Enhanced Fan-Outで複数コンシューマーをサポートできますが、Kafkaのコンシューマーグループとはオフセット管理の概念が異なります。 選択肢BのAmazon MSK(Managed Streaming for Apache Kafka)はApache Kafkaの完全マネージドサービスで、既存のKafkaプロデューサー・コンシューマーAPIと完全互換です。既存コードをほぼ変更せずに移行でき、Kafkaネイティブのコンシューマーグループにより15アプリケーションが独立したオフセット管理で異なる処理速度でデータを消費できます。ブローカーのストレージ設定で30日保持を満たし、適切なブローカーサイジングでサブ10msレイテンシを実現できます。 選択肢CのAmazon SQSはKafka APIと非互換でコードの全面書き直しが必要です。コンシューマーごとに個別キューを作成する設計は管理が煩雑で、毎秒200,000件のスループット要件も満たしにくい構成です。 選択肢DのAmazon Data Firehoseはバッファリングを伴うデータ配信サービスで、コンシューマーがS3からデータを取得する構成では分単位の遅延が生じ10ms以内のリアルタイム消費を達成できません。

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

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

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