View a markdown version of this page

アクティブ/アクティブレプリケーション - Amazon Managed Streaming for Apache Kafka

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

アクティブ/アクティブレプリケーション

アクティブ/アクティブ設定では、両方の MSK クラスターが読み取りと書き込みをアクティブに処理します。アクティブ/アクティブクラスタートポロジは、ほぼゼロの復旧時間と、ストリーミングアプリケーションが複数の AWS リージョンで同時に動作する機能を提供します。

プレフィックス付きトピック名レプリケーションの使用 (推奨)

アクティブ/アクティブ設定には、プレフィックス付きトピック名レプリケーション (コンソールでトピック名にプレフィックスを追加) を使用することをお勧めします。そのためには、レプリケートされたトピックを読み取るようにコンシューマーを再設定する必要がありますが、追加のデータ処理料金は発生しません。

  1. MSK クラスター A をソース、MSK クラスター B をターゲットとする MSK レプリケーターを作成します。

  2. 上記の MSK レプリケーターが正常に作成されたら、クラスター B をソース、クラスター A をターゲットとしてレプリケーターを作成します。

  3. プロデューサーのセットを 2 つ作成します。各プロデューサーは、プロデューサーと同じリージョンのクラスター内のローカルトピック (「トピック」など) に同時にデータを書き込みます。

  4. コンシューマーのセットを 2 つ作成します。各コンシューマーは、コンシューマーと同じ AWS リージョンの MSK クラスターからワイルドカードサブスクリプション ( など.*topic) を使用してデータを読み込みます。これにより、コンシューマーはローカルトピック ( などtopic) からローカルで生成されたデータと、 というプレフィックスを持つトピックの他のリージョンからレプリケートされたデータを自動的に読み取ります<sourceKafkaClusterAlias>.topic。これら 2 組のコンシューマーは、異なるコンシューマーグループ ID を持つ必要があります。これにより、MSK レプリケーターがコンシューマーグループのオフセットを他のクラスターにコピーしたときに、それらのオフセットが上書きされなくなります。

同一トピック名レプリケーションの使用

クライアントの再設定を避けるには、同じトピック名レプリケーション (コンソールで同じトピック名を保持) を使用して MSK レプリケーターを作成できます。ただし、レプリケーターごとに追加のデータ処理および転送料金が発生します。これは、各レプリケーターが通常の 2 倍のデータ量 (レプリケーションのために 1 回、無限ループを防ぐために 1 回) を処理する必要があるためです。ReplicatorBytesInPerSec メトリクスを使用して、各レプリケーターによって処理されるデータの合計量を追跡できます。

注記

アクティブ/アクティブトポロジに同一トピック名レプリケーションを使用する場合は、トピックを削除してから少なくとも 30 秒待ってから、同じ名前のトピックを再作成します。この待機期間は、重複したメッセージがソースクラスターにレプリケートされるのを防ぐのに役立ちます。コンシューマーは、ダウンストリームに影響を与えることなく、重複したメッセージを再処理できる必要があります。