Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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
- Se você não tiver um cluster, crie um novo cluster
- Instale a Extensão de Migração do Azure DocumentDB em seu computador. Isso instala automaticamente seu pré-requisito, a extensão DocumentDB para Visual Studio Code .
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
readAnyDatabaseeclusterMonitorpermissõ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 tem
createCollection,dropCollection,createIndexeinsertlistCollectionspermissõ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
- Abra a extensão DocumentDB para VS Code .
- Adicione o servidor MongoDB que você deseja migrar para a lista Conexões do DocumentDB.
- Selecione Adicionar Nova Conexão.
- Na barra de navegação, selecione Cadeia de Conexão.
- Cole sua string de conexão:
mongodb://<YOUR_USERNAME>:<YOUR_PASSWORD>@localhost:10260/?tls=true&tlsAllowInvalidCertificates=true&authMechanism=SCRAM-SHA-256 - 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.
Clique com o botão direito do mouse em uma conexão expandida (conectada).
Selecione Migração de Dados no menu de contexto.
Selecione Migrar para o Azure DocumentDB na paleta de comandos.
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.
Etapa 2: Selecionar destino
Nesta etapa, você seleciona uma conta existente do Azure DocumentDB e fornece sua cadeia de conexão.
Selecione a assinatura, o grupo de recursos e a conta do Azure DocumentDB nas listas suspensas.
Forneça a cadeia de conexão para a conta do Azure DocumentDB.
Verifique se o IP listado na tela é permitido no firewall do Azure DocumentDB.
Selecione Avançar para continuar.
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.
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 .
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.
Selecione a assinatura, o grupo de recursos e a rede virtual nas listas suspensas.
Execute o script do PowerShell fornecido na tela para habilitar a integração de rede virtual.
Selecione Avançar para continuar.
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.
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.
Para exibir o status da coleção, selecione uma linha na tabela.
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:
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.
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.
A Lacuna de Replicação mostra a diferença de tempo entre a última atualização e a hora atual.
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.
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.
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.
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
Acesse o portal do Azure e navegue até sua assinatura.
No menu à esquerda, selecione Provedores de recursos em Configurações.
Pesquise por Microsoft.DataMigration na caixa de pesquisa na parte superior.
Se não estiver registrado, selecione-o e selecione o botão Registrar .
CLI do Azure
Abra o Azure Cloud Shell ou seu terminal local.
Execute o seguinte comando para registrar o provedor de recursos:
az provider register --namespace Microsoft.DataMigration
PowerShell
Abra o Azure Cloud Shell ou seu PowerShell local.
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