AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

シャーディングされたクラスターへのレプリカセットの同期

このページでは、mongosync を使用してレプリカセットからシャーディングされたクラスターへデータを同期する手順を説明します。

注意

mongosync では、シャーディングされたクラスターからレプリカセットへの同期はサポートされていません。

詳しくは、「 mongosync の設定手順 」を参照してください。

1

mongosync データの同期を開始する前に、ソース レプリカセットと宛先のシャーディングされたクラスターの間に初期接続を作成する必要があります。

mongosyncを使用してcluster0をcluster1に接続するには、次のコマンドを入力します。

mongosync \
--cluster0 "<cluster0_connection_string>" \
--cluster1 "<cluster1_connection_string>"

Follow the connection instructions for your cluster architecture to format your connection strings and connect to the mongos instance in your cluster.

2

データ同期を開始するには、 startエンドポイントを呼び出します。

レプリカセットからシャーディングされたクラスターに同期するには、 startコマンドのshardingオプションを設定して、宛先クラスターのコレクションをシャードします。 詳細については、「シャーディング パラメータ 」を参照してください。

Use the sharding.shardingEntries parameter to specify the collections to shard. Collections that you do not list in this array replicate as unsharded. For more information, see Shard Replica Sets and Choose a Shard Key.

次の例では、レプリカセットからシャーディングされたクラスターへの同期を開始します。

curl localhost:27182/api/v1/start -XPOST \
--data '
{
"source": "cluster0",
"destination": "cluster1",
"sharding": {
"createSupportingIndexes": true,
"shardingEntries": [
{
"database": "accounts",
"collection": "us_east",
"shardCollection": {
"key": [
{ "location": 1 },
{ "region": 1 }
]
}
}
]
}
} '
{"success":true}

mongosyncカットオーバー プロセスを使用して移行を完了し、アプリケーション ワークロードをソース クラスターから宛先クラスターに転送できます。

  • レプリカセットとシャーディングされたクラスターの間で、逆エンドポイントを使用することはできません。
  • mongosync を使用すると、同期中にsharding.shardingEntriesオプションに含まれるコレクションの名前を変更できます。 詳細については、「同期中の名前の変更 」を参照してください。

  • sharding.createSupportingIndexesオプションを使用すると、同期中に宛先クラスターにインデックスが自動的に作成されます。 ソースクラスターでは、その後にこれらのインデックスを作成することはできません。

  • シャードキーをサポートするインデックスを手動で作成する場合は、 mongosyncが開始する前、または移行が完了してmongosyncが停止した後にインデックスを作成する必要があります。

  • ソース レプリカセットにアービタがある場合、ソース レプリカセットには2以上の非アービタ ノードが必要で、非アービタ ノードから同期する必要があります。

詳細については、mongosync 移行の制限を参照してください。