Migração automática de bancos de dados do EC2 para o Amazon RDS usando o AWS Database Migration Service
Você pode usar o console do RDS para migrar um banco de dados do EC2 para o RDS. O RDS 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 ou uma instância de banco de dados equivalente do RDS 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 RDS.
Visão geral
O console do RDS permite migrar bancos de dados do EC2 para bancos de dados equivalentes do RDS. Você deve criar um banco de dados do RDS para habilitar a migração pelo console.
Você pode migrar bancos de dados do EC2 para os seguintes mecanismos de banco de dados:
-
MySQL
-
MariaDB
-
PostgreSQL
O processo de migração inclui as seguintes etapas:
-
Crie um banco de dados equivalente no RDS. 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 uma instância de banco de dados do Amazon RDS.
-
Escolha o tipo de replicação para seu banco de dados:
-
Migração de carga máxima: o RDS 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 RDS.
-
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 RDS 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 RDS 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 RDS.
-
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 RDS migra as alterações em andamento no banco de dados de origem para o banco de dados de destino.
-
-
O RDS cria os recursos de rede necessários para facilitar a migração. Depois que o RDS 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 e MariaDB
Antes de começar a trabalhar com um banco de dados MySQL ou MariaDB 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 RDS 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:
-
Banco de dados que é membro de um cluster
-
Bancos de dados Oracle, SQL Server e Db2
-
Bancos de dados com versão do MySQL anterior a 5.7
-
Bancos de dados com versão do PostgreSQL anterior a 10.4
-
Bancos de dados com versão do MariaDB anterior a 10.2
-