Compartilhar via


Migrar o MongoDB para o Azure DocumentDB online usando a extensão de migração do Azure DocumentDB (versão prévia pública)

Neste tutorial, você usará a Extensão de Migração do Azure DocumentDB no Visual Studio Code para criar e gerenciar trabalhos de migração de uma instância local ou de nuvem do MongoDB para o Azure DocumentDB. Essa extensão fornece uma interface amigável para o desenvolvedor para executar migrações sem interrupções de serviço. A extensão elimina a necessidade de infraestrutura adicional e oferece conectividade segura, uso de custo zero e controle granular sobre quais bancos de dados e coleções migrar.

O foco deste artigo é usar o fluxo de trabalho integrado da extensão para simplificar as etapas de migração diretamente no Visual Studio Code. Essa abordagem é ideal para cenários em que você deseja uma experiência gerenciada simplificada, com complexidade mínima e confiabilidade máxima.

Pré-requisitos

  • Uma assinatura do Azure

    • Se você não tiver uma assinatura do Azure, crie uma conta gratuita
  • Um cluster existente do Azure DocumentDB

Antes de iniciar a migração, prepare sua conta do Azure DocumentDB e sua instância existente do MongoDB para migração.

Instância do MongoDB (origem)

  • Conclua a avaliação de pré-imigração para determinar se há incompatibilidades e avisos entre a instância de origem e a conta de destino.
  • Adicione um usuário com readAnyDatabase e clusterMonitor permissões, a menos que já exista um. Use essa credencial ao criar trabalhos de migração na extensão.

Azure DocumentDB (destino)

  • Reúna as credenciais da conta do Azure DocumentDB.
  • Verifique se o usuário temcreateCollection, dropCollection, createIndexe insertlistCollectionspermissões.

Importante

Atualmente, não há suporte para autenticação de ID do Microsoft Entra em trabalhos de migração. Use a autenticação nativa do DocumentDB.

Realizar a migração

Conectar-se à origem

  1. Abra a extensão DocumentDB para VS Code .
  2. Adicione o servidor MongoDB que você deseja migrar para a lista Conexões do DocumentDB.
  3. Selecione Adicionar Nova Conexão.
  4. Na barra de navegação, selecione Cadeia de Conexão.
  5. Cole sua string de conexão: mongodb://<YOUR_USERNAME>:<YOUR_PASSWORD>@localhost:10260/?tls=true&tlsAllowInvalidCertificates=true&authMechanism=SCRAM-SHA-256
  6. Nas Conexões do DocumentDB, selecione a conexão e expanda-a para se conectar.

Acionar a extensão de migração

Você pode invocar a Extensão de Migração a partir das Conexões do DocumentDB.

  1. Clique com o botão direito do mouse em uma conexão expandida (conectada).

  2. Selecione Migração de Dados no menu de contexto.

    Captura de tela do menu de contexto no Visual Studio Code.

  3. Selecione Migrar para o Azure DocumentDB na paleta de comandos.

    Captura de tela da paleta de comandos no Visual Studio Code.

  4. Um assistente de migração orienta você durante o processo.

Criar um trabalho de migração

Um trabalho de migração é usado para migrar um grupo de coleções da origem para o Azure DocumentDB de destino. O assistente para criar um trabalho de migração tem seis etapas.

Etapa 1: Criar trabalho

Nesta etapa, você fornece os detalhes básicos para o trabalho.

  • Nome do trabalho: forneça um nome amigável para identificar o trabalho de migração.

  • Modo de Migração: selecione o modo de migração mais apropriado para seu caso de uso.

    • A migração online copia dados de coleta, garantindo que as atualizações também sejam replicadas durante o processo. Esse método é vantajoso com tempo de inatividade mínimo, permitindo operações contínuas para a continuidade dos negócios. Use essa opção quando as operações contínuas forem cruciais e a redução do tempo de inatividade for uma prioridade.
    • A migração offline captura um instantâneo do banco de dados no início, oferecendo uma abordagem mais simples e previsível. Funciona bem quando o uso de uma cópia estática do banco de dados é aceitável e as atualizações em tempo real não são essenciais.

    Importante

    Para garantir migrações online bem-sucedidas do MongoDB, o ChangeStream deve ser habilitado no servidor MongoDB de origem. Sem o ChangeStream, as modificações feitas nos dados após a migração inicial não são capturadas. Portanto, use o modo de migração online somente se o ChangeStream estiver habilitado no servidor MongoDB de origem.

  • Conectividade: dependendo do mandato de segurança da sua organização e da configuração de rede, escolha entre Público e Privado.

    • Use Public quando os servidores de origem e de destino estiverem acessíveis pela Internet por meio de IPs públicos. Ele habilita o suporte para serviços que exigem acessibilidade externa.
    • Use Private quando os servidores de origem ou de destino estiverem acessíveis exclusivamente por meio de IPs privados em uma rede virtual. Ele aumenta a segurança eliminando a exposição à Internet pública.

Selecione Avançar para continuar.

Captura de tela da etapa criar trabalho no assistente.

Etapa 2: Selecionar destino

Nesta etapa, você seleciona uma conta existente do Azure DocumentDB e fornece sua cadeia de conexão.

  1. Selecione a assinatura, o grupo de recursos e a conta do Azure DocumentDB nas listas suspensas.

  2. Forneça a cadeia de conexão para a conta do Azure DocumentDB.

  3. Verifique se o IP listado na tela é permitido no firewall do Azure DocumentDB.

  4. Selecione Avançar para continuar.

Captura de tela da etapa de destino selecionada no assistente.

Etapa 3: Selecionar DMS (Serviço de Migração de Banco de Dados)

O Serviço de Migração de Banco de Dados do Azure é um serviço que migra dados de e para plataformas de dados do Azure usando a infraestrutura de nuvem para transferência de dados, em vez de depender de recursos locais. Escolha uma instância existente do Serviço de Migração de Banco de Dados do Azure na lista suspensa ou selecione Criar DMS para criar um novo serviço de migração.

Importante

Verifique se o provedor de recursos Microsoft.DataMigration está registrado em sua assinatura. Você só precisa fazer isso uma vez por assinatura.

Selecione Avançar para continuar.

Captura de tela da etapa de seleção do Serviço de Migração de Banco de Dados no assistente.

Etapa 4: Configurar a conectividade

Essa tela depende do modo de conectividade escolhido na Etapa 1.

Conectividade pública

Na conectividade pública, o trabalho de migração conecta-se à sua origem e ao destino usando a Internet pública. Para habilitar a comunicação, você precisa atualizar os firewalls de origem e de destino. Para habilitar a comunicação dos servidores DMS, adicione os endereços IP listados na tela aos firewalls de origem e de destino. Para obter mais informações, consulte configurar o firewall do cluster do Azure DocumentDB .

Captura de tela da etapa de configuração de conectividade pública no assistente.

Conectividade privada

Em conectividade privada, o trabalho de migração é executado em sua rede virtual. Para se comunicar com segurança com a sua rede virtual, usamos o emparelhamento de rede virtual.

  1. Selecione a assinatura, o grupo de recursos e a rede virtual nas listas suspensas.

  2. Execute o script do PowerShell fornecido na tela para habilitar a integração de rede virtual.

  3. Selecione Avançar para continuar.

Captura de tela da etapa de configuração de conectividade privada no assistente.

Etapa 5: Selecionar coleções

Nesta etapa, você seleciona as coleções a serem incluídas no trabalho de migração. Selecione na lista de coleções usando as opções de pesquisa fornecidas. As coleções que já existem no destino são automaticamente marcadas como Sim na coluna Exists in Target .

Dica

Certifique-se de selecionar todas as coleções que você deseja incluir, pois a lista de coleções não pode ser adicionada depois que o trabalho de migração é criado.

Selecione Avançar para continuar.

Captura de tela da etapa de seleção de coleções no assistente.

Etapa 6: Confirmar e iniciar

Examine os detalhes do trabalho de migração antes de selecionar Iniciar Migração. Se os detalhes precisarem ser atualizados, use o botão Editar Detalhes .

Depois que o trabalho de migração for criado com êxito, você será redirecionado automaticamente para a página Exibir Trabalhos Existentes

Dica

As tarefas de migração de dados são executadas no Serviço de Migração de Banco de Dados do Azure. Portanto, você não precisa estar conectado aos ambientes de origem e de destino durante a migração de dados. O status é atualizado no painel em intervalos frequentes.

Monitorar trabalhos de migração existentes

Use a guia Exibir Trabalhos Existentes para monitorar o status de migração de trabalhos inicializados. Os trabalhos são listados com base no DMS selecionado. Use o botão Alterar DMS para alterar sua seleção.

O status é atualizado automaticamente em intervalos frequentes. Trabalhos offline são concluídos automaticamente depois que os instantâneos de coleção selecionados são copiados para o destino. No entanto, as migrações online precisam ser cortadas manualmente.

Captura de tela da tela exibir trabalhos existentes.

Para exibir o status da coleção, selecione uma linha na tabela.

Captura de tela mostrando o status da coleção para migração offline.

Monitorar migrações online

As migrações online, ao contrário das migrações offline, não são concluídas automaticamente. Em vez disso, eles são executados continuamente até que sejam finalizados manualmente selecionando Substituição.

Para concluir a migração online, siga estas etapas na ordem fornecida:

  1. O botão Cutover é ativado depois que a carga de dados inicial é concluída para todas as coleções. Neste estágio, o trabalho está na fase de replicação, copiando continuamente as atualizações da instância de origem para a instância de destino para mantê-lo up-to-date com as alterações mais recentes.

  2. Quando estiver pronto para realizar o corte de migração, interrompa todas as transações de entrada para as coleções de origem que estão sendo migradas.

  3. A Lacuna de Replicação mostra a diferença de tempo entre a última atualização e a hora atual.

  4. Monitore as alterações de replicação na tabela e aguarde até que a métrica Replication Changes Played se estabilize. Uma métrica estável de Alterações de Replicação Reproduzidas indica que todas as atualizações da origem foram copiadas com sucesso para o destino.

  5. Selecione Substituição quando a lacuna de replicação for mínima para todas as coleções e a métrica Replication Changes Played for estável.

  6. Valide manualmente se a contagem de linhas é a mesma entre as coleções de origem e de destino.

Observação

Executar a operação de substituição sem validar se a origem e o destino estão sincronizados pode resultar em perda de dados.

Captura de tela mostrando o status da coleção para migração online

Registrar o provedor de recursos Microsoft.DataMigration em sua assinatura

Para garantir que o provedor de recursos Microsoft.DataMigration esteja registrado em sua assinatura, você pode seguir estas etapas:

portal do Azure

  1. Acesse o portal do Azure e navegue até sua assinatura.

  2. No menu à esquerda, selecione Provedores de recursos em Configurações.

  3. Pesquise por Microsoft.DataMigration na caixa de pesquisa na parte superior.

  4. Se não estiver registrado, selecione-o e selecione o botão Registrar .

CLI do Azure

  1. Abra o Azure Cloud Shell ou seu terminal local.

  2. Execute o seguinte comando para registrar o provedor de recursos:

    az provider register --namespace Microsoft.DataMigration
    

PowerShell

  1. Abra o Azure Cloud Shell ou seu PowerShell local.

  2. Execute o seguinte comando para registrar o provedor de recursos:

    Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"
    

perguntas frequentes

Por que as exibições estão ausentes na etapa da tela de seleção de coleção quando o Azure DocumentDB dá suporte a exibições?

O Azure DocumentDB dá suporte à criação de novas exibições. No entanto, a extensão de migração não fornece suporte para migrar exibições existentes.

Depois que a migração for concluída, você sempre poderá recriar as visualizações.

Quais coleções e bancos de dados são ignorados ao migrar do MongoDB para o Azure DocumentDB?

Os seguintes bancos de dados e coleções são considerados internos para MongoDB:

Categoria Description
Bancos de dados Administração, local, configuração do sistema
Coleções Qualquer coleção com prefixo system.

Os trabalhos de migração são executados localmente em meu computador?

Os bancos de dados e coleções são listados diretamente na interface do assistente usando comandos executados do cliente VS Code local. Essa funcionalidade requer conectividade de rede entre o computador que executa o VS Code e os ambientes de origem e de destino.

As tarefas de migração de dados são executadas pelo DMS (Serviço de Migração de Banco de Dados do Azure). O DMS é um serviço hospedado no Azure que orquestra e gerencia atividades de movimentação de dados. Depois que as tarefas de migração forem criadas, você não precisará mais manter a conectividade com os ambientes de origem e de destino.

Posso renomear bancos de dados e coleções durante a migração?

A extensão não dá suporte à renomeação de banco de dados e coleção durante a migração.

Como devo configurar meus firewalls do servidor de origem para evitar problemas de conectividade?

A configuração de rede necessária depende do modo de conectividade selecionado:

  • Modo público: Você deve permitir que os endereços IP exibidos no assistente nos firewalls de origem e de destino habilitem a comunicação.
  • Modo privado: Você deve habilitar a integração de rede virtual para que os servidores DMS possam se comunicar com segurança com os pontos de extremidade de origem e de destino dentro da rede virtual.

Consulte também a conectividade do VS Code

Quantos bancos de dados e coleções posso migrar em uma única migração?

Você pode incluir até 25 coleções em uma única migração. No entanto, você pode criar e executar vários trabalhos de migração para migrar outras coleções.

Quantos trabalhos de migração posso executar simultaneamente?

Você pode executar vários trabalhos de migração ao usar o acesso público. No entanto, ao usar o acesso privado, uma única rede virtual pode dar suporte a apenas um trabalho ativo por vez. Para executar vários trabalhos com acesso privado, você precisa usar uma rede virtual diferente para cada trabalho.

Que tipo de logs a extensão gera?

A extensão registra erros, avisos e outros logs de diagnóstico no diretório de log padrão:

  • Windows - C:\Users\<username>\.dmamongo\logs\
  • Linux - ~/.dmamongo/logs
  • macOS - /Users/<username>/.dmamongo/logs

Próximas etapas