MongoDB グローバルアクティブデータベース (GAD) は、クロスリージョンのアクティブ/アクティブアーキテクチャを通じて業務継続性と高可用性を確保し、ジオ冗長ディザスタリカバリと低遅延のローカルアクセス機能を提供します。GAD は MongoDB の高可用性アーキテクチャと Data Transmission Service (DTS) とシームレスに統合され、ワンストップのデータ同期およびディザスタリカバリソリューションを提供します。
MongoDB グローバルアクティブデータベースはパブリックプレビュー中です。アクセスをリクエストするには、チケットを送信してください。
ソリューションアーキテクチャ
プライマリインスタンス: コアの読み取り/書き込みリクエストを処理します。データはリアルタイムでディザスタリカバリインスタンスに同期されます。
セカンダリインスタンス (ディザスタリカバリインスタンス): DTS から同期されたデータを受信します。読み取り専用クエリまたはディザスタリカバリスイッチオーバーをサポートします。
DTS 同期リンク: 低遅延の一方向データ同期を提供します。帯域幅はサーバーレスモードで自動的に調整されます。
ユースケース
このアーキテクチャ設計は、さまざまな MongoDB インスタンスに適用されます。
ジオディザスタリカバリ
可用性要件が非常に厳しく、目標復旧時間 (RTO) が非常に短い、ビジネスクリティカルなアプリケーション向けです。リージョンレベルの障害を軽減するために、データベースにはクロスリージョンの高可用性が必要です。
クロスリージョン読み取り専用インスタンス
異なる地理的リージョン間での読み取りアクセスが必要なビジネス向けで、近くのユーザーに低遅延のアクセスを可能にします。
メリット
安全で信頼性が高い
効率的で安定しており、互換性の問題がありません。
MongoDB と DTS はどちらも厳格なサービスレベル契約 (SLA) に裏付けられており、データベースと同期リンクの可用性とセキュリティを保証します。
使いやすい
製品化された設定インターフェイスを提供し、MongoDB コンソールを通じて GAD ディザスタリカバリ関係を迅速に構築できます。
ディザスタリカバリ評価、ワンクリックスイッチオーバー、遅延表示などの組み込み機能が、ディザスタリカバリのライフサイクル全体をカバーします。
費用対効果が高い
セカンダリインスタンスの課金方法は、プライマリインスタンスの課金方法と異なる場合があります。ニーズに応じて、セカンダリインスタンスに対して費用対効果の高い MongoDB 課金モデルを選択できます。
DTS は GAD のネットワークサポートを提供します。ネットワークリンクはサーバーレス技術を使用して帯域幅を自動的に調整します。リンクの料金は実際の使用量に基づいて課金されます。
課金の説明
グローバルアクティブデータベースインスタンスグループを作成したり、セカンダリインスタンスを追加したりする場合、既存の MongoDB インスタンスを使用しても追加料金は発生しません。データ同期リンクに対してのみ課金されます。
データ同期料金 = データ同期リンクの単価 × リンク数 × 使用期間。
一方向同期リンクの単価は次のとおりです: 0.187969924812 USD/時間/リンク
制限
制限タイプ | 詳細 |
インスタンスの制限 |
|
リージョンの制限 | サポートされているリージョン: 中国 (青島)、中国 (北京)、中国 (上海)、中国 (杭州)、中国 (フフホト)、中国 (張家口)、中国 (深圳)、中国 (広州)、中国 (ウランチャブ)、中国 (河源)、および中国 (成都)。 |
はじめに
Global Active Database を初めて使用する場合は、インスタンスグループを作成する前に、DTS がクラウドリソースにアクセスすることを承認する必要があります。詳細については、「DTS にクラウドリソースへのアクセスを許可する」をご参照ください。
グローバルアクティブデータベースインスタンスグループの作成
グローバルアクティブデータベースページに移動し、[インスタンスグループの作成] をクリックします。
[グローバルアクティブデータベースインスタンスグループの作成] ページで、次のパラメーターを設定します。
設定項目
説明
インスタンスグループ名
インスタンスグループのカスタム名を入力します。ビジネスや目的に関連する名前を付けると、インスタンスグループを見つけやすくなります。
命名規則: 名前は文字または漢字で始まり、数字、アンダースコア (_)、ハイフン (-) を含めることができ、長さは 2 ~ 126 文字である必要があります。
データベースインスタンスタイプ
MongoDB を選択します。
インスタンスグループタイプ
インスタンスグループタイプを選択します。現在、[ディザスタリカバリ] のみがサポートされています。
このタイプは、クロスリージョンのディザスタリカバリおよび災害復旧訓練に適しています。プライマリインスタンスとセカンダリインスタンスの間では一方向のデータ同期が使用されます。
インスタンスタイプ
インスタンスタイプを選択します。[ReplicaSet] と [シャードクラスター] がサポートされています。
プライマリインスタンスのリージョン
デフォルトでは、これは MongoDB コンソールで選択されたリージョンと同じです。別のリージョンを選択するには、コンソールの上部でリージョンを変更します。
プライマリインスタンス
ドロップダウンリストから、プライマリリージョン内のターゲット MongoDB インスタンスを選択します。
現在のリージョンに利用可能なプライマリインスタンスがない場合は、[プライマリインスタンスの作成] をクリックしてインスタンス購入ページに移動し、MongoDB インスタンスを作成します。その後、グローバルアクティブデータベースインスタンスグループを作成します。
[OK] をクリックします。
作成されたインスタンスグループは、インスタンスグループリストページで確認できます。その後、セカンダリインスタンスを追加できます。
セカンダリインスタンスの追加
セカンダリインスタンスを追加すると、プライマリインスタンスがすぐに再起動され、一時的に利用できなくなります。再起動プロセスには約 5 ~ 15 分かかります。約 10 ~ 30 秒の一時的な接続切断が発生し、ビジネスに影響を与える可能性があります。
グローバルアクティブデータベースインスタンスグループでは、プライマリインスタンスとセカンダリインスタンスは異なるリージョンにある必要があります。複数のセカンダリインスタンスは、互いに同じリージョンに配置できます。
グローバルアクティブデータベースインスタンスグループには、1 つのプライマリインスタンスと最大 4 つのセカンダリインスタンスを含めることができ、合計で最大 5 つのリージョンをサポートします。
MongoDB インスタンスは、プライマリインスタンスまたはセカンダリインスタンスとして、1 つのグローバルアクティブデータベースインスタンスグループにのみ追加できます。
セカンダリインスタンスがグローバルアクティブデータベースインスタンスグループの一部である間は、インスタンスを解放 (従量課金の場合) またはサブスクリプションをキャンセルすることはできません。そのためには、まずセカンダリロールを削除してから、インスタンスを解放する必要があります。
MongoDB インスタンスリストに移動します。上部でリージョンを選択し、ターゲットインスタンス (セカンダリインスタンス) の ID をクリックします。
ページの右上隅にある [GAD クラスターに追加] をクリックします。

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

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

インスタンスグループのトポロジーを表示
トポロジーは、相互接続された幾何学的形状を使用して、プライマリインスタンスとセカンダリインスタンス間のリンク、それらのステータス、および基本的なインスタンス情報に関する情報を視覚的に表示します。
インスタンスの詳細を表示するには、その ID をクリックして MongoDB コンソールに移動します。インスタンスグループの設定リストを表示
設定リストは、MongoDB インスタンスリストと DTS インスタンスリストに分かれています。詳細は次のとおりです。
MongoDB インスタンスリスト

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

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

影響の説明を読み、[OK] をクリックします。
セカンダリインスタンス (ディザスタリカバリインスタンス) をプライマリに昇格させた後、ビジネスニーズを評価し、アプリケーションのエンドポイントを新しいプライマリインスタンスのエンドポイントに変更するかどうかを決定します。