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 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 de Azure
- Se você não tiver uma assinatura do Azure, crie uma conta gratuita
Um cluster do DocumentDB Azure existente
- Se você não tiver um cluster, crie um novo cluster
- Instale a Extensão de Migração do Azure DocumentDB na sua máquina. Isso instala automaticamente seu pré-requisito, a extensão DocumentDB para Visual Studio Code.
Antes de iniciar a migração, prepare sua conta 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 (target)
- Reúna as credenciais da conta do Azure DocumentDB .
- Verifique se o usuário tem
createCollection,dropCollection,createIndexeinsertlistCollectionspermissões.
Permissões mínimas necessárias
Use as seguintes funções mínimas para criar e executar trabalhos de migração.
| Função mínima | Scope | Aplica-se ao modo de conectividade | Propósito |
|---|---|---|---|
| Leitor | Subscription | Público e privado | Listar assinaturas e grupos de recursos. Necessário para cada tarefa de migração. |
| Colaborador do Azure Serviço de Migração de Banco de Dados | Grupo de recursos | Público e privado | Criar Azure Serviço de Migração de Banco de Dados (DMS). Você não precisa criar um novo DMS para cada migração. Um DMS por região é suficiente. |
| Contributor | Subscription | Público e privado | Registre o DMS na assinatura. Essa é uma atividade única e pode ser delegada a outro usuário. |
| Administrador de Acesso do Usuário | Rede virtual | Somente privado | Atribua a função Colaborador de Rede ao principal de objeto DMS. Essa é uma atividade única por rede virtual e pode ser delegada a outro usuário. |
| Contributor | Azure DocumentDB | Público e privado | Inicie a tarefa de migração. |
Para obter detalhes de registro do provedor, consulte Registrar o provedor de recursos Microsoft.DataMigration em sua assinatura.
Importante
no momento, não há suporte para autenticação Microsoft Entra ID em trabalhos de migração. Use a autenticação nativa do DocumentDB.
Realizar a migração
Para obter diretrizes de planejamento sobre dimensionamento, velocidade e substituição de migração, consulte as práticas recomendadas de 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 seu cadeia 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.
Na paleta de comandos, selecione Migration para Azure DocumentDB. Captura de tela da paleta de comandos listando ferramentas de migração no Visual Studio Code.
Em seguida, selecione Igrate para Azure DocumentDB.
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 destino Azure DocumentDB. 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 da conta do Azure DocumentDB.
Verifique se o IP listado na tela é permitido no firewall Azure DocumentDB.
Selecione Avançar para continuar.
Etapa 3: Selecionar Serviço de Migração de Banco de Dados(DMS)
Azure Serviço de Migração de Banco de Dados é um serviço que migra dados de e para plataformas de dados Azure usando a infraestrutura de nuvem para transferência de dados, em vez de depender de recursos locais. Escolha uma instância de Azure Serviço de Migração de Banco de Dados existente na lista suspensa ou selecione Create 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 sobre o modelo de rede, consulte Conectividade pública. Para obter diretrizes de configuração de firewall, consulte as configurações do firewall do cluster Azure DocumentDB.
Conectividade privada
Em conectividade privada, o trabalho de migração é executado em sua rede virtual. Para comunicar de forma segura com as suas redes virtuais, utilizamos o emparelhamento de rede virtual. Para obter mais informações sobre o modelo de rede, consulte Conectividade privada.
A ferramenta permite o estabelecimento de conexões entre duas redes virtuais, uma para a origem e outra para o destino. Dependendo da configuração da sua rede, selecione a assinatura, o grupo de recursos e as redes virtuais nas listas suspensas.
Na seção Configuração do DMS , selecione um intervalo CIDR que não está em conflito com suas redes virtuais.
Execute os scripts do PowerShell fornecidos 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 Azure Serviço de Migração de Banco de Dados. 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.
Cenários de migração
A Extensão de Migração do Azure DocumentDB dá suporte a vários ambientes de origem, incluindo instâncias do MongoDB em execução em Azure, datacenters locais e outros provedores de nuvem. A extensão fornece opções de conectividade flexíveis para acomodar diferentes configurações de rede e requisitos de segurança.
Ambientes de origem com suporte
A tabela a seguir resume as fontes de migração com suporte:
| Ambiente de origem | Description |
|---|---|
| Dentro de Azure | Instâncias do MongoDB em execução em Máquinas Virtuais do Azure ou em outros serviços hospedados por Azure |
| Local | Servidores do MongoDB em execução em seu data center local ou infraestrutura privada |
| Outros provedores de nuvem | Instâncias do MongoDB hospedadas em outras plataformas de nuvem |
Conectividade pública
No modo de conectividade pública, o Azure Serviço de Migração de Banco de Dados (DMS) se conecta aos servidores de origem e de destino pela Internet pública. O DMS fornece endereços IP estáticos que você adiciona às listas de permissões de firewall nos servidores de origem e de destino. O DMS usa uma rede virtual pública compartilhada para todas as migrações em uma determinada região. Embora essa rede virtual seja compartilhada entre os clientes, cada trabalho de migração é executado em seu próprio nó de trabalho privado isolado para garantir o isolamento em nível de trabalho.
Use a conectividade pública quando:
- Seus servidores de origem e de destino são acessíveis por meio de endereços IP públicos.
- As políticas de segurança da sua organização permitem conexões pela Internet pública.
- Você precisa de uma configuração mais simples sem a configuração de rede virtual.
Para habilitar a conectividade pública:
No assistente de migração, selecione Público como o modo de conectividade.
Observe os endereços IP estáticos exibidos no assistente.
Adicione esses endereços IP à lista de permissões de firewall no servidor MongoDB de origem.
Adicione esses endereços IP ao firewall Azure DocumentDB.
Conectividade privada
No modo de conectividade privada, o DMS provisiona uma rede virtual privada dedicada para cada trabalho de migração e a emparelha com suas redes virtuais de origem e de destino. Isso significa que cada trabalho obtém nós de trabalho isolados e uma rede isolada, garantindo que não haja nenhum tráfego entre trabalhos e nenhum caminho de rede compartilhado entre os clientes.
A extensão dá suporte a até duas redes virtuais:
- Rede virtual de origem: a rede virtual em que o servidor MongoDB de origem está acessível.
- Target virtual network: a rede virtual em que seu cluster Azure DocumentDB está acessível.
Use a conectividade privada quando:
- Seus servidores de origem ou de destino não são acessíveis pela Internet pública.
- Sua organização exige que todo o tráfego flua por redes privadas.
- Você precisa evitar a exposição pública à Internet.
De outros provedores de nuvem ou locais
Use suas ferramentas VPN preferenciais para configurar a conectividade de rede entre Azure e seu ambiente de origem em outra nuvem ou local.
De um endpoint privado no Azure
Configure pontos de extremidade privados para as redes virtuais de origem e de destino.
Para habilitar a conectividade privada:
No assistente de migração, selecione Privado como o modo de conectividade.
Selecione a assinatura, o grupo de recursos e a rede virtual para seu ambiente de origem.
Selecione a assinatura, o grupo de recursos e a rede virtual para seu ambiente de destino.
Na seção Configuração do DMS , selecione um intervalo CIDR que não está em conflito com suas redes virtuais existentes.
Execute os scripts do PowerShell fornecidos no assistente para habilitar a integração e o emparelhamento de redes virtuais.
Importante
Ao usar o acesso privado, uma única rede virtual pode dar suporte a apenas um trabalho de migração ativo por vez. Para executar vários trabalhos simultâneos, use redes virtuais diferentes para cada trabalho.
Registre o provedor de recursos Microsoft.DataMigration em sua assinatura
Para garantir que o provedor de recursos Microsoft.DataMigration está 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.
Procure 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 o 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 o 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 tela de seleção de coleção quando o Azure DocumentDB oferece suporte a exibições?
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 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?
O assistente de migração no VS Code requer conectividade de rede do computador local para os ambientes de origem e de destino. Essa conectividade é usada para enumerar bancos de dados e coleções e enviar o trabalho de migração. Depois que o trabalho for enviado, você poderá fechar o VS Code ou desconectar-se dos ambientes de origem e de destino.
A migração de dados é executada inteiramente por Azure Serviço de Migração de Banco de Dados (DMS), um serviço hospedado por Azure que gerencia toda a movimentação de dados. O DMS não depende do computador local ou do VS Code para execução do trabalho, portanto, a conectividade local não é necessária após o envio do trabalho.
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 um número ilimitado de coleções em uma única migração.
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