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

2 つの自己管理型クラスターの接続

項目一覧

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

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

  • 自己管理型クラスター

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

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

このページでは、 MongoDB Cluster-to-Cluster Sync を使用して自己管理型クラスターを接続する手順を説明します。

注意

最高のパフォーマンスを得るには、移行前に、ソースクラスターと宛先クラスターを最新の MongoDB Server パッチ リリースにアップグレードしてください。 詳細については、「 MongoDB の最新の自己管理型パッチ リリースへのアップグレード 」を参照してください。

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

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

    mongodb+srv://[username:password@][host.domain.TLD][:port][/defaultauthdb][?options]
  • 標準の URI 接続スキームの形式は次のとおりです。

    mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

レプリカセット構成にリストされているのと同じ方法でmongodインスタンスのホスト名を指定します。

シャーディングされたクラスター の場合は、 インスタンスではなく、mongos mongodインスタンスのホスト名を指定します。

注意

mongosync にはreplicaSetオプションは必要ありません。

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

ソースクラスターまたは宛先クラスターのいずれかに認証が必要な場合は、 mongosyncを呼び出すときに正しい認証情報を指定する必要があります。

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

自己管理型権限は次のとおりです。

同期タイプ
必要なソース権限
必要な宛先権限
default
書込み (write) ブロック
元に戻す

サーバー ロールの詳細については、「自己管理型配置でのロールベースのアクセス制御 」を参照してください。

ユーザー権限を更新するには、 grantRolesToUserを参照してください。

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

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

ソースクラスターcluster0は、次のサーバーとポートでホストされています。

  • clusterOne01.fancyCorp.com:20020

  • clusterOne02.fancyCorp.com:20020

  • clusterOne03.fancyCorp.com:20020

宛先クラスターcluster1は、次のサーバーとポートでホストされています。

  • clusterTwo01.fancyCorp.com:20020

  • clusterTwo02.fancyCorp.com:20020

  • clusterTwo03.fancyCorp.com:20020

各クラスターには管理ユーザーclusterAdminが設定されており、パスワードsuperSecretが使用されます。

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

mongodb://<user>:<password>@<ip-address>:<port>,<ip-address>:<port>,<ip-address>:<port>

収集した接続情報を使用して、 cluster0cluster1の接続文字列を作成します。

cluster0:
mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020
cluster1:
mongodb://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com:20020,clusterTwo02.fancyCorp.com:20020,clusterTwo03.fancyCorp.com:20020

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

mongosync \
--cluster0 "mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020" \
--cluster1 "mongodb://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com:20020,clusterTwo02.fancyCorp.com:20020,clusterTwo03.fancyCorp.com:20020"

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

mongosync \
--cluster0 "mongodb+srv://clusterAdmin:superSecret@clusterOne01.fancyCorp.com/" \
--cluster1 "mongodb+srv://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com/"

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

戻る

Atlas クラスター