Menu Docs

Conectar dois cluster do Atlas

O utilitáriomongosync cria uma conexão entre clusters MongoDB . O mongosync pode se conectar a qualquer um dos seguintes clusters:

Esta página fornece instruções para conectar Atlas clusters do MongoDB Cluster-to-Cluster Sync usando . Para obter detalhes adicionais sobre como se conectar a um Atlas cluster, consulte Conectar-se a um sistema de banco de dados

  • Os clusters de origem e de destino do Atlas devem usar MongoDB 6.0 ou posterior.

  • mongosync suporta conjuntos de réplicas e clusters fragmentados.

  • mongosync não suporta clusters compartilhados do Atlas ou instâncias sem servidor. Você pode usar mongosync somente com M10 ou Atlas clusters superiores.

mongosync usa uma string de conexão de URI MongoDB para conectar os Atlas clusters:

  • O esquema de conexão SRV tem o formulário:

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

    Para obter informações sobre como localizar sua string de conexão SRV no Atlas, consulte Conectar-se ao seu cluster.

  • O esquema de conexão URI padrão tem o formulário:

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

mongosync requer a read preference primary para se conectar aos clusters de origem e destino. Para obter mais informações, consulte Opções de preferência de leitura.

Forneça uma autenticação válida para se conectar a um cluster MongoDB Atlas . Se você ainda não tiver um usuário de banco de dados Atlas , você deverá criar um usuário.

O usuário especificado na string de conexão mongosync deve ter as permissões necessárias nos clusters de origem e destino. As permissões variam dependendo do seu ambiente e se você deseja modificar as configurações de bloqueio de escrita ou usar a sincronização reversa.

As permissões do Atlas são:

Tipo de sincronização
Permissões de origem necessárias
Permissões de destino necessárias

default

  • atlasAdmin

  • atlasAdmin

  • privilégio bypassWriteBlockMode

bloqueio de gravação duplo, reversão ou múltiplas reversões

  • atlasAdmin

  • privilégio bypassWriteBlockMode

  • atlasAdmin

  • privilégio bypassWriteBlockMode

Para obter detalhes sobre as funções do Atlas , consulte: Funções deAtlas user .

Para atualizar as permissões de Atlas user , consulte: Gerenciar acesso a um projeto.

O utilitário mongosync pode ser hospedado em seu próprio hardware próximo ao cluster de origem ou de destino. Ele não precisa ser hospedado no mesmo servidor que uma das instâncias mongod ou mongos no cluster. Essa flexibilidade permite que você envie ou extraia dados para o cluster de destino com impacto mínimo nas instâncias mongod ou mongos execução lá.

Quando mongosync se conecta, ele está no estado IDLE . Você deve emitir o comando de inicialização para iniciar a sincronização.

Antes de tentar executar o mongosync com um cluster do Atlas M10+, desabilite a opção Require Indexes for All Queries.

O formato genérico da string de conexão é:

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

Você pode obter a string de conexão para os clusters do Atlas a partir da UI do Atlas . Para saber mais, consulte Conectar a um sistema de banco de dados.

As connection strings que você uniu para cluster0 e cluster1 devem se assemelhar ao seguinte:

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

Há um usuário administrativo do banco de dados de dados clusterAdmin com a senha superSecret no projeto que contém os clusters.

O layout de comando mongosync abaixo é modificado para exibição. Para conectar cluster0 a cluster1 com mongosync, digite o seguinte comando em uma linha:

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

Os cluster do Atlas exigem conexões TLS. Para usar mongosync com clusters do Atlas, adicione a opção tls=true . Por exemplo, para conectar ao banco de dados admin em cluster0 e cluster1:

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"

Você também pode usar connection strings mongodb+srv com mongosync. Você não precisa adicionar a opção tls=true a uma string de conexão mongodb+srv . Por exemplo:

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

Para obter mais detalhes sobre connection strings mongodb+srv , consulte Formato de conexão SRV.