Todos os produtos
Search
Central de documentação

ApsaraDB for MongoDB:Migrate a self-managed MongoDB sharded cluster to the cloud by using DTS

Última atualização: Jul 05, 2026

Este tópico descreve como usar o Data Transmission Service (DTS) para migrar um banco de dados MongoDB auto-gerenciado com arquitetura de cluster fragmentado para uma instância de cluster fragmentado do ApsaraDB for MongoDB. O DTS permite migrar os dados existentes e incrementais de bancos de dados on-premises para a Alibaba Cloud sem interrupções de serviço.

Para obter mais informações, consulte Visão geral das soluções de migração e sincronização de dados do MongoDB.

Pré-requisitos

  • Para informações sobre as versões suportadas pelo MongoDB auto-gerenciado e pelo ApsaraDB for MongoDB, consulte Visão geral das soluções de migração.

  • Verifique se cada shard na instância de cluster fragmentado de destino possui espaço de armazenamento suficiente.

    Nota

    Por exemplo, se um banco de dados auto-gerenciado tiver três shards e o segundo shard utilizar a maior parte do espaço de armazenamento (500 GB), o espaço de armazenamento de cada shard na instância de cluster fragmentado de destino deverá ser superior a 500 GB.

Como funciona

O DTS migra um banco de dados MongoDB auto-gerenciado migrando cada shard individualmente. Crie uma tarefa de migração de dados para cada shard.

Nota

A distribuição dos dados na instância MongoDB de destino depende da chave de fragmentação configurada. Para obter mais informações, consulte Configurar a fragmentação de dados para maximizar o desempenho do shard.

How it works

Observações de uso

  • Durante a migração completa de dados, o DTS consome recursos dos bancos de dados de origem e de destino, o que pode aumentar a carga nos servidores. Caso seu banco de dados processe cargas de trabalho pesadas ou as especificações do servidor sejam insuficientes, o desempenho poderá ser afetado e, em alguns casos, o serviço pode ficar indisponível. Avalie o impacto da migração antes de iniciá-la e prefira executá-la em horários de baixa demanda.

  • Para detalhes sobre as versões e mecanismos de armazenamento suportados pelas instâncias MongoDB, consulte Versões e mecanismos de armazenamento. Confirme a compatibilidade antecipadamente ao migrar entre versões ou mecanismos diferentes.

  • Como o DTS grava dados no banco de dados de destino simultaneamente, o espaço de armazenamento utilizado será de 5% a 10% maior do que o ocupado no banco de dados de origem.

  • Garanta que o banco de dados de destino não contenha documentos com a mesma chave primária (_id) do banco de dados de origem para evitar perda de dados. Se existirem documentos com chaves primárias duplicadas, limpe os dados relacionados no destino sem afetar seus serviços. Por exemplo, exclua os documentos no banco de dados de destino que possuam valores de _id idênticos aos do banco de dados de origem.

  • Os bancos de dados admin e local não podem ser utilizados como origem ou destino.

  • A instância de cluster fragmentado MongoDB de origem não pode ter mais de 10 nós Mongos.

Faturamento

Tipo de migração

Taxa de configuração da tarefa

Custo de transferência de dados

Migração completa de dados

Gratuito.

Há cobrança para migração de dados da Alibaba Cloud pela Internet. Para obter mais informações, consulte Preços do DTS.

Migração incremental de dados

Pago. Para obter mais informações, consulte Preços do DTS.

Tipos de migração

  • Migração completa de dados: transfere todo o histórico de dados dos objetos selecionados do banco de dados de origem para o de destino.

    Nota

    Suporta a migração de bancos de dados, coleções e índices.

  • Migração incremental de dados: replica as alterações ocorridas no banco de dados de origem para o de destino após a conclusão da migração completa.

    Nota
    • Sincroniza operações de criação e exclusão em bancos de dados, coleções e índices.

    • Sincroniza operações de criação, exclusão e atualização em documentos.

Permissões necessárias para contas de banco de dados

Banco de dados

Migração completa de dados

Migração incremental de dados

Banco de dados MongoDB auto-gerenciado

Permissões de leitura no banco de dados de origem

Permissões de leitura no banco de dados de origem, no banco de dados admin e no banco de dados local

Instância do ApsaraDB for MongoDB

Permissões de leitura e gravação no banco de dados de destino

Permissões de leitura e gravação no banco de dados de destino

Para saber como criar uma conta de banco de dados e conceder permissões, consulte os seguintes tópicos:

Preparações

  1. Obrigatório: Desative o balanceador do banco de dados MongoDB auto-gerenciado durante a migração para evitar que a movimentação de chunks afete a consistência dos dados. Para obter mais informações, consulte Gerenciando o Balanceador do MongoDB.

    Aviso

    Caso o balanceador não seja desativado, a migração de chunks comprometerá a consistência dos dados lidos pelo DTS.

  2. Limpe os documentos órfãos gerados por falhas na migração de chunks no banco de dados MongoDB auto-gerenciado.

    Nota

    A presença de documentos órfãos prejudica o desempenho da migração e pode causar conflitos de _id, resultando em erros.

    1. Baixe o arquivo de script cleanupOrphaned.js.

      wget "https://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/120562/cn_zh/1564451237979/cleanupOrphaned.js"
    2. Edite o arquivo de script cleanupOrphaned.js e substitua test pelo nome do banco de dados onde deseja limpar os documentos órfãos.

      Nota

      Repita esta etapa e a etapa c para cada banco de dados existente.

    3. Execute o comando abaixo para remover documentos órfãos de todas as coleções no banco de dados especificado dentro de um nó de shard.

      Nota

      Repita este procedimento em cada nó de shard para garantir a limpeza completa.

      mongo --host <Shardhost> --port <Primaryport>  --authenticationDatabase <database> -u <username> -p <password> cleanupOrphaned.js
      Nota
      • <Shardhost>: endereço IP do nó de shard.

      • <Primaryport>: porta de serviço do nó primário no shard.

      • <database>: nome do banco de dados de autenticação, ao qual a conta pertence.

      • <username>: conta utilizada para acessar o banco de dados.

      • <password>: senha de acesso ao banco de dados.

      Exemplo:

      Neste cenário, o banco de dados MongoDB auto-gerenciado possui três shards, exigindo a exclusão de documentos órfãos em cada um deles.

      mongo --host 172.16.1.10 --port 27018  --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.js
      mongo --host 172.16.1.11 --port 27021 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.js
      mongo --host 172.16.1.12 --port 27024  --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.js
  3. Crie o banco de dados e a coleção que requerem fragmentação na instância MongoDB de destino e configure o sharding conforme suas necessidades de negócio. Para mais detalhes, visualize Configurar fragmentação de dados para aproveitar totalmente o desempenho do Shard.

    Nota

    Configure o sharding antes de definir a tarefa de migração. Isso evita que todos os dados sejam direcionados a um único shard, o que poderia exceder a capacidade de armazenamento alocada.

Procedimento

  1. Faça login no console do Data Transmission Service (DTS).

  2. No painel de navegação à esquerda, clique em Data Migration.

  3. Na parte superior da página Migration Tasks, selecione a região onde a instância MongoDB de destino está localizada.

  4. No canto superior direito da página, clique em Create Migration Task.

  5. Configure os bancos de dados de origem e de destino. 配置源库和目标库信息

    Categoria

    Configuração

    Descrição

    N/A

    Nome da Tarefa

    O DTS gera automaticamente um nome para a tarefa. Especifique um nome descritivo para facilitar a identificação. Não é necessário que o nome seja único.

    Banco de Dados de Origem

    Tipo de Instância

    Selecione o tipo de instância conforme o local de implantação do banco de dados de origem. Este tópico utiliza Self-managed Database With Public IP como exemplo.

    Nota

    Se o seu banco de dados auto-gerenciado for de outro tipo de instância, preparações adicionais podem ser necessárias. Para mais informações, consulte Preparações para migração de dados.

    Região da Instância

    Ao definir o Tipo de Instância como Self-managed Database With Public IP, não é necessário configurar a Instance Region.

    Nota

    Se o banco de dados auto-gerenciado possuir configurações de lista de permissões, clique em Get DTS IP Segment ao lado de Instance Region para obter os segmentos de IP dos servidores DTS. Em seguida, adicione esses segmentos à lista de permissões do seu banco de dados.

    Tipo de Banco de Dados

    Selecione MongoDB.

    Nome do Host ou Endereço IP

    Insira o nome de domínio ou endereço IP de um único nó de shard no banco de dados MongoDB auto-gerenciado. Neste exemplo, utilizamos um endereço IP público.

    Nota

    O DTS migra todo o cluster fragmentado processando cada nó de shard sequencialmente. Insira o domínio ou IP do primeiro nó de shard. Ao criar a segunda tarefa de migração, informe os dados do segundo nó, e assim sucessivamente até concluir a migração de todos os nós.

    Porta

    Insira a porta de serviço do nó de shard correspondente.

    Nota

    Neste exemplo, a porta de serviço de cada nó de shard deve estar acessível pela internet.

    Nome do Banco de Dados

    Insira o nome do banco de dados de autenticação. Trata-se do banco ao qual a conta de usuário pertence.

    Conta do Banco de Dados

    Insira a conta do banco de dados MongoDB auto-gerenciado. Para detalhes sobre as permissões exigidas, consulte Permissões da conta do banco de dados.

    Senha do Banco de Dados

    Insira a senha da conta do banco de dados.

    Nota

    Após configurar as informações do banco de dados de origem, clique em Test Connection ao lado de Database Password para validar os dados. Se estiverem corretos, a mensagem Test Passed será exibida. Caso veja Test Failed, clique em Diagnose ao lado de Test Failed e ajuste as informações conforme as instruções.

    Método de Conexão

    Selecione Non-encrypted Connection.

    Nota

    A opção SSL-encrypted Connection está disponível apenas para migrações de bancos de dados MongoDB Atlas.

    Banco de Dados de Destino

    Tipo de Instância

    Selecione MongoDB Instance.

    Região da Instância

    Selecione a região onde a instância MongoDB de destino está localizada.

    ID da Instância MongoDB

    Selecione o ID da instância de cluster fragmentado de destino.

    Nome do Banco de Dados

    Insira o nome do banco de dados de autenticação. Este é o banco ao qual a conta pertence.

    Conta do Banco de Dados

    Insira a conta da instância MongoDB. Consulte Permissões da conta do banco de dados para verificar os privilégios necessários.

    Senha do Banco de Dados

    Insira a senha da conta do banco de dados.

    Nota

    Após preencher os dados do banco de destino, clique em Test Connection ao lado de Database Password para validar as informações. A mensagem Test Passed indica sucesso. Se aparecer Test Failed, utilize a opção Diagnose ao lado de Test Failed para corrigir os dados conforme orientado.

  6. Concluída a configuração, clique em Set Whitelist and Next no canto inferior direito da página.

    Se a origem ou o destino for uma instância de banco de dados da Alibaba Cloud, como ApsaraDB RDS for MySQL ou ApsaraDB for MongoDB, o DTS adiciona automaticamente os endereços IP do serviço DTS da região correspondente à lista de permissões de IP da instância. Para bancos auto-gerenciados em instâncias ECS, o DTS inclui automaticamente esses IPs nas regras do grupo de segurança da instância ECS, mas você ainda precisa garantir que o banco permita o acesso a partir dela. Em clusters distribuídos por múltiplas instâncias ECS, adicione manualmente os IPs do DTS às regras de segurança das demais instâncias. Para bancos auto-gerenciados em IDCs ou outras nuvens, adicione manualmente os IPs do serviço DTS da região para liberar o acesso. Consulte Blocos CIDR de endereços IP dos servidores DTS para obter a lista de IPs.

    Aviso

    Adicionar blocos CIDR públicos dos servidores DTS, seja automática ou manualmente, pode introduzir riscos de segurança. Ao utilizar este produto, você reconhece e aceita esses riscos potenciais. É sua responsabilidade implementar medidas básicas de segurança, incluindo, mas não se limitando a: uso de senhas fortes, restrição de portas abertas, autenticação para chamadas de API internas, revisão regular e limitação de segmentos de rede desnecessários, ou conexão via redes privadas como Express Connect, VPN Gateway ou Smart Access Gateway.

  7. Defina os tipos e objetos de migração.选择迁移对象和迁移类型选择

    Parâmetro Descrição
    Tipo de migração
    • Para migrações offline, selecione apenas Full Data Migration.
    • Para migrações sem tempo de inatividade, marque tanto Full Data Migration quanto Incremental Data Migration.
    Nota Caso não selecione Incremental Data Migration, evite gravar novos dados no banco MongoDB auto-gerenciado durante o processo para garantir a consistência entre origem e destino.
    Objetos de migração
    • Na lista Available, selecione os objetos desejados e clique no ícone Right arrow para movê-los para a lista Selected Objects.
      Nota Os bancos de dados admin, local e config não podem ser migrados.
    • É possível selecionar bancos de dados, coleções ou funções como objetos de migração.
    • Por padrão, os nomes dos objetos são mantidos após a migração. Para renomeá-los, utilize o recurso de Mapeamento de nomes de objetos.
    Renomear objetos Permite renomear objetos no destino através do recurso Mapeamento de nomes de objetos.
    Duração de nova tentativa para conexões instáveis Padrão: 12 horas (personalizável). Se o DTS restabelecer a conexão dentro desse período, a tarefa será retomada automaticamente; caso contrário, ela falhará.
    Nota A tarefa DTS gera custos durante as tentativas de reconexão. Defina a duração conforme sua necessidade e libere a instância DTS quando não for mais necessária para evitar gastos desnecessários.
  8. Finalizadas as configurações, clique em Pre-check and Start no canto inferior direito da página.

    Nota
    • O DTS executa uma verificação prévia antes de iniciar a tarefa. O início só ocorre após a aprovação nessa verificação.

    • Em caso de falha na verificação prévia, clique no ícone 提示 ao lado do item reprovado para visualizar os detalhes.

      • Corrija os problemas indicados nos detalhes e execute a verificação novamente.

      • Para avisos que não exigem correção obrigatória, selecione Ignore ou Ignore and Rerun Precheck para prosseguir com a verificação.

  9. Após a aprovação na verificação prévia, clique em Next.

  10. Na página Confirm Purchase Configuration, escolha uma Link Specification e marque a caixa de seleção Data Transmission Service (Pay-as-you-go) Terms of Service.

  11. Clique em Purchase and Start para iniciar a tarefa de migração.

  12. Repita as etapas de 1 a 11 para criar tarefas de migração para os nós de shard restantes.

  13. Conclua a tarefa de migração.

    • Migração completa de dados

      Evite interromper manualmente a tarefa durante a migração completa de dados, pois isso pode resultar em dados incompletos na instância ApsaraDB for MongoDB de destino. Aguarde até que a tarefa de migração completa pare automaticamente.

    • Migração incremental de dados

      A tarefa de migração incremental não para sozinha; é necessário interrompê-la manualmente.

      Nota

      Escolha um momento adequado para parar a tarefa manualmente, preferencialmente em horários de baixa demanda ou quando estiver pronto para alternar suas operações para a instância MongoDB de destino.

      1. Aguarde até que o progresso das tarefas de migração de todos os nós de shard mude para Incremental Migration e o status indique No Latency. Nesse momento, pare de gravar dados no banco de origem por alguns minutos. O status de Incremental Migration poderá apresentar latência temporariamente.

      2. Espere até que o status de Incremental Migration de todas as tarefas retorne para No Latency. Em seguida, interrompa as tarefas manualmente.结束迁移任务

  14. Direcione suas operações para a instância ApsaraDB for MongoDB de destino.