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

あるメディア企業が、オンプレミスの Apache Kafka クラスター(毎秒 100 万件のイベント処理)をリアルタイム推薦エンジンのバックエンドとして使用しています。AWS への移行にあたり、既存の Kafka プロデューサー・コンシューマーコードをできる限り変更せずに済む、高スループットのマネージドメッセージングサービスを選択する必要があります。最も適切なものはどれですか。

A
Amazon Kinesis Data Streams を使用し、Kafka 互換 SDK ラッパーライブラリで既存コードを部分的に再利用する
Amazon Kinesis Data Streams は Kafka とは異なる独自プロトコルを採用しており、Kafka クライアント API と互換性がない。既存のプロデューサー・コンシューマーコードを Kinesis SDK に全面書き直す必要があり、コード変更を最小限にするという要件を満たせない。
B
Amazon MSK(Managed Streaming for Apache Kafka)を使用し、既存の Kafka API をそのまま利用して移行する
✓ 正解
Apache Kafka のフルマネージドサービスであり、標準 Kafka プロトコルと完全互換性を持つ。既存のプロデューサー・コンシューマーコードをそのまま利用でき、ブローカー管理を AWS に委任できるため、コード変更を最小限に抑えた高スループット移行が実現できる。
C
Amazon SQS FIFO キューを使用し、プロデューサー・コンシューマーのコードを SQS SDK へ全面移行する
Amazon SQS FIFO キューは Kafka API と互換性がなく、プロデューサー・コンシューマーのコードを SQS SDK に全面的に書き換える必要がある。また 1 秒あたり 100 万件という大規模なスループット要件を単一キューで処理する設計にも適していない。
D
Amazon EventBridge を使用し、イベントバスにプロデューサーを接続してルールでコンシューマーへルーティングする
Amazon EventBridge はルールベースのサーバーレスイベントバスであり、Kafka が提供するオフセット管理・パーティション制御・コンシューマーグループなどのストリーミング機能を持たない。大量イベントの順序保証や再処理にも対応しておらず、Kafka の高スループット要件を満たせない。

解説

Amazon MSK は Apache Kafka のフルマネージドサービスであり、既存の Kafka プロデューサー・コンシューマーコードをそのまま使用できる。Kafka API と完全互換性があるため、コード変更を最小限に抑えながら AWS への移行が可能。ブローカーのプロビジョニング・パッチ・スケーリングは AWS が管理するため運用負荷も低い。 選択肢Aの Amazon Kinesis Data Streams は Kafka 互換 API を持たないため、プロデューサー・コンシューマーを Kinesis SDK に書き直す必要があり、コード変更量が大きくなる。 選択肢Cの Amazon SQS FIFO キューは Kafka と API 互換性がなくコードの全面改修が必要であり、1 秒あたり 100 万件という大規模スループットを単一キューで処理する設計にも適していない。 選択肢Dの Amazon EventBridge はサーバーレスイベントバスであり、Kafka のオフセット管理・パーティション制御・コンシューマーグループ機能を提供しないため不適。

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

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

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