セカンダリへの計画的なフェイルオーバーの実行 AWS リージョン - Amazon Managed Streaming for Apache Kafka

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

セカンダリへの計画的なフェイルオーバーの実行 AWS リージョン

計画的なフェイルオーバーを実行して、プライマリの予期しないイベントに対するアプリケーションの障害耐性をテストできます。 AWS ソースMSKクラスターがあるリージョン。計画的なフェイルオーバーによってデータが失われることはありません。

同じトピック名のレプリケーション設定を使用している場合は、次の手順に従います。

  1. ソースクラスターに接続しているすべてのプロデューサーとコンシューマーをシャットダウンします。

  2. 同じトピック名のMSKレプリケーションを使用して、セカンダリリージョンのMSKクラスターからプライマリリージョンのMSKクラスターにデータをレプリケートする新しいレプリケーターを作成します (コンソールで同じトピック名を保持)。これは、セカンダリリージョンに書き込むデータをプライマリリージョンにコピーバックするために必要です。これにより、予期しないイベントが終了した後にプライマリリージョンにフェイルバックできるようになります。

  3. セカンダリのターゲットクラスターに接続されたプロデューサーとコンシューマーを起動する AWS リージョン。

プレフィックス付きトピック名設定を使用している場合は、次のステップに従ってフェイルオーバーします。

  1. ソースクラスターに接続しているすべてのプロデューサーとコンシューマーをシャットダウンします。

  2. 新しい MSK レプリケーターを作成して、セカンダリリージョンのMSKクラスターからプライマリリージョンのMSKクラスターにデータをレプリケートします。これは、セカンダリリージョンに書き込むデータをプライマリリージョンにコピーバックするために必要です。これにより、予期しないイベントが終了した後にプライマリリージョンにフェイルバックできるようになります。

  3. セカンダリのターゲットクラスターでプロデューサーを起動する AWS リージョン。

  4. アプリケーションのメッセージ順序要件に応じて、次のいずれかのタブのステップを実行します。

    No message ordering

    アプリケーションでメッセージの順序付けが必要ない場合は、セカンダリ でコンシューマーを起動します。 AWS ワイルドカード演算子 ( など) を使用して、ローカルトピック (トピックなど) とレプリケートされたトピック ( など<sourceKafkaClusterAlias>.topic) の両方から読み取るリージョン.*topic

    Message ordering

    アプリケーションでメッセージの順序付けが必要な場合は、ターゲットクラスター上のレプリケートされたトピック (<sourceKafkaClusterAlias>.topic など) のコンシューマーのみを起動し、ローカルトピック (topic など) のコンシューマーは起動しません。

  5. ターゲットMSKクラスター上のレプリケートされたトピックのすべてのコンシューマーがすべてのデータの処理を完了するのを待ち、コンシューマーラグが 0 になり、処理されたレコードの数も 0 になるようにします。次に、ターゲットクラスター上のレプリケートされたトピックのコンシューマーを停止します。この時点で、ソースMSKクラスターからターゲットMSKクラスターにレプリケートされたすべてのレコードが消費されています。

  6. ターゲットMSKクラスターのローカルトピック ( などtopic) のコンシューマーを開始します。