Tutorial: Migrar o MongoDB para o Azure Cosmos DB para MongoDB RU offline usando o Serviço de Migração de Banco de Dados do Azure
APLICA-SE A: MongoDB
Importante
Leia este guia completo antes de executar as etapas de migração. Atualmente, o Serviço de Migração de Banco de Dados do Azure não oferece suporte a migrações para uma conta vCore do Azure Cosmos DB para MongoDB. Use a extensão do Azure Cosmos DB para MongoDB no Azure Data Studio para migrar seus workfloads do MongoDB offline para o Azure Cosmos DB para MongoDB vCore.
Este guia de migração do MongoDB faz parte da série sobre migração do MongoDB. As etapas críticas de migração do MongoDB são pré-migração, migração e pós-migração, conforme mostrado abaixo.
Visão geral da migração de dados offline do MongoDB para o Azure Cosmos DB usando DMS
Use o Serviço de Migração de Banco de Dados do Azure para executar uma migração offline e única de bancos de dados de uma instância local ou na nuvem do MongoDB para o Azure Cosmos DB para MongoDB.
Neste tutorial, irá aprender a:
- Crie uma instância do Azure Database Migration Service.
- Crie um projeto de migração usando o Serviço de Migração de Banco de Dados do Azure.
- Executar a migração.
- Monitorizar a migração.
Neste tutorial, você migra um conjunto de dados no MongoDB hospedado em uma máquina virtual do Azure. Usando o Serviço de Migração de Banco de Dados do Azure, você migra o conjunto de dados para o Azure Cosmos DB para MongoDB. Se você ainda não tiver uma fonte do MongoDB configurada, consulte Instalar e configurar o MongoDB em uma VM do Windows no Azure.
Pré-requisitos
Para concluir este tutorial, precisa de:
Conclua as etapas de pré-migração , como estimar a taxa de transferência e escolher uma chave de partição.
Crie uma conta para o Azure Cosmos DB para MongoDB.
Nota
No momento, o DMS não é suportado se você estiver migrando para uma conta do Azure Cosmos DB para MongoDB provisionada com o modo sem servidor.
Crie uma Rede Virtual do Microsoft Azure para o Serviço de Migração de Banco de Dados do Azure usando o Gerenciador de Recursos do Azure. Esse modelo de implantação fornece conectividade site a site para seus servidores de origem locais usando a Rota Expressa do Azure ou VPN. Para obter mais informações sobre como criar uma rede virtual, consulte a documentação da Rede Virtual do Azure, especialmente os artigos de "início rápido" com detalhes passo a passo.
Durante a configuração da rede virtual, se você usar a Rota Expressa com emparelhamento de rede para a Microsoft, adicione os seguintes pontos de extremidade de serviço à sub-rede na qual o serviço será provisionado:
- Ponto de extremidade do banco de dados de destino (por exemplo, ponto de extremidade SQL ou ponto de extremidade do Azure Cosmos DB)
- Ponto final de armazenamento
- Ponto final do Service Bus
Esta configuração é necessária porque o Azure Database Migration Service não tem conectividade à Internet.
Certifique-se de que as regras do NSG (grupo de segurança de rede) para a rede virtual não bloqueiem as seguintes portas de comunicação: 53, 443, 445, 9354 e 10000-20000. Para obter mais informações, veja Filtrar o tráfego de rede com grupos de segurança de rede.
Abrir a firewall do Windows para permitir ao Azure Database Migration Service aceder ao servidor de origem do MongoDB, que, por predefinição, é a porta TCP 27017.
Se estiver a utilizar uma aplicação de firewall à frente da base de dados de origem, poderá ter de adicionar regras de firewall para permitir que o Azure Database Migration Service aceda à base de dados de origem para migração.
Configurar o recurso de repetição do lado do servidor
Você pode se beneficiar dos recursos de governança de recursos se migrar do MongoDB para o Azure Cosmos DB. Com esses recursos, você pode fazer pleno uso de suas unidades de solicitação provisionadas (RU/s) de taxa de transferência. O Azure Cosmos DB pode limitar uma solicitação específica do Serviço de Migração de Banco de Dados durante a migração, se essa solicitação exceder o RU/s provisionado em contêiner. Em seguida, esse pedido precisa ser repetido.
O Serviço de Migração de Banco de Dados é capaz de executar tentativas. É importante entender que o tempo de ida e volta envolvido no salto de rede entre o Serviço de Migração de Banco de Dados e o Azure Cosmos DB afeta o tempo de resposta geral dessa solicitação. Melhorar o tempo de resposta para solicitações limitadas pode reduzir o tempo total necessário para a migração.
O recurso Server Side Retry do Azure Cosmos DB permite que o serviço intercete códigos de erro de aceleração e tente novamente com um tempo de ida e volta muito menor, melhorando drasticamente os tempos de resposta da solicitação.
Para usar a Repetição do Lado do Servidor, no portal do Azure Cosmos DB, selecione Repetição do Lado do Servidor de Recursos>.
Se o recurso estiver desativado, selecione Ativar.
Registar o fornecedor de recursos
Registe o fornecedor de recursos Microsoft.DataMigration antes de criar a primeira instância do Database Migration Service.
Inicie sessão no portal do Azure. Pesquise e selecione Subscrições.
Selecione a assinatura na qual você deseja criar a instância do Serviço de Migração de Banco de Dados do Azure e selecione Provedores de recursos.
Procure migração e selecione Registrar para Microsoft.DataMigration.
Criar uma instância
No portal do Azure, selecione + Criar um recurso, procure Serviço de Migração de Banco de Dados do Azure e selecione Serviço de Migração de Banco de Dados do Azure na lista suspensa.
No ecrã Azure Database Migration Service, selecione Criar.
Em Criar Serviço de Migração, especifique um nome para o serviço, a assinatura e um grupo de recursos novo ou existente.
Selecione o local no qual você deseja criar a instância do Serviço de Migração de Banco de Dados do Azure.
Selecione uma rede virtual existente ou crie uma nova.
A rede virtual fornece ao Serviço de Migração de Banco de Dados do Azure acesso à instância MongoDB de origem e à conta de destino do Azure Cosmos DB.
Para obter mais informações sobre como criar uma rede virtual no portal do Azure, consulte Criar uma rede virtual usando o portal do Azure.
Selecione um escalão de preço.
Para obter mais informações sobre os custos e os escalões de preços, veja a página de preços.
Selecione Criar para criar o serviço.
Criar um projeto de migração
Depois de criar o serviço, localize-o no portal do Azure e abra-o. Em seguida, crie um novo projeto de migração.
No portal do Azure, selecione Todos os serviços, procure Azure Database Migration Service e selecione Azure Database Migration Services.
Na tela Serviços de Migração de Banco de Dados do Azure, procure o nome da instância do Serviço de Migração de Banco de Dados do Azure que você criou e selecione a instância.
Selecione + Novo Projeto de Migração.
Em Novo projeto de migração, especifique um nome para o projeto e, na caixa de texto Tipo de servidor de origem, selecione MongoDB. Na caixa de texto Tipo de servidor de destino, selecione Azure Cosmos DB para NoSQL e, em seguida, para Escolher tipo de atividade, selecione Migração de dados offline.
Selecione Criar e executar atividade para criar o projeto e executar a atividade de migração.
Especifique os detalhes da origem
Na tela Source details, especifique os detalhes da conexão para o servidor MongoDB de origem.
Importante
O Serviço de Migração de Banco de Dados do Azure não oferece suporte ao Azure Cosmos DB como origem.
Há três modos para se conectar a uma fonte:
Modo padrão, que aceita um nome de domínio totalmente qualificado ou um endereço IP, número de porta e credenciais de conexão.
Modo de cadeia de conexão, que aceita uma cadeia de conexão MongoDB conforme descrito em Formato URI da cadeia de conexão.
Dados do armazenamento do Azure, que aceita uma URL SAS de contêiner de blob. Selecione Blob contém dumps BSON se o contêiner de blob tiver dumps BSON produzidos pela ferramenta bsondump do MongoDB. Não selecione essa opção se o contêiner contiver arquivos JSON.
Se você selecionar essa opção, verifique se a cadeia de conexão da conta de armazenamento aparece no seguinte formato:
https://blobnameurl/container?SASKEY
Você pode encontrar essa cadeia de conexão SAS de contêiner de blob no Gerenciador de Armazenamento do Azure. A criação da SAS para o contêiner em questão fornece a URL no formato solicitado.
Além disso, com base nas informações de despejo de tipo no Armazenamento do Azure, lembre-se do seguinte:
Para dumps BSON, os dados dentro do contêiner de blob devem estar no formato bsondump. Coloque os arquivos de dados em pastas com o nome dos bancos de dados que contêm no formato collection.bson. Nomeie todos os arquivos de metadados usando o formato collection.metadata.json.
Para capturas JSON, os ficheiros no contentor de blobs têm de ser postos em pastas cujo nome é igual ao das bases de dados que contêm. Dentro de cada pasta de banco de dados, os arquivos de dados devem ser colocados em uma subpasta chamada dados e nomeados usando o formato collection.json. Coloque todos os arquivos de metadados em uma subpasta chamada metadados e nomeada usando o mesmo formato, collection.json. Os arquivos de metadados devem estar no mesmo formato produzido pela ferramenta bsondump do MongoDB.
Importante
Não recomendamos que você use um certificado autoassinado no servidor MongoDB. Se você precisar usar um, conecte-se ao servidor usando o modo de cadeia de conexão e verifique se a cadeia de conexão tem aspas ("").
&sslVerifyCertificate=false
Você também pode usar o endereço IP para situações em que a resolução de nomes DNS não é possível.
Selecione Guardar.
Especifique os detalhes do destino
Na tela Detalhes do destino de migração, especifique os detalhes da conexão para a conta do Azure Cosmos DB de destino. Essa conta é a conta pré-provisionada do Azure Cosmos DB para MongoDB para a qual você está migrando seus dados do MongoDB.
Selecione Guardar.
Mapear para as bases de dados de destino
Na tela Mapear para bancos de dados de destino, mapeie o banco de dados de origem e de destino para migração.
Se o banco de dados de destino contiver o mesmo nome de banco de dados que o banco de dados de origem, o Serviço de Migração de Banco de Dados do Azure selecionará o banco de dados de destino por padrão.
Se Create aparecer ao lado do nome do banco de dados, isso indica que o Serviço de Migração de Banco de Dados do Azure não encontrou o banco de dados de destino e o serviço criará o banco de dados para você.
Neste ponto da migração, você pode provisionar a taxa de transferência. No Azure Cosmos DB, você pode provisionar a taxa de transferência no nível do banco de dados ou individualmente para cada coleção. A taxa de transferência é medida em unidades de solicitação. Saiba mais sobre os preços do Azure Cosmos DB.
Selecione Guardar.
Na tela Configuração de coleção, expanda a listagem de coleções e revise a lista de coleções que serão migradas.
O Serviço de Migração de Banco de Dados do Azure seleciona automaticamente todas as coleções existentes na instância do MongoDB de origem que não existem na conta de destino do Azure Cosmos DB. Se quiser remigrar coleções que já incluem dados, selecione explicitamente as coleções neste painel.
Você pode especificar o número de RUs que deseja que as coleções usem. O Serviço de Migração de Banco de Dados do Azure sugere padrões inteligentes com base no tamanho da coleção.
Nota
Execute a migração e a coleta do banco de dados em paralelo. Se necessário, você pode usar várias instâncias do Serviço de Migração de Banco de Dados do Azure para acelerar a execução.
Você também pode especificar uma chave de fragmento para aproveitar o particionamento no Azure Cosmos DB para obter escalabilidade ideal. Analise as práticas recomendadas para selecionar uma chave de fragmento/partição.
Selecione Guardar.
No ecrã Resumo da migração, na caixa de texto Nome da atividade, indique um nome para a atividade de migração.
Execute a migração
Selecione Executar a migração. A janela de atividade de migração é exibida e o status da atividade é Não iniciado.
Monitorize a migração
Na tela de atividade de migração, selecione Atualizar para atualizar a exibição até que o status da migração apareça como Concluído.
Nota
Você pode selecionar a atividade para obter detalhes das métricas de migração no nível do banco de dados e da coleção.
Verificar dados no Azure Cosmos DB
Após a conclusão da migração, você pode verificar sua conta do Azure Cosmos DB para verificar se todas as coleções foram migradas com êxito.
Otimização pós-migração
Depois de migrar os dados armazenados no banco de dados MongoDB para o Azure Cosmos DB para MongoDB, você pode se conectar ao Azure Cosmos DB e gerenciar os dados. Você também pode executar outras etapas de otimização pós-migração. Isso pode incluir a otimização da política de indexação, a atualização do nível de consistência padrão ou a configuração da distribuição global para sua conta do Azure Cosmos DB. Para obter mais informações, consulte Otimização pós-migração.
Recursos adicionais
Tentando fazer o planejamento de capacidade para uma migração para o Azure Cosmos DB?
- Se tudo o que você sabe é o número de vCores e servidores em seu cluster de banco de dados existente, leia sobre como estimar unidades de solicitação usando vCores ou vCPUs
- Se você souber as taxas de solicitação típicas para sua carga de trabalho de banco de dados atual, leia sobre como estimar unidades de solicitação usando o planejador de capacidade do Azure Cosmos DB
Conteúdos relacionados
- Azure Database Migration Guide (Guia de Migração de Base de Dados do Azure)