ApsaraDB for MongoDB では、さまざまなディザスタリカバリソリューションを使用できます。

マルチゾーンインスタンス

Alibaba Cloud は、世界中の複数のリージョンでクラウドコンピューティングサービスを提供しています。 各リージョンには複数のゾーンが含まれています。 障害は、同一リージョン内の異なるゾーン間で分離されます。 同一リージョン内の異なるゾーン間でのネットワーク遅延は低くなります。

ApsaraDB for MongoDB シングルゾーンインスタンスは、同一ゾーン内の 2 つの物理サーバーで実行されます。 ゾーン内のラック、エアコン、回路およびネットワークはすべて冗長化され、高可用性が確保されています。 ApsaraDB for MongoDB では、非同期または準同期レプリケーションモードと効率的なプライマリ/セカンダリフェールオーバーメカニズムを使用することにより、物理サーバーの制約を超えたサービスの可用性を実現しています。

ApsaraDB for MongoDB では、シングルゾーンインスタンスよりも高い可用性を実現するマルチゾーンインスタンスもサポートされています。 マルチゾーンインスタンスは、異なるゾーンの物理サーバー上にデプロイされます。 あるゾーンに障害が発生しても、サービスを短時間で別のゾーンに切り替えることができます。 切り替えプロセスでは、アプリケーションのコードを変更する必要はありません。

インスタンスのプライマリ/セカンダリフェールオーバーをトリガする度に、インスタンスは最大 30 秒間切断される可能性があります。 この操作はオフピーク中に実行し、アプリケーションが自動的に接続を再確立できるようにしておくことを推奨します。

マルチゾーンインスタンスの作成方法の詳細については、「ゾーンディザスタリカバリソリューション」および「マルチゾーンシャードクラスタインスタンスの作成」をご参照ください。

同一リージョン内の異なるゾーンにインスタンスを移行する方法の詳細については、「クロスゾーンでのインスタンスの移行」をご参照ください。

クロスリージョンディザスタリカバリ

ApsaraDB for MongoDB マルチゾーンインスタンスは、同じリージョン内の異なるゾーン間でディザスタリカバリを実現します。 可用性を向上させるため、ApsaraDB for MongoDB はクロスリージョンデータディザスタリカバリもサポートしています。 たとえば、MongoShake などのデータ同期ツールを使用して、中国 (杭州) リージョンの ApsaraDB for MongoDB インスタンス A から、中国 (上海) リージョンの ApsaraDB for MongoDB インスタンス B にデータを複製できます。 インスタンス B は、独自のエンドポイント、アカウントおよび権限を持つ自己完結型のインスタンスです。 インスタンス B を使用して、インスタンスが存在するリージョンのデータを復元し、データを読み取ることができます。

MongoShake を使用して ApsaraDB for MongoDB インスタンスデータを複製する方法の詳細については、「MongoShake を使用して、ApsaraDB for MongoDB レプリカセットインスタンス間の一方向同期を実装する」をご参照ください。

インスタンス A はプライマリインスタンスとして機能し、インスタンス B はセカンダリインスタンスとして機能します。 インスタンス A が存在するリージョンで、自然災害などの予期しない事象が原因でインスタンス A に障害が発生した場合、インスタンス B をプライマリインスタンスとして使用できます。 アプリケーションのデータベース接続設定を変更し、リクエストをインスタンス B に転送することで、クロスリージョンデータディザスタリカバリが実装されます。

  • クロスリージョンアクセスに関連するネットワークの不安定性と遅延を最小限に抑えるため、インスタンス A とインスタンス B に同じ地理的災害復旧アプリケーションをデプロイすることを推奨します。
  • インスタンス B をプライマリインスタンスとして使用する場合は、killコマンドを実行して、MongoShake サービスを無効化します。 インスタンス A からインスタンス B へのデータレプリケーションが停止し、問題の発生を防止できます。