Migrar para o Amazon DocumentDB - Amazon DocumentDB

Migrar para o Amazon DocumentDB

O Amazon DocumentDB (compatível com MongoDB) é um serviço de banco de dados totalmente gerenciado compatível com o API do MongoDB. É possível migrar dados do bancos de dados do MongoDB para o Amazon DocumentDB em execução on-premises ou no Amazon Elastic Compute Cloud (Amazon EC2) usando o processo detalhado nesta seção.

Ferramentas de migração

Para migrar para o Amazon DocumentDB, as duas principais ferramentas que a maioria dos clientes usa são o AWS Database Migration Service (AWS DMS) e utilitários de linha de comando, como mongodump e mongorestore. Como prática recomendada, e para qualquer uma dessas opções, recomendamos que você primeiro crie índices no Amazon DocumentDB antes de iniciar a migração, pois ela pode reduzir o tempo geral e aumentar a velocidade da migração. Para fazer isso, é possível usar a Ferramenta de índice do Amazon DocumentDB.

AWS Database Migration Service

AWS Database Migration Service (AWS DMS) é um serviço em nuvem que facilita a migração de bancos de dados relacionais e não relacionais para o Amazon DocumentDB. É possível usar o AWS DMS para migrar seus dados para o Amazon DocumentDB dos bancos de dados hospedados on-premises ou no EC2. Com o AWS DMS, é possível executar migrações avulsas ou replicar as alterações em andamento para manter as origens e os destinos em sincronia.

Para obter mais informações sobre como usar o AWS DMS para migrar para o Amazon DocumentDB, consulte:

Utilitários de linha de comando

Os utilitários comuns para migrar dados para o Amazon DocumentDB e vice-versa incluem mongodump, mongorestore, mongoexport e mongoimport. Normalmente, mongodump e mongorestore são os utilitários mais eficientes pois despejam e restauram dados de seus bancos de dados em formato binário. Esta é geralmente a melhor opção e produz um tamanho de dados menor em comparação com as exportações lógicas. O mongoexport e o mongoimport são úteis se você deseja exportar e importar dados em um formato lógico, como JSON ou CSV, pois os dados são legíveis por humanos, mas geralmente é mais lento do que o mongodump/mongorestore e produz um tamanho de dados maior.

A seção Abordagens de migração abaixo discutirá quando é melhor usar o AWS DMS e os utilitários de linha de comando com base em seu caso de uso e requisitos.

Descoberta

Para cada uma das implantações do MongoDB, você deve identificar e registrar dois conjuntos de dados: Detalhes da arquitetura e Características operacionais. Essas informações ajudarão você a escolher a abordagem de migração apropriada e o dimensionamento do cluster.

Detalhes de arquitetura
  • Nome

    Escolha um nome exclusivo para rastrear essa implantação.

     

  • Version (Versão)

    Registre a versão do MongoDB que a implantação está executando. Para encontrar a versão, conecte-se a um membro do conjunto de réplicas com o shell do Mongo e execute a operação db.version().

     

  • Tipo

    Registre se a implantação é uma instância do Mongo independente, um conjunto de réplicas ou um cluster estilhaçado.

     

  • Membros

    Registre os nomes de host, endereços e portas de cada cluster, conjunto de réplicas ou membro independente.

     

    Para uma implantação em cluster, é possível encontrar membros do estilhaço conectando-se a um host do Mongo com o shell do Mongo e executando a operação sh.status().

     

    Para um conjunto de réplicas, é possível obter os membros conectando-se a um membro do conjunto de réplicas com o shell do Mongo e executando a operação rs.status().

     

  • Tamanhos do Oplog

    Para conjuntos de réplicas ou clusters estilhaçados, registre o tamanho do oplog para cada membro do conjunto de réplicas. Para encontrar o tamanho do oplog de um membro, conecte-se ao membro do conjunto de réplicas com o shell do Mongo e execute a operação ps.printReplicationInfo().

     

  • Prioridades do membro do conjunto de réplicas

    Para conjuntos de réplicas ou clusters estilhaçados, registre a prioridade de cada membro do conjunto de réplicas. Para encontrar as prioridades do membro do conjunto de réplicas, conecte-se a um membro do conjunto de réplicas com o shell do Mongo e execute a operação rs.conf(). A prioridade é mostrada como o valor da chave priority.

     

  • Uso do TLS/SSL

    Registre se o Transport Layer Security (TLS)/Secure Sockets Layer (SSL) é usado em cada nó para criptografia em trânsito.

Características operacionais
  • Estatísticas de banco de dados

    Para cada coleção, registre as seguintes informações:

    • Nome

    • Tamanho dos dados

    • Contagem de coleções

     

    Para encontrar as estatísticas de banco de dados, conecte-se ao seu banco de dados com o shell do Mongo e execute o comando db.runCommand({dbstats: 1}).

     

  • Estatísticas de coleção

    Para cada coleção, registre as seguintes informações:

    • Namespace

    • Tamanho dos dados

    • Contagem de índices

    • Se a coleção for limitada

     

  • Estatísticas de índice

    Para cada coleção, registre as seguintes informações de índice:

    • Namespace

    • ID

    • Tamanho

    • Chaves

    • TTL

    • Sparse

    • Contexto

     

    Para encontrar as informações de índice, conecte-se ao seu banco de dados com o shell do Mongo e execute o comando db.collection.getIndexes().

     

  • Opcounters

    Essas informações ajudam a entender os padrões de workload atuais do MongoDB (de leitura intensa, de gravação intensa ou balanceada). Também fornece orientações sobre a seleção de instância inicial do Amazon DocumentDB.

     

    Veja a seguir as principais informações para coletar ao longo do período de monitoramento (em contas/s):

    • Consultas

    • Inserções

    • Atualizações

    • Exclui

     

    É possível obter essas informações criando um gráfico do resultado do comando db.serverStatus() ao longo do tempo. Você também pode usar a ferramenta mongostat para obter valores instantâneos para essas estatísticas. No entanto, com essa opção, você corre o risco de planejar a migração em períodos de utilização diferentes da sua carga de pico.

     

  • Estatísticas de rede

    Essas informações ajudam a entender os padrões de workload atuais do MongoDB (de leitura intensa, de gravação intensa ou balanceada). Também fornece orientações sobre a seleção de instância inicial do Amazon DocumentDB.

     

    Veja a seguir as principais informações para coletar ao longo do período de monitoramento (em contas/s):

    • Conexões

    • Entrada de bytes na rede

    • Saída de bytes da rede

     

    É possível obter essas informações criando um gráfico do resultado do comando db.serverStatus() ao longo do tempo. Você também pode usar a ferramenta mongostat para obter valores instantâneos para essas estatísticas. No entanto, com essa opção, você corre o risco de planejar a migração em períodos de utilização diferentes da sua carga de pico.

Planejamento: requisitos de cluster do Amazon DocumentDB

A migração bem-sucedida requer que você considere cuidadosamente a configuração do cluster do Amazon DocumentDB e como os aplicativos acessarão seu cluster. Considere cada uma das seguintes dimensões ao determinar os requisitos de seu cluster:

  • Disponibilidade

    O Amazon DocumentDB fornece alta disponibilidade por meio da implantação de instâncias de réplica, que podem ser promovidas a uma instância principal em um processo conhecido como failover. Ao implantar instâncias de réplica em zonas de disponibilidade diferentes, é possível alcançar níveis mais altos de disponibilidade.

     

    A tabela a seguir fornece diretrizes para configurações de implantação do Amazon DocumentDB para atender às metas de disponibilidade específicas.

     

    Meta de disponibilidade Total de instâncias Réplicas Zonas de disponibilidade
    99% 1 0 1
    99,9% 2 1 2
    99,99% 3 2 3

     

    A confiabilidade geral do sistema deve considerar todos os componentes, não apenas o banco de dados. Para obter as melhores práticas e recomendações para atender às necessidades de confiabilidade geral do sistema, consulte o Whitepaper Pilar de confiabilidade bem-arquitetada AWS.

     

  • Desempenho

    As instâncias do Amazon DocumentDB permitem que você leia e grave no volume de armazenamento do seu cluster. As instâncias do cluster são fornecidas em vários tipos, com quantidades diversificadas de memória e vCPU, que afetam o desempenho de leitura e gravação do cluster. Usando as informações coletadas na fase de descoberta, escolha um tipo de instância que possa oferecer suporte a seus requisitos de desempenho de workload. Para obter uma lista dos tipos de instâncias compatíveis, consulte Gerenciar classes de instância.

     

    Ao escolher um tipo de instância para seu cluster do Amazon DocumentDB, considere os seguintes aspectos dos requisitos de desempenho de sua workload:

    • vCPUs— As arquiteturas que exigem contagens de conexão mais altas podem se beneficiar de instâncias com mais vCPUs.

       

    • Memória—Quando possível, manter seu conjunto de dados de trabalho na memória proporciona desempenho máximo. Uma diretriz inicial é reservar um terço da memória da instância para o mecanismo do Amazon DocumentDB, deixando dois terços para seu conjunto de dados de trabalho.

       

    • Conexões— A contagem mínima de conexão ideais é oito conexões por vCPU de instância do Amazon DocumentDB. Embora o limite de conexões de instância do Amazon DocumentDB seja muito maior, os benefícios de desempenho de conexões adicionais diminuem acima de oito conexões por vCPU.

       

    • Rede—As workloads com um grande número de clientes ou conexões devem considerar o desempenho de rede agregado necessário para dados inseridos e recuperados. As operações em massa podem fazer uso mais eficiente de recursos de rede.

       

    • Desempenho de inserções—As inserções de documento únicas são a forma mais lenta de inserir dados no Amazon DocumentDB. As operações de inserção em massa podem ser muito mais rápidas do que as inserções únicas.

       

    • Desempenho de leitura—As leituras da memória de trabalho são sempre mais rápidas do que as leituras retornadas do volume de armazenamento. Portanto, otimizar o tamanho da memória de instância para reter seu conjunto de trabalho na memória é ideal.

       

    Além de atender a leituras da sua instância principal, os clusters do Amazon DocumentDB são automaticamente configurados como conjuntos de réplicas. Depois, é possível rotear consultas somente leitura para réplicas de leitura, definindo a preferência de leitura em seu driver do MongoDB. É possível dimensionar o tráfego de leitura adicionando réplicas, reduzindo o carregamento global na instância principal.

     

    É possível implantar réplicas do Amazon DocumentDB de diferentes tipos de instância no mesmo cluster. Um caso de uso de exemplo pode ser reunir uma réplica com um tipo de instância maior para atender ao tráfego temporário de analytics. Se você implantar um conjunto misto de tipos de instância, certifique-se de configurar a prioridade de failover para cada instância. Isso ajuda a garantir que um evento de failover sempre promova uma réplica de dimensão suficiente para lidar com a carga de gravação.

     

  • Recuperação

    O Amazon DocumentDB faz backup de forma contínua de seus dados durante a gravação. Ele fornece recursos de recuperação para um ponto no tempo (PITR) em um período configurável de 135 dias, conhecido como período de retenção de backup. O período de retenção de backup padrão é de 1 dia. O Amazon DocumentDB também cria automaticamente snapshots diários de seu volume de armazenamento, que também ficam retidos pelo período de retenção de backup configurado.

     

    Se você deseja reter snapshots além do período de retenção de backup, também pode iniciar snapshots manuais a qualquer momento usando o AWS Management Console e a AWS Command Line Interface (AWS CLI). Para obter mais informações, consulte Backup e restauração no Amazon DocumentDB.

     

    Considere o seguinte ao planejar a migração:

    • Escolha um período de retenção de backup de 1 a 35 dias que atenda ao seu objetivo de ponto de recuperação (RPO).

    • Decida se você precisa de snapshots manuais e, se esse for o caso, em qual intervalo.

Abordagens de migração

Há três principais abordagens de migração de dados para o Amazon DocumentDB.

nota

Embora você possa criar índices a qualquer momento no Amazon DocumentDB, em geral, é mais rápido criar seus índices antes de importar grandes conjuntos de dados. Como prática recomendada, e para cada uma das abordagens abaixo, recomendamos que você crie seus índices no Amazon DocumentDB antes de executar a migração. Para fazer isso, é possível usar a Ferramenta de índice do Amazon DocumentDB.

Off-line

A abordagem offline usa o mongodump e as ferramentas da mongorestore para migrar os dados da implantação do MongoDB de origem para o cluster do Amazon DocumentDB. O método offline é a abordagem de migração mais simples, mas ele também gera mais tempo de inatividade para o seu cluster.

O processo básico para a migração offline é o seguinte:

  1. Desativar gravações para a origem do MongoDB.

  2. Descartar índices e dados de coleta da implantação do MongoDB de origem.

  3. Se você estiver migrando para um cluster elástico, crie suas coleções fragmentadas usando o sh.shardCollection() comando. Se você estiver migrando para um cluster baseado em instância, vá para a próxima etapa.

  4. Restaure os índices no cluster do Amazon DocumentDB.

  5. Restaurar dados de coleta ao cluster do Amazon DocumentDB.

  6. Alterar o endpoint do aplicativo para gravar o cluster do Amazon DocumentDB.

Diagrama: Abordagem offline para migrar para o Amazon DocumentDB

Online

A abordagem online usa o AWS Database Migration Service (AWS DMS). Ela executa uma carga total de dados da implantação do MongoDB de origem no cluster do Amazon DocumentDB. Em seguida, ela muda para o modo de captura de dados de alteração (CDC) a fim de replicar as alterações. A abordagem online minimiza o tempo de inatividade de seu cluster, mas é o mais lento dos três métodos.

O processo básico para a migração online é o seguinte:

  1. Seu aplicativo usa o banco de dados de origem normalmente.

  2. Se você estiver migrando para um cluster elástico, crie suas coleções fragmentadas usando o sh.shardCollection() comando. Se você estiver migrando para um cluster baseado em instância, vá para a próxima etapa.

  3. Pré-crie índices no cluster Amazon DocumentDB.

  4. Criar uma tarefa do AWS DMS para executar uma carga total e, em seguida, habilitar a CDC da implantação do MongoDB de origem para o cluster do Amazon DocumentDB.

  5. Após a tarefa do AWS DMS ter concluído o carregamento completo e replicar as alterações para o Amazon DocumentDB, mude o endpoint do aplicativo para o cluster do Amazon DocumentDB.

Diagrama: Abordagem on-line para migrar para o Amazon DocumentDB

Para obter mais informações sobre como usar o AWS DMS para migrar, consulte Usar o Amazon DocumentDB como destino para o AWS Database Migration Service e o Tutorial relacionado no AWS Database Migration ServiceGuia do Usuário.

Híbrida

A abordagem híbrida usa o mongodump e as ferramentas da mongorestore para migrar os dados da implantação do MongoDB de origem para o cluster do Amazon DocumentDB. Depois, ele usa o AWS DMS no modo CDC para replicar alterações. A abordagem híbrida equilibra a velocidade e o tempo de inatividade da migração, mas é a mais complexa das três abordagens.

O processo básico para a migração híbrida é o seguinte:

  1. Seu aplicativo usa a implantação do MongoDB de origem normalmente.

  2. Descartar índices e dados de coleta da implantação do MongoDB de origem.

  3. Restaure os índices no cluster do Amazon DocumentDB.

  4. Se você estiver migrando para um cluster elástico, crie suas coleções fragmentadas usando o sh.shardCollection() comando. Se você estiver migrando para um cluster baseado em instância, vá para a próxima etapa.

  5. Restaurar dados de coleta ao cluster do Amazon DocumentDB.

  6. Criar uma tarefa do AWS DMS para habilitar a CDC da implantação do MongoDB de origem para o cluster do Amazon DocumentDB.

  7. Se a tarefa do AWS DMS é replicar as alterações em uma janela aceitável, altere o endpoint do aplicativo para gravar no cluster do Amazon DocumentDB.

Diagrama: Abordagem híbrida para migrar para o Amazon DocumentDB
Importante

Atualmente, uma tarefa do AWS DMS pode migrar apenas um único banco de dados. Se a origem do MongoDB tiver um grande número de bancos de dados, poderá ser necessário automatizar a criação de tarefas de migração ou usar o método offline.

Independentemente da abordagem de migração escolhida, é mais eficiente pré-criar índices no cluster do Amazon DocumentDB antes de migrar seus dados. Isso ocorre porque os índices do Amazon DocumentDB são dados inseridos em paralelo, mas a criação de um índice em dados existentes é uma operação de um único thread.

Como o AWS DMS não migra índices (somente os dados), não há nenhuma etapa extra necessária para evitar a criação de índices pela segunda vez.

Origens de migração

Se a origem do MongoDB for um processo independente do mongo e quiser usar as abordagens de migração online ou híbrida, primeiro converta seu mongo independente em um conjunto de réplicas para que o oplog seja criado para ser usado como origem do CDC.

Se você estiver migrando a partir de um conjunto de réplicas do MongoDB ou um cluster estilhaçado, considere criar um secundário encadeado ou oculto para cada conjunto de réplicas ou estilhaço para ser usado como origem de migração. A execução de dumps de dados pode fazer com que os dados do conjunto de trabalho fiquem sem memória e afetar o desempenho em instâncias de produção. É possível reduzir esse risco efetuando a migração de um nó que não sirva dados de produção.

Versões de origem de migração

Se a versão do seu banco de dados de origem do MongoDB for diferente da versão de compatibilidade do seu cluster de destino do Amazon DocumentDB, pode ser necessário realizar outras etapas de preparação para garantir uma migração bem-sucedida. Os dois requisitos mais comuns encontrados são a necessidade de atualizar a instalação de origem do MongoDB em uma versão com suporte para migração do MongoDB (versão 3.0 ou superior) e atualizar seus drivers do aplicativo para oferecer suporte à versão de destino do Amazon DocumentDB.

Se a sua migração tiver um desses requisitos, inclua essas etapas em seu plano de migração para atualizar e testar todas as alterações do driver.

Conectividade de migração

É possível migrar para o Amazon DocumentDB a partir de uma implantação de origem do MongoDB em execução no seu data center ou de uma implantação do MongoDB em execução em uma instância do Amazon EC2. A migração do MongoDB em execução no EC2 é simples e requer apenas que você configure corretamente seus grupos de segurança e sub-redes.

Diagrama: Migração para o Amazon DocumentDB a partir de uma fonte do Amazon EC2

A migração de um banco de dados on-premises requer conectividade entre a implantação do MongoDB e sua nuvem privada virtual (VPC). É possível fazer isso por meio de uma conexão de rede privada virtual (VPN) ou usando o serviço AWS Direct Connect. Embora você possa migrar pela Internet para sua VPC, esse método de conexão é o menos desejável do ponto de vista da segurança.

O diagrama a seguir ilustra uma migração para o Amazon DocumentDB a partir de uma origem on-premises por meio de uma conexão VPN.

Diagrama: Migração para o Amazon DocumentDB a partir de uma origem on-premises (VPN)

O seguinte representa uma migração para o Amazon DocumentDB a partir de uma origem on-premises usando o AWS Direct Connect.

Diagrama: Migração para o Amazon DocumentDB a partir de uma origem on-premises (AWS Direct Connect)

As abordagens de migração online e híbrida exigem o uso de uma instância do AWS DMS, que deve ser executada no Amazon EC2 em uma Amazon VPC. Todas as abordagens exigem que um servidor de migração execute mongodump e mongorestore. Em geral, é mais fácil executar o servidor de migração em uma instância do Amazon EC2 em VPC onde o cluster do Amazon DocumentDB é iniciado, pois simplifica muito a conectividade com o seu cluster do Amazon DocumentDB.

Testar

Veja a seguir os objetivos de testes de pré-migração:

  • Verifique se a abordagem escolhida atinge o resultado de migração desejado.

  • Verifique se o tipo de instância e as opções de preferência de leitura atendem aos seus requisitos de desempenho do aplicativo.

  • Verifique o comportamento de seu aplicativo durante o failover.

Considerações sobre os testes do plano de migração

Considere o seguinte ao testar seu plano de migração do Amazon DocumentDB.

Restaurar índices

Por padrão, mongorestore cria índices para coleções despejadas, mas as cria depois que os dados são restaurados. Em geral, é mais rápido criar índices no Amazon DocumentDB antes que os dados sejam restaurados para o cluster. Isso ocorre porque as operações de indexação são paralelizadas durante o carregamento de dados.

Se você optar por criar previamente seus índices, ignore a etapa de criação de índices ao restaurar dados com mongorestore fornecendo a opção -–noIndexRestore.

Despejar dados

A ferramenta mongodump é o método preferencial do despejo de dados da sua implantação de origem do MongoDB. Dependendo dos recursos disponíveis na instância de migração, é possível acelerar o mongodump aumentando o número de conexões paralelas despejadas do padrão 4 usando a opção –-numParallelCollections.

Restaurar dados

A ferramenta mongorestore é o método preferencial para restaurar dados despejados para sua instância do Amazon DocumentDB. É possível melhorar o desempenho da restauração aumentando o número de operadores para cada coleção durante a restauração com a opção -–numInsertionWorkersPerCollection. Um operador por vCPU na instância principal do cluster do Amazon DocumentDB é um bom ponto de partida.

O Amazon DocumentDB não oferece suporte à opção mongorestore da ferramenta --oplogReplay.

Por padrão, o mongorestore ignora erros de inserção e continua o processo de restauração. Isso poderá ocorrer se você estiver restaurando dados sem suporte em sua instância do Amazon DocumentDB. Por exemplo, poderá acontecer se você tiver um documento que contenha chaves ou valores com strings nulas. Se você preferir que a operação mongorestore falhe inteiramente se qualquer erro de restauração for encontrado, use a opção --stopOnError.

Dimensionar o Oplog

O registro de operações do MongoDB (oplog) é uma coleção limitada que contém todas as modificações de dados para seu banco de dados. É possível visualizar o tamanho do oplog e o intervalo de tempo que ele contém ao executar a operação db.printReplicationInfo() em um conjunto de réplicas ou membro do estilhaço.

Se você estiver usando as abordagens híbrida ou online, certifique-se de que o oplog em cada conjunto de réplicas ou estilhaço seja grande o suficiente para conter todas as alterações feitas durante toda a duração do processo de migração de dados (seja por mongodump ou uma carga completa de tarefas do AWS DMS), além de um buffer razoável. Para obter mais informações, consulte Verificar o tamanho do oplog na documentação do MongoDB. Determine o tamanho mínimo necessário do oplog registrando o tempo utilizado pelo primeiro teste do processo mongodump ou mongorestore ou pela tarefa de carga completa do AWS DMS.

Configuração de AWS Database Migration Service

O Guia do Usuário de AWS Database Migration Service abrange os componentes e as etapas necessárias para migrar seus dados de origem do MongoDB para o seu cluster do Amazon DocumentDB. Veja a seguir o processo básico para usar o AWS DMS para executar uma migração online ou híbrida:

Para executar uma migração usando o AWS DMS
  1. Crie um endpoint de origem do MongoDB. Para obter mais informações, consulte Uso do MongoDB como uma origem para o AWS DMS.

  2. Criar um endpoint de destino do Amazon DocumentDB. Para obter mais informações, consulte Como trabalhar com endpoints do AWS DMS.

    Se você estiver configurando seu endpoint de destino como um cluster elástico, observe que seu certificado SSL existente do Amazon DocumentDB não funcionará com clusters elásticos e você precisará anexar um novo certificado SSL ao seu endpoint usando as seguintes etapas:

    a. Visite https://www.amazontrust.com/repository/SFSRootCAG2.pem e salve o conteúdo como um arquivo “SFSRootCAG2.pem”. Esse é o arquivo de certificado que você precisará importar nas etapas subsequentes.

    b. Ao criar o endpoint de cluster elástico, em Configuração do endpoint, escolha Adicionar novo certificado CA.

    • Para Identificador de certificado, insira SFSRootCAG2.pem.

    • Para Importar arquivo de certificado, escolha Escolher arquivo e navegue até o arquivo SFSRootCAG2.pem que você baixou anteriormente. Selecione e abra o arquivo. Escolha Importar certificado e escolha SFSRootCAG2.pem na lista suspensa Escolher um certificado.

  3. Crie pelo menos uma instância de replicação do AWS DMS. Para obter mais informações, consulte Como trabalhar com uma instância de replicação do AWS DMS.

  4. Crie pelo menos uma tarefa de replicação do AWS DMS. Para obter mais informações, consulte Como trabalhar com tarefas do AWS DMS.

    Para uma migração online, a tarefa de migração usa o tipo de migração Migrate existing data and replicate ongoing changes (Migrar dados existentes e replicar as alterações em andamento).

    Para uma migração híbrida, a tarefa de migração usa o tipo de migração Replicate data changes only (Replicar apenas as alterações de dados). É possível escolher o horário de início do CDC para se alinhar com o tempo de despejo da sua operação mongodump. O oplog do MongoDB é idempotente. Para evitar a perda de alterações, é recomendável deixar alguns minutos de sobreposição entre a hora de término mongodump e a hora de início do CDC.

Migrar um cluster fragmentado

O processo para migrar dados de um cluster estilhaçado do MongoDB para sua instância do Amazon DocumentDB é essencialmente o de várias migrações de conjunto de réplicas em paralelo. Uma consideração importante ao testar uma migração de cluster estilhaçado é que alguns estilhaços podem ser usados mais amplamente do que outros. Essa situação leva a diferentes intervalos de tempo decorridos para migração de dados. Certifique-se de que você avalie os requisitos de oplog de cada fragmento no planejamento e no teste.

Veja a seguir alguns problemas de configuração a serem considerados ao migrar um cluster estilhaçado:

  • Antes de executar mongodump ou iniciar uma tarefa de migração do AWS DMS, desativa o balanceador de cluster estilhaçado e aguarde até que todas as migrações em andamento sejam concluídas. Para obter mais informações, consulte Desativar o balanceador na documentação do MongoDB.

  • Se você estiver usando o AWS DMS para replicar dados, execute o comando cleanupOrphaned em cada estilhaço antes de executar as tarefas de migração. Se você não executar esse comando, poderá ocorrer uma falha nas tarefas devido à duplicação de IDs de documento. Observe que esse comando pode afetar o desempenho. Para obter mais informações, consulte cleanupOrphaned na documentação do MongoDB.

  • Se você estiver usando a ferramenta mongodump para despejar dados, execute um processo mongodump por estilhaço. A abordagem mais rápida pode exigir vários servidores de migração para maximizar o desempenho do despejo.

  • Se você estiver usando o AWS Database Migration Service para replicar dados, crie um endpoint de origem para cada estilhaço. Além disso, execute pelo menos uma tarefa de migração para cada estilhaço que você estiver migrando. A abordagem mais rápida pode exigir várias instâncias de replicação para maximizar o desempenho da migração.

Testes de desempenho

Assim que conseguir migrar seus dados para o cluster de teste do Amazon DocumentDB, execute sua workload de teste no cluster. Verifique por meio das métricas do Amazon CloudWatch se seu desempenho atende ou excede o throughput atual da implantação de origem do MongoDB.

Verifique as seguintes métricas principais do Amazon DocumentDB:

  • Throughput na rede

  • Throughput de gravação

  • Throughput de leitura

  • Atraso da réplica

Para obter mais informações, consulte Monitoramento do Amazon DocumentDB.

Testes de failover

Verifique se o comportamento do aplicativo durante um evento de failover do Amazon DocumentDB atende aos seus requisitos de disponibilidade. Para iniciar um failover manual de um cluster do Amazon DocumentDB no console, na página Clusters, escolha a ação Failover no menu Ações.

Você também pode iniciar um failover executando a operação failover-db-cluster a partir da AWS CLI. Para obter mais informações, consulte failover-db-cluster na seção Amazon DocumentDB da referência AWS CLI.

Recursos adicionais