Execute a migração em produção (Pull) de um conjunto de réplicas no Atlas (MongoDB anterior a 6.0.17)
Nesta página
Importante
Recurso Indisponível em Instâncias sem Servidor
Neste momento, as instâncias sem servidor não permitem essa funcionalidade. Para saber mais, consulte Limitações de instâncias sem servidor.
Se os clusters de origem e destino estiverem executando o MongoDB 6.0.17+ ou 7.0.13+, você poderá migrar ao vivo para o Atlas usando este procedimento.
O Atlas pode puxar um conjunto de réplicas de origem configurada para um Atlas cluster utilizando o processo de migração live legado . O Atlas sincroniza da origem para o cluster de destino até que você transfira seus aplicativos para o Atlas cluster de destino.
Depois de atingir a etapa de substituição no procedimento a seguir, interrompa as gravações no cluster de origem. Pare suas instâncias de aplicativo, aponte para o Atlas cluster e reinicie-as.
Restrições
Você não pode selecionar um
M0
M2/M5
cluster compartilhado (camada grátis) ou como origem ou destino para a migração live legado (pull). Para migrar dados de um cluster compartilhado doM0
(Nível Livre) ouM2/M5
para um cluster pago, altere o camada do cluster .A migração live legada (pull) não é compatível com o MongoDB 8.0 ou versões rápidas como a versão do cluster de origem ou destino.
A migração live legada (pull) não é suportada para clusters fragmentados.
Para migrar ao vivo um cluster fragmentado que executa uma versão do MongoDB 6.0.17 ou anterior, atualize o cluster para 6.0.17+ ou 7.0.13+ e, em seguida, migrá-lo ao vivo para o Atlas usando este procedimento de migração ao vivo.
A migração live legada (pull) não é compatível com emparelhamento de VPC ou endpoints privados para o cluster de origem ou de destino.
A migração live legada (pull) não suporta a migração de conjuntos de réplicas de origem que contenham coleções de séries temporais.
Durante a migração ao vivo, o Atlas desabilita os alertas do host.
Acesso necessário
Para migrar seus dados ao vivo, você deve ter acesso do Project Owner
ao Atlas.
Os usuários com acesso Organization Owner
devem se adicionar ao projeto como um Project Owner
.
Pré-requisitos
Forneça o nome do host do nó primário para o serviço de migração live.
Quando você migrar do MongoDB 4.4 ou anterior para um cluster do Atlas que executa o MongoDB 5.0 ou posterior, descarte todos os índices geoHaystack de suas coleções.
Se o cluster for executado com autenticação, conceda ao usuário que executará o processo de migração as seguintes permissões:
Leia todos os bancos de dados e coleções no host.
Acesso de leitura ao oplogdo nó primário.
Para saber mais, Segurança do cluster de origem.
Importante
Fonte Prontidão do cluster
Para ajudar a garantir uma migração de dados tranquila, seu cluster de origem deve atender a todas as recomendações de cluster de produção. Verifique a Lista de verificação de operações e as Notas de produção antes de iniciar o processo de migração em produção.
Caminho de migração
A migração live (pull) do Atlas é compatível com os seguintes caminhos de migração:
Source Replica Set MongoDB Version | Destination Atlas Replica Set MongoDB Version |
---|---|
4.2 | 6.0 |
4.4 | 6.0 |
5.0 | 6.0 |
Acesso à rede
Configurar permissões de rede para os seguintes componentes:
O firewall do cluster de origem permite tráfego do servidor de migração ao vivo
Todos os firewalls para o cluster de origem devem conceder ao servidor de migração ao vivo do MongoDB acesso ao cluster de origem.
O processo de migração ao vivo do Atlas transmite dados através de um servidor de migração ao vivo controlado pelo MongoDB. O Atlas fornece os intervalos IP dos servidores de migração em tempo real MongoDB durante o processo de migração em tempo real. Conceda a esses intervalos de IP acesso ao cluster de origem. Isso permite que o servidor de migração em tempo real MongoDB se conecte aos clusters de origem.
Observação
Se a sua organização tiver requisitos de rede rigorosos e você não puder habilitar o acesso de rede exigido para servidores de migração em produção MongoDB, consulte Migrar ao vivo uma Implantação da Comunidade no Atlas.
Atlas Cluster permite o tráfego de seus servidores de aplicativos
O Atlas permite conexões com um cluster a partir de hosts adicionados à lista de acesso de IP do projeto. Adicione os endereços IP ou blocos CIDR dos hosts do aplicativo à lista de acesso de IP do projeto. Faça isso antes de iniciar o procedimento de migração.
O Atlas adiciona temporariamente os endereços IP dos servidores de migração MongoDB à lista de acesso IP do projeto. Durante o procedimento de migração, você não pode editar ou excluir esta entrada. O Atlas remove esta entrada assim que o procedimento for concluído.
Para saber como adicionar entradas à lista de acesso de IP do Atlas, consulte Configurar entradas de lista de acesso de IP.
Validação de pré-migração
Antes de iniciar o procedimento de migração live, o Atlas executa verificações de validação nos clusters de origem e destino.
O cluster de origem é um conjunto de réplicas.
Se o cluster de origem for autônoma, converta o autônomo em um conjunto de réplicas antes de usar a migração em produção do tipo pull.
O Atlas cluster de destino é um conjunto de réplicas.
Observação
Para executar o processo de migração de um conjunto de réplicas, o Atlas descobre os nomes de host do conjunto de réplicas baseado no nome de host fornecido. Se isto falhar, o Atlas migrará o conjunto de réplicas utilizando seu nome de host acessível fornecido. Para saber mais, consulte Acesso à Rede.
Segurança do cluster de origem
Vários papéis embutidos fornecem privilégios suficientes. Por exemplo:
Para agrupamentos de origem, um usuário deve ter as funções readAnyDatabase
, clusterMonitor
e backup
.
Para verificar se o usuário do banco de dados que executará o processo de migração em produção tem essas funções, execute o comando db.getUser() no banco de dados admin
.
use admin db.getUser("admin") { "_id" : "admin.admin", "user" : "admin", "db" : "admin", "roles" : [ { "role" : "backup", "db" : "admin" }, { "role" : "clusterMonitor", "db" : "admin" } { "role" : "readAnyDatabase", "db" : "admin" } ] } ...
Além disso, o usuário do banco de dados do cluster de origem deve ter a função de ler o oplog no banco de dados admin
. Para saber mais, consulte Oplog Access.
Especifique o nome de usuário e senha para Atlas quando solicitado pelo procedimento de migração ao vivo.
O Atlas só é compatível com a SCRAM para conexão com clusters de origem que impõem autenticação.
Dica
Para ocultar credenciais durante a migração, considere adicionar um usuário temporário com as permissões mínimas necessárias para migração no cluster de origem e, em seguida, excluir o usuário depois de concluir o processo de migração.
Se o cluster de origem utilizar um mecanismo de autenticação diferente para conectar, você poderá utilizar o para migrar dados do cluster de cluster de origem para o Atlas cluster de mongomirror
destino.
Como o MongoDB protege seus servidores de migração ao vivo
Em qualquer migração ao vivo do tipo pull para o Atlas, o Atlas gerencia o servidor que executa a migração ao vivo e envia dados da origem para o cluster de destino.
O MongoDB toma as seguintes medidas para proteger a integridade e confidencialidade dos seus dados em trânsito para Atlas:
O MongoDB criptografa dados em trânsito entre o servidor de migração em tempo real gerenciado pelo Atlassian e o cluster de destino. Se você precisar de criptografia para os dados em trânsito entre o cluster de origem e o servidor de migração gerenciado pelo Atlas, configure o TLS no cluster de origem.
O MongoDB protege o acesso às instâncias do servidor de migração gerenciadas pelo Atlas, pois protege o acesso a qualquer outra parte do Atlas.
Em casos raros em que a intervenção é necessária para investigar e restaurar serviços críticos, o MongoDB adere ao princípio do menor privilégio e autoriza apenas um pequeno grupo de usuários privilegiados a acessar seus clusters do Atlas por um tempo mínimo limitado necessário para reparar o problema crítico. O MongoDB requer MFA para que esses usuários efetuem login nos clusters Atlas e estabeleçam uma conexão SSH por meio do host bastion. A concessão desse tipo de acesso a usuários privilegiados requer a aprovação da gerência sênior do MongoDB. O MongoDB não permite o acesso por qualquer outro pessoal do MongoDB aos seus clusters do MongoDB Atlas.
O MongoDB permite o uso de contas de usuário privilegiadas apenas para atividades privilegiadas. Para realizar atividades não privilegiadas, os usuários privilegiados devem usar uma conta separada. As contas de usuário privilegiadas não podem usar credenciais compartilhadas. As contas de usuários privilegiados devem seguir os requisitos de senha descritos na Seção 4.3.3 do whitepaper do Atlas Security.
Você pode restringir o acesso aos seus clusters por todos os funcionários do MongoDB, incluindo usuários privilegiados, no Atlas. Se você optar por restringir esse acesso e o MongoDB determinar que o acesso é necessário para resolver um problema de suporte, o MongoDB deve primeiro solicitar sua permissão e, em seguida, decidir se deseja restaurar temporariamente o acesso de usuário privilegiado por até 24 horas. Você pode revogar a concessão de acesso temporária 24 horas a qualquer momento. Habilitar esta restrição pode resultar em um tempo maior para a resposta e resolução de problemas de suporte e, como resultado, pode afetar negativamente a disponibilidade dos seus clusters do Atlas.
O MongoDB analisa a autorização de acesso de usuário privilegiado trimestralmente. Além disso, o MongoDB revoga o acesso de um usuário privilegiado quando ele não é mais necessário, inclusive dentro de 24 horas após o usuário privilegiado mudar de função ou deixar a empresa. Também registramos qualquer acesso do pessoal do MongoDB aos seus clusters Atlas, retemos os registros de auditoria por pelo menos seis anos e incluímos um registro de data e hora, ator, ação e saída. O MongoDB usa uma combinação de análises automatizadas e manuais para analisar esses logs de auditoria.
Para saber mais sobre a segurança do Atlas, consulte o relatório técnico Atlas Security. Em particular, revise a seção "Acesso de pessoal do MongoDB aos clusters do MongoDB Atlas".
Limites da chave do índice
Se a implantação do MongoDB contiver índices com chaves que excedam o Limite de chave de índice, antes de iniciar o procedimento de migração em produção, modifique os índices para que eles não contenham chaves de tamanho grande.
Considerações
Criptografia de rede
Durante as migrações pull live, se o cluster de origem não usar a criptografia TLS para seus dados, o tráfego do cluster de origem para o Atlas não será criptografado. Determine se isso é aceitável antes de iniciar um procedimento de migração pull live.
Usuários e funções do banco de dados
O Atlas não migra nenhum dado de usuário ou papel para o cluster de destino.
Se o cluster de origem não usar autenticação, você deverá criar um usuário no Atlas porque o Atlas não oferece suporte à execução sem autenticação.
Se o cluster de origem impuser autenticação, você deverá recriar as credenciais que seus aplicativos utilizam no cluster do Atlas de destino. O Atlas utiliza SCRAM para autenticação de usuário. Para saber mais, consulte a página Configurar usuários do banco de dados.
Configuração do cluster de destino
Ao configurar o cluster de destino, considere o seguinte:
O processo de migração em tempo real transmite dados através de um servidor de migração em tempo real gerenciado pelo MongoDB. Cada servidor é executado na infraestrutura hospedada na região mais próxima ao cluster de origem. As seguintes regiões estão disponíveis:
- Europa
Frankfurt
Irlanda
London
- Americas
Leste dos EUA
Oeste dos EUA
- APAC
Mumbai
Cingapura
Sydney
Tokyo
Use a região de nuvem para o cluster de destino no Atlas que tenha a menor latência de rede em relação aos servidores das aplicações ou ao seu sistema hospedado no cluster de origem. O ideal é que os servidores da sua aplicação estejam executando na nuvem na mesma região que a região primária do Atlas cluster de destino. Para saber mais, consulte Provedores de nuvem.
O cluster de destino no Atlas deve corresponder ou exceder a implantação de origem em termos de RAM, CPU e armazenamento. Provisione um cluster de destino de tamanho adequado para que ele possa acomodar o processo de migração e a carga de trabalho esperada, ou escale o cluster de destino para um nível com mais capacidade de processamento, largura de banda ou E/S de disco.
Para maximizar o desempenho da migração, use pelo menos um cluster M40 para o cluster de destino. Ao migrar grandes conjuntos de dados, use um cluster M80 com 6000 discos IOPS ou superior.
Você também pode optar por aumentar temporariamente o tamanho do cluster do Atlas de destino durante o processo de migração.
Depois de migrar a carga de trabalho do aplicativo para um cluster no Atlas, entre em contato com o suporte para obter assistência com o ajuste de desempenho adicional e o dimensionamento do cluster de destino para minimizar os custos.
Para evitar alterações inesperadas no dimensionamento, desative o dimensionamento automático no cluster de destino. Para mais informações, consulte Gerenciar Clusters.
Para evitar o crescimento ilimitado da coleção de oplog e garantir que a janela de atraso da migração live permaneça dentro dos limites da janela de atraso de replicação do oplog, defina um tamanho de oplog para um valor fixo grande o suficiente para a duração do processo de migração live.
Para saber mais, consulte:
Dimensionamento do oplog na documentação do Cluster-to-Cluster Sync .
Se você estiver observando problemas de desempenho mesmo depois de seguir essas recomendações, entre em contato com o suporte.
O Atlas cluster de destino deve ser um conjunto de réplicas.
Não é possível selecionar um cluster de camada
M0
(Camada Gratuita) ouM2/M5
de camada compartilhada como o cluster de destino para migração ao vivo.Não altere o sinalizador
featureCompatibilityVersion
enquanto a migração em tempo real do Atlas estiver em execução.
Evite Volumes de trabalho no Cluster de Destino
Evite executar quaisquer cargas de trabalho, inclusive aquelas que possam estar sendo executadas em namespaces que não se sobreponham ao processo de migração em tempo real, no cluster de destino. Essa ação evita possíveis conflitos de bloqueio e degradação de desempenho durante o processo de migração ao vivo.
Não execute várias migrações para o mesmo cluster de destino ao mesmo tempo.
Não inicie o processo de corte de seus aplicativos para o cluster de destino enquanto o processo de migração ao vivo estiver sincronizando.
Evite backups em nuvem
O Atlas para de tirar snapshots de backup em nuvem sob demanda do cluster de destino durante a migração ao vivo. Depois que você concluir a etapa de cutover no procedimento de migração em tempo real nesta página, o Atlas retomará a captura de snapshots de backup na nuvem com base em sua política de backup.
Evitar alterações no namespace
Não faça nenhuma alteração de namespace durante o processo de migração, por exemplo, utilizar o comando renameCollection
ou executar um pipeline de agregação que inclua o estágio de agregação do $out
.
Evitar eleições
O processo de migração ao vivo faz a melhor tentativa de continuar uma migração durante interrupções temporárias de rede e eleições nos clusters de origem ou destino. No entanto, esses eventos podem causar falha no processo de migração ao vivo. Se o processo de migração em tempo real não puder ser recuperado automaticamente, reinicie-o desde o início.
Migre seu cluster
Observação
Migrações de preparação e produção
Considere executar este procedimento duas vezes. Execute uma migração parcial que pare na etapa Perform the Cutover primeiro. Isso cria um cluster de preparo atualizado apoiado pelo Atlas para testar o comportamento e o desempenho do aplicativo usando a versão mais recente do driver que oferece suporte à versão do MongoDB do cluster do Atlas.
Depois de testar sua aplicação, execute o procedimento completo de migração usando um Atlas cluster separado para criar seu ambiente de produção com suporte do Atlas.
Importante
Evite fazer alterações na configuração do cluster de origem durante a execução do processo de migração em produção, como remover membros do conjunto de réplicas ou modificar as configurações de tempo de execução mongod
, como featureCompatibilityVersion
.
Lista de verificação de pré-migração
Antes de iniciar o procedimento de migração em produção:
Se você ainda não tiver um cluster de destino, crie uma nova implantação do Atlas e configure-o conforme necessário. Para documentação completa sobre a criação de um cluster do Atlas, consulte Criar um Cluster.
Depois que o cluster do Atlas for distribuído, certifique-se de que você possa se conectar a ele a partir de todo o hardware cliente em que suas aplicações são executadas. Testar sua cadeia de conexão ajuda a garantir que seu processo de migração de dados possa ser concluído com indisponibilidade mínima.
Baixe e instale
mongosh
em uma máquina cliente representativa, se você ainda não a tiver.Conecte-se ao cluster de destino usando a cadeia de conexão da IU do Atlas. Para mais informações, consulte Conectar via
mongosh
.
Depois de verificar sua conectividade com o cluster de destino, inicie o procedimento de migração ao vivo.
Procedimento
Inicie o processo de migração.
Selecione um cluster do Atlas de destino.
Navegue até o cluster Atlas de destino e clique em. Na lista de clusters, o está abaixo do nome do cluster. Ao visualizar os detalhes do cluster, o fica à direita da tela, ao lado dos botões Connect e Configuration .
Clique em Migrate Data to this Cluster.
O Atlas exibe uma tela de apresentação com instruções sobre como proceder com a migração live. O processo sincroniza os dados do cluster de origem com o novo cluster de destino. Depois de concluir o passo a passo, você poderá apontar seu aplicativo para o novo cluster.
Colete os seguintes detalhes do cluster de origem para facilitar a migração:
O nome do host e a porta do membro primário do cluster de origem. O Atlas se conecta apenas ao membro primário do cluster de origem por padrão. Para aumentar a resiliência e facilitar o failover, se necessário, o Atlas obtém os endereços IP de outros nós do cluster de origem se esses nós tiverem registros DNS disponíveis publicamente.
O nome de usuário e a senha usados para se conectar ao cluster de origem.
Se o cluster de origem usar
TLS/SSL
e não estiver usando uma Autoridade de Certificação (CA) pública, prepare o arquivo CA do cluster de origem.
Prepare as informações conforme indicado na tela passo a passo e clique em I'm Ready To Migrate.
O Atlas exibe uma tela de passagem que coleta informações necessárias para se conectar ao cluster de origem.
O Atlas exibe o endereço IP do servidor de migração live do MongoDB responsável pela sua migração live na parte superior na tela de apresentação. Configure o firewall do cluster de origem para conceder acesso ao endereço IP exibido.
Insira o nome do host e a porta do membro primário do cluster de origem na caixa de texto fornecida. Por exemplo, insira
mongoPrimary.example.net:27017
.Se o cluster de origem impor a autenticação, insira um nome de usuário e senha nas caixas de texto fornecidas.
Consulte Segurança de Cluster de Origem para obter orientação sobre as permissões de usuário exigidas pela migração em produção do Atlas.
Se o conjunto de réplicas de origem usar
TLS/SSL
e não estiver usando uma Autoridade de Certificação (CA) pública, alterne a opção Is encryption in transit enabled? e copie o conteúdo do arquivo CA do cluster de origem para a caixa de texto fornecida.Se desejar descartar todas as collections no conjunto de réplicas de destino antes de iniciar o processo de migração, alterne o switch marcado como Clear any existing data on your destination cluster? para Yes.
Clique em Validate para confirmar que o Atlas pode se conectar ao conjunto de réplica de origem.
Se a validação falhar, verifique se:
Você adicionou o Atlas à lista de acesso IP em seu conjunto de réplicas de origem.
As credenciais de usuário fornecidas, se houver, existem no cluster de origem e têm as permissões necessárias.
A alternância Is encryption in transit enabled? é ativada somente se o cluster de origem exigir isso.
O arquivo CA fornecido, se houver, é válido e correto.
Clique em Start Migration para iniciar o processo de migração.
Depois que o processo de migração começa, a UI do Atlas exibe a Migrating Data tela passo a passo para o Atlas cluster de destino.
A tela de apresentação é atualizada à medida que o cluster de destino prossegue com o processo de migração. O processo de migração inclui:
Copiar collections do cluster de origem para o cluster de destino.
Criar índices no cluster de destino.
Seguimento de entradas de oplog do cluster de origem.
Um valor de tempo de atraso é exibido durante a fase final de rejeitos do oplog, que representa o atraso atual entre os clusters de origem e de destino. Esse tempo de atraso pode flutuar dependendo da taxa de geração de oplog no cluster de origem, mas deve diminuir com o tempo à medida que o processo de migração live copia as entradas de oplog para o cluster de destino.
Quando o temporizador de atraso e o botão Prepare to Cutover se tornarem verdes, siga para a próxima etapa.
Execute a transição.
When Atlas detects that the source and destination clusters are nearly in sync, it starts an extendable 120 hour (5 day) timer to begin the cutover stage of the live migration procedure. If the 120 hour period passes, Atlas stops synchronizing with the source cluster. You can extend the time remaining by 24 hours by clicking Extend time below the <time> left to cut over timer.
Se a migração estiver para expirar, o Atlas enviará um e-mail semelhante ao exemplo a seguir:
A migration to your Atlas cluster will expire in <number> hours! Navigate to your destination cluster to start the cutover process. If you don't take any action within <number> hours, the migration will be cancelled and you will need to start again. You can also extend the migration process if you need more time.
Após você estar preparado para cortar seus aplicativos no agrupamento do Atlas de destino, clique em Prepare to Cutover.
O Atlas exibe uma série de páginas, orientando você em cada estágio do processo de transição. Alguns dos itens na lista a seguir descrevem as ações que você deve realizar, outros itens descrevem as mensagens informativas que o Atlas exibe.
Pare seu aplicativo. Isso garante que não ocorra mais nenhuma gravação no cluster de origem.
O Atlas exibe uma tela com a seguinte mensagem: Almost done! Waiting for Atlas to clean up .... O Atlas finaliza a migração. Isso pode levar algumas horas. Ao finalizar a migração, o Atlas conclui as alterações de metadados, remove as sub-redes do MongoDB Application Server da lista de acesso IP do cluster de destino e remove o usuário do banco de dados que a migração ativa usou para importar dados para o cluster de destino.
Se o processo de transferência estiver em andamento há pelo menos 12 horas, a Atlas envia um e-mail sugerindo que você verifique o processo de migração ou entre em contato com o suporte.
O Atlas ainda está finalizando a migração, mas o cluster de destino está pronto para aceitar gravações. Você pode reiniciar seu aplicativo e conectar-se ao seu novo cluster de destino do Atlas agora se quiser minimizar o tempo de inatividade. Não exclua seu cluster de origem até que a migração esteja totalmente completa.
Clique Connect to your new cluster. O Atlas redirecionará você para a página Connect to Atlas , onde você pode escolher um método de conexão.
Retome as gravações no cluster de destino.
Confirme se seu aplicativo está funcionando com o cluster de destino do Atlas e verifique seus dados no cluster de destino.
Se a migração for bem-sucedida, a página You have successfully migrated to Atlas será exibida.
Suporte à migração
Se a sua migração falhar em qualquer estágio do processo de migração em tempo real, o Atlas o notificará por e-mail com um link para explorar os resultados da migração.
Se você tiver alguma dúvida sobre o suporte à migração além do que é abordado nesta documentação, ou se encontrar um erro durante a migração, solicite suporte por meio da interface do usuário do Atlas.
Como arquivar um ticket de suporte:
No Atlas, acesse a página Project Support.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.
Ao lado do menu Projects, expanda o menu Options e clique em Project Support.
A página Suporte ao Projeto é exibida.
Solicite suporte.
Clique em Request Support.
Para Issue Category, selecione
Help with live migration
.Para Priority, selecione a prioridade apropriada. Para perguntas, selecione
Medium Priority
. Se houve uma falha na migração, selecioneHigh Priority
.Para Request Summary, inclua
Live Migration
no seu resumo.Para More details, inclua quaisquer outros detalhes relevantes à sua pergunta ou erro de migração.
Clique no botão Request Support para enviar o formulário.