ApsaraDB for MongoDB のグローバルアクティブデータベース (GAD) は、業務継続性と高可用性を保証するマルチリージョンアーキテクチャを提供します。ApsaraDB for MongoDB の高可用性アーキテクチャと Data Transmission Service (DTS) とシームレスに統合し、データレプリケーションとディザスタリカバリのためのワンストップソリューションを提供します。
アーキテクチャ
-
プライマリインスタンス:コアとなる読み取りおよび書き込みリクエストを処理します。データはリアルタイムでディザスタリカバリインスタンスにレプリケーションされます。
-
セカンダリインスタンス (ディザスタリカバリインスタンス):DTS からレプリケーションされたデータを受信し、読み取り専用クエリを処理します。ディザスタリカバリシナリオでは、プライマリインスタンスに昇格させることができます。
-
DTS 同期リンク:低遅延の一方向データレプリケーションを提供します。サーバーレスモードでは、帯域幅は自動的に調整されます。
利用シーン
GAD は、次のような複数の ApsaraDB for MongoDB インスタンスが関わるシナリオに最適です。
-
ジオディザスタリカバリ
極めて高い可用性と低い目標復旧時間 (RTO) を必要とするミッションクリティカルなアプリケーション向けです。GAD はクロスリージョンの高可用性を提供し、リージョンレベルの障害から保護します。
-
クロスリージョン読み取り専用インスタンス
複数の地理的な場所から読み取りリクエストを処理する必要があるアプリケーション向けです。GAD は、最も近いレプリカから読み取りを処理することで、低遅延のデータアクセスを可能にします。
メリット
-
安全性と信頼性
-
互換性の問題なく、非常に効率的で安定したレプリケーションプロセスを提供します。
-
ApsaraDB for MongoDB と DTS は、どちらも堅牢なサービスレベルアグリーメント (SLA) に裏打ちされており、データベースとそのレプリケーションリンクの可用性とセキュリティを保証します。
-
-
使いやすさ
-
ApsaraDB for MongoDB コンソールで合理化された設定体験を提供し、ディザスタリカバリトポロジーを迅速に確立できます。
-
ディザスタリカバリ評価、ワンクリックフェールオーバー、レプリケーション遅延モニタリングなど、ディザスタリカバリのライフサイクル全体にわたる組み込み機能を提供します。
-
-
コスト効率
-
セカンダリインスタンスの課金方法は、プライマリインスタンスの課金方法と一致させる必要はありません。ビジネス要件に基づいて、従量課金やサブスクリプションなど、セカンダリインスタンスにコスト効率の高い課金オプションを選択できます。
-
GAD はネットワークバックボーンに DTS を使用します。レプリケーションリンクは、帯域幅を自動的にスケーリングするサーバーレス技術によって提供され、実際の使用量に基づいて課金されます。
-
課金
グローバルアクティブデータベースのインスタンスグループを作成したり、セカンダリインスタンスを追加したりする際に、既存の MongoDB インスタンスを使用しても追加料金は発生しません。課金対象はデータ同期リンクのみです。
データ同期料金 = リンクあたりの単価 × リンク数 × 使用時間
一方向同期リンクの単価は次のとおりです: 0.1880 USD/時間/リンク
制限事項
|
制限タイプ |
説明 |
|
インスタンスに関する制限 |
|
|
リージョンに関する制限 |
サポートされているリージョン:中国 (青島)、中国 (北京)、中国 (上海)、中国 (杭州)、中国 (フフホト)、中国 (張家口)、中国 (深セン)、中国 (広州)、中国 (ウランチャブ)、中国 (河源)、中国 (成都)。 |
操作手順
初めてグローバルアクティブデータベースを使用する場合は、インスタンスグループを作成する前に、DTS がクラウドリソースにアクセスすることを承認する必要があります。詳細については、「DTS にクラウドリソースへのアクセス権を付与」をご参照ください。
インスタンスグループの作成
-
グローバルアクティブデータベース のページに移動し、インスタンスグループの作成 または グローバルマルチアクティブデータベースインスタンスグループの作成 をクリックします。
-
[グローバルアクティブデータベースインスタンスグループの作成] ページで、次のパラメーターを設定します。
パラメーター
説明
インスタンスグループ名
ビジネスや目的に応じた名前を使用すると、インスタンスグループを簡単に見つけられるようになります。
名前は 2~126 文字で、先頭は英字または漢字である必要があります。数字、アンダースコア (_)、ハイフン (-) を使用できます。
データベースインスタンスタイプ
MongoDB を選択します。
インスタンスグループタイプ
インスタンスグループタイプを選択します。現在、災害対策 のみがサポートされています。
このタイプでは、プライマリインスタンスとセカンダリインスタンス間で一方向データ同期が使用されます。
インスタンスタイプ
インスタンスタイプとして、レプリカセット または シャードクラスター を選択します。
メインロールリージョン
デフォルトでは、ApsaraDB for MongoDB コンソールで選択されているリージョンと同じです。別のリージョンを選択するには、コンソールの上部でリージョンを変更します。
メインロールインスタンス
ドロップダウンリストから、プライマリインスタンスのリージョンにあるターゲット MongoDB インスタンスを選択します。
現在のリージョンで利用可能なプライマリインスタンスがない場合は、メインロールインスタンスの作成 をクリックしてインスタンス購入ページに移動し、ApsaraDB for MongoDB インスタンスを作成してから、グローバルアクティブデータベースのインスタンスグループを作成します。
-
[OK] をクリックします。
新しいインスタンスグループがインスタンスグループリストに表示されます。その後、セカンダリインスタンスを追加できます。
セカンダリインスタンスの追加
-
インスタンスグループ内のプライマリインスタンスとセカンダリインスタンスは、異なるリージョンにある必要があります。ただし、複数のセカンダリインスタンスを同じリージョンに配置することは可能です。
-
インスタンスグループには、1つのプライマリインスタンスと最大4つのセカンダリインスタンスを含めることができ、最大5つのリージョンにまたがるトポロジーをサポートします。
-
ApsaraDB for MongoDB インスタンスは、プライマリまたはセカンダリインスタンスとして、1つのグローバルアクティブデータベースインスタンスグループにのみ追加できます。
-
インスタンスグループの一部である間は、従量課金インスタンスをリリースしたり、サブスクリプションインスタンスのサブスクリプションを解約したりすることはできません。これを行うには、まずインスタンスをグループから削除し、その後インスタンスをリリースする必要があります。
-
セカンダリインスタンスがインスタンスグループに追加された後、そのインスタンスに対して書き込み操作を行わないでください。セカンダリインスタンスにデータを書き込むと、データ不整合が発生し、デプロイメントの信頼性が損なわれる可能性があります。
-
ApsaraDB for MongoDB インスタンス のリストに移動し、リージョンを選択してから、セカンダリインスタンスとして使用したいインスタンスの ID をクリックします。
-
ページの右上隅にある グローバルアクティブデータベースに追加 をクリックします。

-
表示されるダイアログボックスで、ターゲットのグローバルアクティブデータベースインスタンスグループの設定を構成します。
-
[OK] をクリックします。グローバルアクティブデータベースのページにリダイレクトされます。セカンダリインスタンスが正常に追加され、同期リンクが作成された後、ターゲットのインスタンスグループ ID をクリックして、セカンダリインスタンスと DTS 同期インスタンスを表示できます。詳細については、「インスタンスグループ情報の表示」をご参照ください。

インスタンスグループの詳細
グローバルアクティブデータベース のページに移動します。インスタンスグループリストで、表示したいインスタンスグループの ID をクリックします。インスタンスグループの詳細ページでは、基本情報、トポロジー、および設定リストを表示できます。
-
基本情報の表示
インスタンスグループの基本情報には、ID、名前、タイプ、データベースタイプ、作成時間、ステータス、およびリージョンが含まれます。

-
トポロジーの表示
トポロジーは、インスタンスグループを視覚的に表現したもので、プライマリインスタンスとセカンダリインスタンス間のレプリケーションリンク、そのステータス、およびその他の基本情報を示します。
インスタンスの詳細を表示するには、その ID をクリックして ApsaraDB for MongoDB コンソールに移動します。 -
設定リストの表示
設定リストは、MongoDB インスタンスリストと DTS インスタンスリストに分かれています。
-
MongoDB インスタンス

-
このリストには、グループ内のすべてのインスタンスが、そのステータス、リージョン/ゾーン、ロール、作成時間とともに表示されます。インスタンス ID をクリックすると、その詳細が表示されます。
-
-
DTS インスタンス
このリストには、グループ内のすべての DTS 同期リンクが、その同期方向とリージョン、ステータス、同期遅延、作成時間とともに表示されます。このリストから、インスタンス間のデータ同期リンクを表示および管理できます。

-
同期リンクの [詳細] をクリックすると、詳細情報が表示されます。
-
グループからセカンダリインスタンスを削除すると、関連する DTS 同期リンクは自動的にリリースされます。
-
-
セカンダリインスタンスの昇格
グローバルアクティブデータベースインスタンスグループのプライマリインスタンスのすべてのノードが利用できなくなった場合、ワンクリックでセカンダリインスタンスを新しいプライマリインスタンスに昇格させることができます。セカンダリインスタンスは読み取り/書き込み可能なプライマリインスタンスになり、迅速にサービスを復旧できます。この機能は、ディザスタリカバリ訓練やジオディザスタリカバリイベントで役立ちます。
-
セカンダリインスタンスの昇格にはデータ損失のリスクが伴います。この操作は慎重に実行してください。このプロセスにより、一時的な接続中断が発生する可能性があります。アプリケーションに自動再接続メカニズムがあることを確認してください。
-
DTS 同期リンクは一方向です。セカンダリインスタンスを昇格させると、システムは元のプライマリインスタンスをインスタンスグループから削除し、DTS 同期リンクを切断します。この操作は慎重に実行してください。
-
そのデータと DTS アカウントの認証情報は変更されません。ApsaraDB for MongoDB インスタンス のページでインスタンスを管理し続けることができます。
-
昇格後、削除されたインスタンスを新しいセカンダリインスタンスとしてグループに再度追加できます。手順については、「セカンダリインスタンスの追加」をご参照ください。
-
グローバルアクティブデータベース のページに移動します。
-
インスタンスグループリストで、ターゲットのインスタンスグループの ID をクリックします。
-
ページ下部の MongoDB インスタンスリストで、昇格させたいセカンダリインスタンスを見つけ、[操作] 列の メインロールへの切り替え をクリックします。

-
ダイアログボックスで、この操作の影響を確認し、[OK] をクリックします。
セカンダリインスタンスをプライマリインスタンスに昇格させた後、アプリケーションのエンドポイントを新しいプライマリインスタンスのエンドポイントに変更する必要があるかどうかを判断してください。