Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
Como posso migrar minhas tabelas do DynamoDB de uma conta da AWS para outra?
Quero copiar dados na minha tabela do Amazon DynamoDB para uma nova em outra conta na mesma ou em uma conta diferente
Breve descrição
Há vários métodos que podem ser usados para transferir dados de uma tabela do DynamoDB de uma conta da AWS para outra. A melhor opção pode depender de vários fatores, incluindo o volume de dados, a necessidade de atualizações em tempo real e a complexidade das transformações de dados.
Para migrar tabelas do DynamoDB de uma conta da AWS para outra, escolha uma das seguintes opções:
- AWS Backup
- Importação e exportação do DynamoDB para o Amazon Simple Storage Service (Amazon S3)
- Amazon EMR
- AWS Data Pipeline
- Amazon S3 e AWS Glue
- Script personalizado de exportação e importação
Resolução
Com base no seu caso de uso, conclua as seguintes tarefas.
AWS Backup
Para contas da AWS de origem e destino na mesma organização do AWS Organizations, o AWS Backup pode realizar transferências de dados do DynamoDB entre regiões e entre contas. Para mais informações, consulte Criar cópias de backup em contas da AWS.
Na conta de destino, conclua as seguintes etapas:
- Crie um cofre do AWS Backup na conta de destino na região da AWS em que seu DynamoDB está presente. Ao criar o cofre, use a chave do AWS Key Management Service (AWS KMS) que você configurou. Essa é a chave compartilhada com a conta de origem na mesma organização.
- Adicione uma política do AWS Identity and Access Management (AWS IAM) ao cofre que permite fazer backup no cofre. Para isso, selecione a opção Permitir acesso a um cofre de backup da organização. Isso permite que outras contas dentro da mesma organização sejam copiadas para o cofre.
Na conta de origem, conclua as seguintes tarefas:
- Crie um cofre do AWS Backup na região para a qual você precisa migrar os dados da tabela. Ao criar o cofre, use a chave do AWS KMS que você já configurou. Essa é a chave compartilhada com outras contas na organização.
- Adicione uma política do IAM ao cofre que permita que outras contas na organização copiem para o cofre. Para isso, selecione a opção Permitir acesso a um cofre de backup da organização.
- Crie um plano de backup para gerar backups das tabelas do DynamoDB na conta de origem para a conta de destino. Em Cofre de backup, escolha o cofre que você criou na conta de origem.
- Selecione a opção Copiar para o cofre de outra conta.
- Em Atribuir recursos, escolha a opção Incluir tipos de recursos específicos para incluir os recursos dos quais você deve fazer backup.
- Em Selecionar tipos de recursos específicos, selecione DynamoDB. Depois, escolha todas as tabelas ou somente aquelas que você precisa fazer backup.
Para revisar a configuração e restaurar uma tabela, conclua as seguintes etapas:
- Na conta de destino, navegue até o cofre que você criou. É possível ver que os Pontos de recuperação são os mesmos da conta de origem.
- Restaure sua tabela do DynamoDB na conta de destino.
Observação: essa opção é compatível somente com contas que fazem parte da mesma organização do AWS Organization.
Exportação e importação do DynamoDB para o Amazon S3
Use o atributo de Exportação do DynamoDB para o Amazon S3 para exportar dados de uma tabela do Amazon DynamoDB a qualquer momento dentro do período de recuperação determinado. Para obter um exemplo de como usar esse atributo, consulte Exportar dados de tabela do Amazon DynamoDB para seu data lake no Amazon S3, sem necessidade de escrever código.
Para usar o atributo de exportação do DynamoDB para o Amazon S3, conclua as seguintes etapas:
- Para migrar os dados da tabela do DynamoDB, exporte a tabela para um bucket do Amazon S3 na conta de destino.
Observação: o DynamoDB deve ter permissões s3:ListBucket para esse bucket do S3. O bucket do S3 não tem nenhuma lista de controle de acesso que negue o acesso aos dados exportados. - Importe os dados do bucket do S3 para uma nova tabela na conta de destino.
Observação: essa opção exige que você configure e gerencie o AWS Data Pipeline, permissões entre contas e perfis do IAM.
Amazon EMR
Para usar o Amazon EMR para exportar seus dados para um bucket do S3, use um dos seguintes métodos:
- Use o DynamoDBStorageHandler para executar consultas do Hive ou do Spark em tabelas do DynamoDB. Para mais informações, consulte Exportação de dados a partir do DynamoDB.
- Para exportar ou importar tabelas do DynamoDB, use o arquivo emr-dynamodb-tool de código aberto no GitHub.
Para usar o Amazon EMR para migrar uma tabela do DynamoDB, conclua as seguintes etapas:
- Inicie clusters do EMR nas contas de origem e de destino. Na seção Configuração de software, escolha uma opção que inclua o Apache Hive.
Observação: é uma prática recomendada iniciar clusters do Amazon EMR em sub-redes privadas. As sub-redes privadas devem ter um endpoint da VPC do Amazon S3 e uma rota para o DynamoDB. Se os clusters precisarem acessar a Internet, use um gateway NAT que resida em uma sub-rede pública. Para mais informações, consulte VPC com servidores em sub-redes privadas e NAT. - Atualize os perfis do IAM EMR_EC2_DefaultRole em ambas as contas para que tenham permissão para gravar no bucket do S3 na conta de destino. Para obter mais informações, consulte Configurar perfis de serviço do IAM para permissões do Amazon EMR aos serviços e recursos da AWS.
- Na conta de origem, use SSH para se conectar ao nó líder.
- Na conta de origem, use comandos do Hive para exportar os dados da tabela do DynamoDB para o bucket do S3 na conta de destino.
- Na conta de destino, importe os dados do Amazon S3 para a nova tabela do DynamoDB.
Observação: se você usar uma tabela de teste para capturar gravações que acontecem durante a migração, repita as etapas 3 e 4 na tabela de teste.
Para diminuir o tempo de inatividade, é possível armazenar todas as transações que ocorrem durante a migração em uma tabela de teste. Depois que a tabela de origem for migrada para a conta de destino, envie as novas transações da tabela de teste para a tabela de destino.
O tempo necessário para migrar tabelas com o Amazon EMR pode variar. Ele depende do desempenho da rede de throughput provisionado da tabela do DynamoDB e da quantidade de dados armazenados na tabela.
Observação: essa opção exige que você crie e mantenha um cluster do EMR.
AWS Data Pipeline
Use o AWS Data Pipeline para exportar dados de uma tabela do DynamoDB para um arquivo em um bucket do Amazon S3. Essa opção executa clusters gerenciados do Hadoop no Amazon EMR para realizar leituras e gravações entre o DynamoDB e o Amazon S3.
Observação: essa opção exige que você configure e gerencie o AWS Data Pipeline, permissões entre contas e perfis do IAM.
Amazon S3 e AWS Glue
As tarefas de ETL do AWS Glue oferecem suporte à leitura de dados da tabela do DynamoDB de outra conta e à gravação de dados na tabela do DynamoDB de outra conta. Use o parâmetro dynamodb.sts.roleArn para assumir uma função entre contas no script da tarefa. Ao assumir a função, você obtém credenciais temporárias que devem ser usadas para acesso entre contas ao DynamoDB. Para obter mais informações, consulte Acesso entre contas entre regiões às tabelas do DynamoDB e Como exportar uma tabela do Amazon DynamoDB para o Amazon S3 usando o AWS Step Functions e o AWS Glue.
Observação: essa opção exige o uso extensivo do Spark e a manutenção do código-fonte da tarefa de ETL do AWS Glue. Para mais informações, consulte Conexões do DynamoDB.
Script personalizado de exportação e importação
Para conjuntos de dados menores de cerca de 2 GB ou para transferências únicas, é possível usar um processo manual de exportação e importação. Por exemplo, é possível usar um código C# que usa operações de Digitalização do DynamoDB para ler itens da tabela de origem. Em seguida, o código usa chamadas de API BatchWriteItem para gravar os dados em uma tabela de destino na conta de destino.
Observação: esse processo pode ser demorado com grandes conjuntos de dados e exige scripts personalizados. Para a entidade do IAM que executa o script, você deve configurar o acesso do S3 entre contas.
Informações relacionadas
Como posso migrar minhas tabelas do Amazon DynamoDB de uma conta da AWS para outra?
Como posso fazer backup de uma tabela do DynamoDB no Amazon S3?
Vídeos relacionados


Conteúdo relevante
- feita há 2 meseslg...
- Resposta aceitafeita há 2 meseslg...
- feita há 7 diaslg...
- feita há um mêslg...
- Resposta aceitafeita há 24 diaslg...
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 5 meses
- AWS OFICIALAtualizada há 9 meses
- AWS OFICIALAtualizada há 10 meses