グローバルな金融取引会社は、オンプレミスのApache Kafka 2.8.0クラスター(12ブローカー、200トピック、日次スループット約500GB)でリアルタイム市場データ配信プラットフォームを構築しています。50以上のダウンストリームコンシューマーアプリケーションはすでにAWS上で稼働しており、取引シグナルの処理にこのプラットフォームを使用しています。以下の要件のもとでAmazon MSKへの移行を計画しています。 ・メッセージのゼロロスを保証する ・最終カットオーバー時のダウンタイムは2時間以内 ・移行期間中も既存コンシューマーアプリケーションはKafka互換APIで継続稼働 ・初期移行フェーズでの問題発生時にオンプレミスクラスターへロールバックできること ・MSKクラスターはコンシューマーアプリケーションと同一AWSリージョンに配置 すべての要件を満たす移行アプローチはどれですか?
MirrorMaker 2.0(MM2)はApache Kafkaのクロスクラスターレプリケーションツールであり、Kafkaクラスター間でトピックデータとコンシューマーグループオフセットを継続的にレプリケートする。MSK ConnectはMM2をフルマネージドなコネクターランタイムとして実行でき、スケーリングや可用性管理の運用負荷を排除できる。 このアプローチの移行手順は以下のとおりである。 ①MSK ConnectにMM2コネクターを構成し、オンプレミスKafka→MSKへのトピック・オフセットの継続レプリケーションを開始する。 ②コンシューマーグループオフセットもレプリケートされるため、コンシューマーはMSK切り替え後も同一オフセットから処理を再開でき、ゼロロスを保証できる。 ③レプリケーションラグがゼロ近傍になったタイミングでプロデューサーをMSKへ切り替え、コンシューマーを順次移行する。 ④MM2の逆方向レプリケーション(MSK→オンプレミス)をスタンバイで維持することでロールバックが可能になる。 選択肢AのAWS DMSは、リレーショナルデータベース移行に特化したサービスであり、KafkaはDMSのソースエンドポイントとしてサポートされていないため使用できない。 選択肢CのDebeziumは、RDBMSのCDCキャプチャ専用コネクターであり、KafkaトピックのKafka間レプリケーションには設計されていない。Lambdaブリッジによるメッセージ変換はゼロロス保証のリスクを高め複雑性も増大させる。 選択肢DのAWS DataSyncは、NFSやS3などのファイルシステム間転送サービスであり、Kafkaパーティションファイルのブローカー間移植機能やMSKへのインポート機能は存在しない。