Docs Menu
Docs Home
/
MongoDB Cluster-to-Cluster Sync
/

2 つの Atlas クラスターの接続

項目一覧

  • Considerations
  • 接続文字列
  • 認証
  • ロール
  • 動作

mongosync ユーティリティは、 MongoDBクラスター間の接続を作成します。 mongosync は次のクラスターのいずれかに接続できます。

  • 自己管理型クラスター

  • MongoDB Atlas のホストされたクラスター

  • 自己管理型クラスターと Atlas ホスト型クラスター

このページでは、 MongoDB Cluster-to-Cluster Sync を使用して Atlas クラスターを接続する手順を説明します。 Atlas クラスターへの接続の詳細については、「データベース配置への接続」を参照してください。

  • ソースと宛先の両方の Atlas クラスターで MongoDB 6.0以降を使用する必要があります。

  • mongosync は、レプリカセットとシャーディングされたクラスターをサポートします。

  • mongosync では、Atlas 共有クラスターまたはサーバーレスインスタンスはサポートされていませんmongosyncは M 10以上の Atlas クラスターでのみ使用できます。

mongosync は、 MongoDB URI 接続文字列を使用してAtlasクラスターに接続します。

  • SRV 接続スキームの形式は次のとおりです。

    mongodb+srv://[username:password]@[clusterName].[host].mongodb.net/

    Atlasで SRV 接続文字列を見つける方法について詳しくは、「クラスターへの接続」を参照してください。

  • 標準の URI 接続スキームの形式は次のとおりです。

    mongodb://[username:password]@[clusterName].[host].mongodb.net/

mongosync では、ソースクラスターと宛先クラスターに接続するにはprimary読み込み設定(read preference)が必要です。 詳しくは、「読み込み設定(read preference)オプション 」を参照してください。

MongoDB Atlasクラスターに接続するための有効な認証を提供します。 Atlas データベースユーザーがまだいない場合は、ユーザーを作成する必要があります。

mongosync 接続文字列で指定されたユーザーには、ソースクラスターと宛先クラスターで必要な権限が必要です。権限は、環境と、書込み同期を実行するか、逆同期を実行するかによって異なります。

Atlas の権限は次のとおりです。

同期タイプ
ターゲット
必要な権限
default
ソースクラスター
  • atlasAdmin

  • バックアップ

default
宛先クラスター
  • atlasAdmin

書込み (write) ブロックまたは元に戻す
ソースクラスター
  • atlasAdmin

  • バックアップ

  • bypassWriteBlockMode 特権

書込み (write) ブロックまたは元に戻す
宛先クラスター
  • atlasAdmin

  • バックアップ

  • bypassWriteBlockMode 特権

Atlasロールの詳細については、「 Atlas userロール 」を参照してください。

Atlas user権限を更新するには、「プロジェクトへのアクセス権の管理 」を参照してください。

mongosyncユーティリティは、ソースクラスターまたは宛先クラスターのいずれかに近いハードウェアでホストできます。 クラスター内のmongodまたはmongosインスタンスのいずれかと同じサーバーでホストされている必要はありません。 この柔軟性により、宛先クラスターにデータをプッシュまたはプルして、宛先クラスターで実行されているmongodまたはmongosインスタンスへの影響を最小限に抑えることができます。

mongosyncが接続すると、 IDLE状態になります。 同期を開始するには、 startコマンドを発行する必要があります。

M10+ Atlas クラスターでmongosyncを実行する前に、 Require Indexes for All Queriesオプションを無効にします。

一般的な接続文字列の形式は次のとおりです。

mongodb://<user>:<password>@<clusterName>.<hostname>.mongodb.net/

stringAtlasクラスターの接続 は、Atlas UI から取得できます。詳細については、「データベース配置への接続 」を参照してください。

cluster0cluster1に対して収集した接続文字列は次のようになります。

cluster0:
mongodb+srv://clusterAdmin:superSecret@cluster1Name.abc123.mongodb.net
cluster1:
mongodb+srv://clusterAdmin:superSecret@cluster2Name.abc123.mongodb.net

クラスターを含むプロジェクトには、パスワードsuperSecretを持つデータベース管理ユーザーclusterAdminが存在します。

以下のmongosyncコマンドのレイアウトは表示用に変更されています。 mongosyncを使用してcluster0cluster1に接続するには、次のコマンドを 1 行で入力します。

mongosync \
--cluster0 "mongodb+srv://clusterAdmin:superSecret@cluster1Name.abc123.mongodb.net" \
--cluster1 "mongodb+srv://clusterAdmin:superSecret@cluster2Name.abc123.mongodb.net"

Atlas クラスターには TLS 接続が必要です。 Atlas クラスターでmongosyncを使用するには、 tls=trueオプションを追加します。 たとえば、 cluster0cluster1上のadminデータベースに接続するには、次の手順に従います。

mongosync \
--cluster0 "mongodb+srv://clusterAdmin:superSecret@cluster1Name.abc123.mongodb.net/admin?tls=true" \
--cluster1 "mongodb+srv://clusterAdmin:superSecret@cluster2Name.abc123.mongodb.net/admin?tls=true"

mongosyncではmongodb+srv接続文字列を使用することもできます。 tls=truemongodb+srv接続 にstring オプションを追加する必要はありません。例:

mongosync \
--cluster0 "mongodb+srv://clusterAdmin:superSecret@cluster1Name.abc123.mongodb.net/" \
--cluster1 "mongodb+srv://clusterAdmin:superSecret@cluster2Name.abc123.mongodb.net/"

mongodb+srv接続文字列の詳細については、 SRV 接続形式 を参照してください。

戻る

接続