Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.

Conectar um Cluster managed ao Atlas

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

Esta página fornece instruções para conectar um cluster autogerenciado a um cluster Atlas usando o MongoDB Mongosync.

Para obter detalhes adicionais sobre como se conectar a um cluster do Atlas, consulte Conecte-se a uma implantação de banco de dados

Observação

Para obter o melhor desempenho, atualize seu cluster autogerenciado para a versão de patch mais recente do MongoDB Server antes da migração. Para obter mais informações, consulte Atualizar para a versão de patch autogerenciada mais recente do MongoDB.

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

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

    mongodb+srv://[username:password@][host.domain.TLD][/defaultauthdb][?options]
  • O esquema de conexão URI padrão tem o formulário:

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

Especifique os nomes de host das instâncias do mongod da mesma forma que elas estão listadas na configuração do conjunto de réplicas.

Para clusters fragmentados, especifique os nomes de host das instâncias mongos em vez das instâncias mongod .

Observação

mongosync não requer a opção replicaSet .

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.

Se o cluster de origem ou destino exigir autenticação, você deverá fornecer as credenciais corretas ao chamar o mongosync.

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 usar a sincronização reversa.

As permissões autogerenciadas para o cluster de origem são:

Para obter detalhes sobre as funções do servidor , consulte: Controle de acesso baseado em funções em implementações autogerenciadas.

Para atualizar permissões de usuário, consulte: grantRolesToUser.

As permissões do Atlas para o cluster de destino são:

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

Default

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

Para detalhes sobre as funções do Atlas, consulte Funções de Usuário do Atlas.

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

Durante a sincronização, o mongosync usa o comando setUserWriteBlockMode para bloquear gravar no cluster de destino. O usuários de banco de dados que o mongosync usa para se conectar ao cluster de destino deve ter as duas ações a seguir ao mesmo tempo:

Se qualquer uma das ações estiver ausente, o mongosync para e relata os privilégios ausentes.

atlasAdmin é uma função integrada, e essas duas ações são ações de privilégio, não funções. Para concedê-las, crie uma função personalizada que inclua ambas as ação e atribua a função personalizada ao usuários de banco de dados.

Para criar a função personalizada e atribuí-la ao usuários de banco de dados:

1
  1. Em , selecione sua organização no menu de organização na barra de navegação.

  2. Selecione seu projeto no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Database & Network Access sob o título Security.

2
  1. Clique na aba Custom Roles.

  2. Clique em Add New Custom Role.

  3. Para Custom Role Name, insira um nome como mongosyncWriteBlocking.

  4. No menu suspenso Action or Role, selecione a ação setUserWriteBlockMode. Clique em Add an action or role e selecione a ação bypassWriteBlockingMode.

  5. Clique em Add Custom Role.

3
  1. Clique na aba Database Users.

  2. Clique em Edit para o usuários de banco de dados que mongosync usa.

  3. Expanda a seção Custom Roles e selecione mongosyncWriteBlocking no menu suspenso Custom Roles.

  4. Salvar suas alterações.

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 para configurar o notablescan para false nos clusters de origem e destino.

O cluster de origem, cluster0, está hospedado nos seguintes servidores e portas:

  • clusterOne01.fancyCorp.com:20020

  • clusterOne02.fancyCorp.com:20020

  • clusterOne03.fancyCorp.com:20020

O Atlas cluster de destino, cluster1, está hospedado nos seguintes servidores e portas:

  • cluster2Name-01.abc123.com:27017

  • cluster2Name-02.abc123.com:27017

  • cluster2Name-03.abc123.com:27017

Há um usuário administrativo, clusterAdmin configurado em cada cluster com senha, superSecret.

O formato de string de conexão genérico para o cluster autogerenciado é:

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

O formato de string de conexão genérico para o Atlas cluster é:

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

Use as informações de conexão coletadas para o cluster autogerenciado para criar as connection strings para cluster0:

cluster0:
mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020

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

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://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020" \
--cluster1 "mongodb://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://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020/admin?tls=true" \
--cluster1 "mongodb://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@clusterOne01.fancyCorp.com/" \
--cluster1 "mongodb+srv://clusterAdmin:superSecret@cluster2Name.abc123.mongodb.net/"

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