Atualizando seu cluster Amazon DocumentDB usando AWS Database Migration Service - Amazon DocumentDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Atualizando seu cluster Amazon DocumentDB usando AWS Database Migration Service

Importante

O Amazon DocumentDB não segue os mesmos ciclos de vida de suporte do MongoDB e a programação do MongoDB não se aplica ao Amazon DocumentDB. end-of-life Não há planos atuais end-of-life para o Amazon DocumentDB 3.6, e seus drivers, aplicativos e ferramentas atuais do MongoDB 3.6 continuarão funcionando com o Amazon DocumentDB.

Você pode atualizar seu cluster Amazon DocumentDB para uma versão superior com o mínimo de tempo de inatividade usando. AWS DMS AWS DMS é um serviço totalmente gerenciado que facilita a migração de versões mais antigas do Amazon DocumentDB, bancos de dados relacionais e bancos de dados não relacionais para seu cluster de destino do Amazon DocumentDB.

Etapa 1: Habilitar fluxos de alteração

Para realizar uma migração com o mínimo de tempo de inatividade, é AWS DMS necessário acesso aos fluxos de alteração do cluster. Os fluxos de alterações do Amazon DocumentDB fornecem uma sequência ordenada pelo tempo dos eventos atualizados que ocorrem dentro das coleções e bancos de dados do seu cluster. A leitura do stream de alterações permite realizar AWS DMS a captura de dados de alteração (CDC) e aplicar atualizações incrementais ao cluster Amazon DocumentDB de destino.

Para habilitar fluxos de alteração para todas as coleções em um banco de dados específico, autentique-se em seu cluster Amazon DocumentDB usando o shell mongo e execute os seguintes comandos:

db.adminCommand({modifyChangeStreams: 1, database: "db_name", collection: "", enable: true});

Etapa 2: Modificação da duração da retenção do fluxo de alterações

Em seguida, modifique o período de retenção do fluxo de alterações com base em quanto tempo você gostaria de manter os eventos de alteração no fluxo de alterações. Por exemplo, se você espera que a migração do cluster do Amazon DocumentDB leve 12 horas, você deve definir a retenção do fluxo de alterações para um valor maior que 12 horas. AWS DMS O período de retenção padrão para o cluster do Amazon DocumentDB é de três horas. Você pode modificar a duração da retenção do log do stream de alterações do seu cluster Amazon DocumentDB para que fique entre uma hora e sete dias usando o AWS Management Console ou o. AWS CLI Para obter mais detalhes, consulte Modificar a duração da retenção do log do fluxo de alterações.

Etapa 3: Migrar seus índices

Crie os mesmos índices em seu cluster Amazon DocumentDB de destino que você tem em seu cluster Amazon DocumentDB de origem. Embora AWS DMS gerencie a migração de dados, ele não migra índices. Para migrar os índices, use a ferramenta de índice do Amazon DocumentDB para exportar índices do cluster de origem do Amazon DocumentDB. Você pode obter a ferramenta criando um clone do repositório de GitHub ferramentas do Amazon DocumentDB e seguindo as instruções em. README.md Você pode executar a ferramenta em uma instância do Amazon EC2 ou em um AWS Cloud9 ambiente executado na mesma Amazon VPC do seu cluster Amazon DocumentDB.

No exemplo a seguir, substitua cada espaço reservado para entrada do usuário por suas próprias informações.

O código a seguir despeja índices do seu cluster Amazon DocumentDB de origem:

python migrationtools/documentdb_index_tool.py --dump-indexes --uri mongodb://sample-user:user-password@sample-source-cluster.node.us-east 1.docdb.amazonaws.com:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false' --dir ~/index.js/ 2020-02-11 21:51:23,245: Successfully authenticated to database: admin2020-02-11 21:46:50,432: Successfully connected to instance docdb-40-xx.cluster-xxxxxxxx.us-east-1.docdb.amazonaws.com:27017 2020-02-11 21:46:50,432: Retrieving indexes from server...2020-02-11 21:46:50,440: Completed writing index metadata to local folder: /home/ec2-user/index.js/

Depois que seus índices forem exportados com sucesso, restaure esses índices em seu cluster Amazon DocumentDB de destino. Para restaurar os índices que você exportou na etapa anterior, use a ferramenta de índice Amazon DocumentDB. O comando a seguir restaura os índices em seu cluster Amazon DocumentDB de destino a partir do diretório especificado.

python migrationtools/documentdb_index_tool.py --restore-indexes --uri mongodb://sample-user:user-password@sample-destination-cluster.node.us-east 1.docdb.amazonaws.com:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false' --dir ~/index.js/ 2020-02-11 21:51:23,245: Successfully authenticated to database: admin2020-02-11 21:51:23,245: Successfully connected to instance docdb-50-xx.cluster-xxxxxxxx.us-east-1.docdb.amazonaws.com:27017 2020-02-11 21:51:23,264: testdb.coll: added index: _id

Para confirmar que você restaurou os índices corretamente, conecte-se ao seu cluster Amazon DocumentDB de destino com o shell mongo e liste os índices de uma determinada coleção. Use o seguinte código:

mongo --ssl --host docdb-xx-xx.cluster-xxxxxxxx.us-east-1.docdb.amazonaws.com:27017 --sslCAFile rds-ca-2019-root.pem --username documentdb --password documentdb db.coll.getIndexes()

Etapa 4: criar uma instância de AWS DMS replicação

Uma instância AWS DMS de replicação conecta e lê dados do seu cluster Amazon DocumentDB de origem e os grava no cluster Amazon DocumentDB de destino. A instância AWS DMS de replicação pode realizar operações de carga em massa e CDC. A maior parte desse processo ocorre na memória. No entanto, operações grandes podem exigir buffer no disco. Transações armazenadas em cache e arquivos de log também são gravados no disco. Depois que os dados são migrados, a instância de replicação também transmite quaisquer eventos de alteração para garantir que a origem e o destino estejam sincronizados.

Para criar uma instância de AWS DMS replicação:

  1. Abra o AWS DMS console.

  2. No painel de navegação, selecione Replication instances.

  3. Selecione Create replication instance (Criar instância de replicação) e insira as seguintes informações:

    • Em Nome, insira um nome de sua escolha. Por exemplo, docdb36todocdb40.

    • Em Descrição, insira uma descrição de sua escolha. Para o item de lista, a instância de replicação do Amazon DocumentDB 3.6 para o Amazon DocumentDB 4.0.

    • Para a classe Instância, escolha o tamanho com base em suas necessidades.

    • Para a versão Mecanismo, escolha 3.4.1.

    • Para a Amazon VPC, escolha a Amazon VPC que abriga seus clusters Amazon DocumentDB de origem e destino.

    • Para Armazenamento alocado (GiB), use o padrão de 50 GiB. Se você tiver uma workload de alto throughput de gravação, aumente esse valor para corresponder à sua workload.

    • Para Multi-AZ, escolha Sim se precisar de alta disponibilidade e suporte de failover.

    • Para Publicly accessible (Publicamente acessível), habilite esta opção.

  4. Selecione Create replication instance.

Etapa 5: Criar um endpoint AWS DMS de origem

O endpoint de origem é usado para o cluster Amazon DocumentDB de origem.

Para criar um endpoint de origem

  1. Abra o AWS DMS console.

  2. No painel de navegação, escolha Endpoints.

  3. Escolha Create endpoint e insira as seguintes informações:

    • Em Tipo de endpoint, selecione Origem.

    • >Em Identificador do endpoint, insira um nome que seja fácil de lembrar, por exemplo docdb-source.

    • Em Mecanismo de origem, escolha docdb.

    • Em Nome do servidor, insira o nome DNS do cluster do Amazon DocumentDB de sua origem.

    • Em Porta, insira o número da porta do cluster do Amazon DocumentDB de sua origem.

    • Para Modo SSL, escolha verify-full.

    • Para certificado CA, escolha Adicionar novo certificado CA. Baixe o novo certificado CA para criar um pacote de conexões TLS. Para Identificador de certificado, insira rds-combined-ca-bundle . Para Importar arquivo de certificado, escolha Escolher arquivo e navegue até o arquivo .pem que você baixou anteriormente. Selecione e abra o arquivo. Escolha Importar certificado, e rds-combined-ca-bundle na lista suspensa selecione Escolher um certificado

    • Em Nome de usuário, insira o nome de usuário principal do seu cluster Amazon DocumentDB de origem.

    • Em Senha, insira a senha principal do seu cluster Amazon DocumentDB de origem.

    • Em Nome do banco de dados, insira o nome do banco de dados que você deseja atualizar.

  4. Teste sua conexão para verificar se ela foi configurada com sucesso.

  5. Escolha Criar endpoint.

nota

AWS DMS só pode migrar um banco de dados por vez.

Etapa 6: Criar um endpoint de AWS DMS destino

O endpoint de destino é para seu cluster Amazon DocumentDB de destino.

Para criar um endpoint de destino:

  1. Abra o console de AWS DMS.

  2. No painel de navegação, escolha Endpoints.

  3. Selecione Create endpoint (Criar endpoint) e insira as seguintes informações:

    • Em Endpoint Type (Tipo de endpoint), selecione Target (Destino).

    • Em Endpoint identifier (Identificador do endpoint), insira um nome que seja fácil de lembrar, por exemplo docdb-target.

    • Em Mecanismo de origem, escolha docdb.

    • Em Nome do servidor, insira o nome DNS do cluster do Amazon DocumentDB de seu destino.

    • Em Porta, insira o número da porta do cluster do Amazon DocumentDB de seu destino.

    • Para Modo SSL, escolha verify-full.

    • Para certificado CA, escolha o rds-combined-ca-bundle certificado existente no menu suspenso Escolher um certificado.

    • Em Nome de usuário, insira o nome de usuário principal do seu cluster Amazon DocumentDB de destino.

    • Em Senha, insira a senha principal do seu cluster Amazon DocumentDB de destino.

    • Em Nome do banco de dados, insira o mesmo nome do banco de dados que você usou para configurar seu endpoint de origem.

  4. Teste sua conexão para verificar se ela foi configurada com sucesso.

  5. Escolha Criar endpoint.

Etapa 7: Criar e executar uma tarefa de migração

Uma AWS DMS tarefa vincula a instância de replicação à sua instância de origem e de destino. Ao criar uma tarefa de migração, você especifica o endpoint da origem, o endpoint de destino e a instância de replicação, com todas as configurações de migração. Uma AWS DMS tarefa pode ser criada com três tipos diferentes de migração: migrar dados existentes, migrar dados existentes e replicar alterações em andamento ou replicar somente alterações de dados. Como o objetivo dessa apresentação é atualizar um cluster do Amazon DocumentDB com o mínimo de tempo de inatividade, as etapas utilizam a opção de migrar dados existentes e replicar as alterações em andamento. Com essa opção, AWS DMS captura as alterações ao migrar seus dados existentes. AWS DMS continua capturando e aplicando alterações mesmo após o carregamento dos dados em massa. Por fim, os bancos de dados de origem e de destino ficarão sincronizados, permitindo uma migração com tempo de inatividade mínimo.

Abaixo estão as etapas para criar uma tarefa de migração para uma migração com o mínimo de tempo de inatividade:

  1. Abra o AWS DMS console.

  2. No painel de navegação, selecione Tarefas.

  3. Selecione Criar tarefa e insira as seguintes informações:

    • Em Nome da tarefa, insira um nome que seja fácil de lembrar, por exemplo my-dms-upgrade-task.

    • Em Instância de replicação, escolha a instância de replicação que você criou na Etapa 3: Criar uma instância de replicação AWS Database Migration Service

    • Para Endpoint de origem, escolha o endpoint de origem que você criou na Etapa 4: Criar um AWS Database Migration Service endpoint de origem

    • Em Target endpoint, escolha o endpoint de destino que você criou na Etapa 5: Criar um AWS Database Migration Service endpoint de destino

    • Para Migration type escolha Migrate existing data and replication ongoing changes (Migrar dados existentes e replicar alterações contínuas).

  4. Na seção Configurações da tarefa, ative CloudWatch os registros.

  5. Na seção Mapeamentos de tabela, escolha Não fazer nada. Isso garantirá que os índices criados na etapa 3 não sejam descartados.

  6. Para a configuração de inicialização da tarefa de migração, escolha Automaticamente ao criar. Isso iniciará a tarefa de migração automaticamente assim que você a criar.

  7. Escolha Criar tarefa.

AWS DMS agora começa a migrar dados do seu cluster Amazon DocumentDB de origem para seu cluster Amazon DocumentDB de destino. O status da tarefa deve alterar de Iniciando para Em execução. Você pode monitorar o progresso escolhendo Tarefas no AWS DMS console. Depois de vários minutos/horas (dependendo do tamanho da migração), o status deve mudar de Carga concluída, replicação em andamento. Isso significa que AWS DMS concluiu uma migração de carga completa do seu cluster Amazon DocumentDB de origem para um cluster Amazon DocumentDB de destino e agora está replicando eventos de alteração.

Eventualmente, sua origem e destino estarão sincronizados. Você pode verificar se eles estão sincronizados executando uma operação count() em suas coleções para verificar se todos os eventos de alteração foram migrados.

Etapa 8: Alterar o endpoint do aplicativo para o cluster Amazon DocumentDB de destino

Depois que a carga completa estiver concluída e o processo de CDC estiver sendo replicado continuamente, você estará pronto para alterar o endpoint de conexão de banco de dados do seu aplicativo do seu cluster Amazon DocumentDB de origem para seu cluster Amazon DocumentDB de destino.