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

表示されるダイアログボックスで、ターゲットのグローバルアクティブデータベースインスタンスグループのパラメーターを設定します。
[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] をクリックします。
セカンダリインスタンス (ディザスタリカバリインスタンス) をプライマリに昇格させた後、ビジネスニーズを評価し、アプリケーションのエンドポイントを新しいプライマリインスタンスのエンドポイントに変更するかどうかを決定してください。