

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

# アクティブ/アクティブレプリケーション
<a name="msk-replicator-active-active"></a>

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

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

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

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

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

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

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

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