Migração automática de bancos de dados do EC2 para o Amazon Aurora usando o AWS Database Migration Service
Você pode usar o console do Aurora para migrar um banco de dados do EC2 para o Aurora. O Aurora usa o AWS Database Migration Service (AWS DMS) para migrar seu banco de dados do EC2 de origem. O AWS DMS permite que você migre bancos de dados relacionais para a Nuvem AWS. Para obter mais informações sobre o AWS Database Migration Service, consulte O que é AWS Database Migration Service? no Guia do Usuário doAWS Database Migration Service.
Para começar a migração, você deve criar um cluster de banco de dados ou uma equivalente do Aurora para o qual migrar os dados. Depois de criar o banco de dados de destino, você pode importar seu banco de dados do EC2 para ele. Para bancos de dados de origem menores que 1 TiB, essa ação de migração reduz o tempo e os recursos necessários para migrar seus dados para o Aurora .
Visão geral
O console do Aurora permite migrar bancos de dados do EC2 para bancos de dados equivalentes do Aurora. Você deve criar um banco de dados do Aurora para habilitar a migração pelo console.
Você pode migrar bancos de dados do EC2 para os seguintes mecanismos de banco de dados:
-
MySQL
-
PostgreSQL
O processo de migração inclui as seguintes etapas:
-
Crie um banco de dados equivalente no Aurora. Para que os bancos de dados sejam equivalentes, eles devem ter o mesmo mecanismo de banco de dados e versões de mecanismo compatíveis. Eles também devem estar na mesma VPC. Para obter instruções sobre como criar um banco de dados, consulte Criar um cluster de bancos de dados do Amazon Aurora .
-
Escolha o tipo de replicação para seu banco de dados:
-
Migração de carga máxima: o Aurora copia o banco de dados de origem completo para o banco de dados de destino, criando novas tabelas no destino quando necessário.
nota
Essa opção causa uma interrupção no banco de dados do Aurora.
-
Migração de carga máxima e captura de dados de alteração (CDC): semelhante à migração de carga máxima, com essa opção, o Aurora copia todo o banco de dados de origem para o banco de dados de destino. No entanto, após a migração de carga máxima, o Aurora aplica todas as alterações capturadas na origem ao banco de dados de destino. A captura de dados de alteração coleta alterações nos logs de banco de dados utilizando a API nativa do mecanismo do banco de dados.
nota
Essa opção causa uma interrupção no banco de dados do Aurora.
-
Captura de dados de alteração (CDC): use essa opção para manter seu banco de dados de destino disponível durante a migração. O Aurora migra as alterações em andamento no banco de dados de origem para o banco de dados de destino.
-
-
O Aurora cria os recursos de rede necessários para facilitar a migração. Depois que o Aurora cria os recursos necessários, ele notifica você sobre os recursos criados e permite que inicie a transferência de dados.
O tempo necessário para concluir a migração depende do tipo de replicação e do tamanho do banco de dados de origem.
Pré-requisitos
MySQL
Antes de começar a trabalhar com um banco de dados MySQL como origem, confirme se você tem os pré-requisitos a seguir. Esses pré-requisitos se aplicam às gerenciadas pela AWS.
Você deve ter uma conta do AWS DMS com o perfil Replication Admin. O perfil precisa dos seguintes privilégios:
-
REPLICATION CLIENT: este privilégio é necessário apenas para tarefas de CDC. Em outras palavras, as tarefas somente com carga completa não requerem este privilégio.
-
REPLICATION SLAVE: este privilégio é necessário apenas para tarefas de CDC. Em outras palavras, as tarefas somente com carga completa não requerem este privilégio.
O usuário do AWS DMS deve ter privilégios SELECT para as tabelas de origem designadas para replicação.
Conceda os seguintes privilégios se você usar avaliações de pré-migração específicas do MySQL.
grant select on mysql.user to <dms_user>; grant select on mysql.db to <dms_user>; grant select on mysql.tables_priv to <dms_user>; grant select on mysql.role_edges to <dms_user> #only for MySQL version 8.0.11 and higher
PostgreSQL
Antes de migrar dados de um banco de dados de origem PostgreSQL gerenciado pela AWS, faça o seguinte:
-
É recomendável utilizar uma conta de usuário da AWS com as permissões mínimas necessárias para a instância de banco de dados PostgreSQL como a conta de usuário do endpoint de origem do PostgreSQL do AWS DMS. A utilização de uma conta mestre não é recomendada. A conta deve ter o perfil
rds_superuser
e o perfilrds_replication
. O perfilrds_replication
concede permissões para gerenciar slots lógicos e transmitir dados utilizando slots lógicos.
nota
Algumas transações do AWS DMS ficam ociosas por algum tempo antes que o mecanismo do DMS as utilize novamente. Com a utilização do parâmetro idle_in_transaction_session_timeout
no PostgreSQL versões 9.6 e superior é possível fazer com que as transações ociosas atinjam o tempo limite e falhem.
Limitações
As seguintes limitações se aplicam ao processo de migração automática:
-
O status do banco de dados de destino deve ser Disponível para iniciar a migração do banco de dados de origem.
-
Ao migrar de um banco de dados de origem MySQL, sua conta do Aurora deve ter a função de Administrador de Replicação. Você também deve ter os privilégios adequados aplicados para essa função.
-
A instância do EC2 e o banco de dados de destino devem estar na mesma VPC.
Você não pode migrar o banco de dados do EC2 para os seguintes bancos de dados de destino ao usar a ação Migrar dados do banco de dados do EC2:
-
Aurora global database
-
Aurora Limitless database
-
Aurora Serverless v1
-
Bancos de dados com versão do MySQL anterior a 5.7
-
Bancos de dados com versão do PostgreSQL anterior a 10.4
-