このトピックでは、シングルゾーンにデプロイされた ApsaraMQ for Kafka インスタンスでゾーンレベルの障害が発生した場合に、トラフィックをセカンダリインスタンスに迅速に切り替えてサービスを復旧する方法について説明します。
背景情報
シングルゾーンにデプロイされた ApsaraMQ for Kafka インスタンスでゾーンレベルの障害が発生した場合、サービスが利用できなくなり、データが失われる可能性があります。前述のリスクを防ぐために、ApsaraMQ for Kafka のコネクタエコシステム統合機能を使用して、メッセージを別のリージョンのセカンダリインスタンスにバックアップできます。このようにして、障害が発生した場合、トラフィックをセカンダリインスタンスに切り替え、オフセットをリセットすることでサービスを迅速に復旧できます。
注意事項
リージョンレベルの障害によるインスタンスの可用性低下を防ぐために、プライマリインスタンスとセカンダリインスタンスに異なるリージョンを選択してください。
トラフィックをセカンダリインスタンスに切り替えた後、サービスを迅速に復旧するためにオフセットをリセットする必要があります。メッセージのべき等性を実装して、メッセージの重複消費によるビジネスへの影響を軽減することをお勧めします。
障害発生時の迅速なトラフィック切り替えのため、クライアントのカスタムドメイン名を ApsaraMQ for Kafka インスタンスのドメイン名に CNAME レコードを使用して解決することをお勧めします。
手順
ステップ 1:コネクタを作成する
詳細については、「ApsaraMQ for Kafka シンクコネクタを作成する」をご参照ください。
(オプション)ステップ 2:CNAME レコードを追加する
詳細については、「CNAME レコード」をご参照ください。
ステップ 3:クライアントのエンドポイントを変更する
CNAME レコードモード
クライアントのカスタムドメイン名を、CNAME レコードが追加されたドメイン名に変更する必要があります。
障害発生後、CNAME によってマッピングされたドメイン名をセカンダリインスタンスのドメイン名に変更するだけで済みます。これにより、ビジネスアプリケーションを再起動することなく、トラフィックを迅速に切り替えることができます。
通常モード
障害発生後、クライアントのエンドポイントをセカンダリインスタンスのエンドポイントに変更し、サービスを再起動してビジネスを復旧する必要があります。障害による影響を軽減するために、CNAME レコードモードを使用することをお勧めします。
リージョンをまたがって ApsaraMQ for Kafka インスタンスにアクセスする場合は、クラウドエンタープライズネットワーク(CEN)を使用して、これらのリージョンにある仮想プライベートクラウド(VPC)を接続できます。詳細については、「異なるリージョンにある VPC を接続する」をご参照ください。