

# Migração automática de bancos de dados do EC2 para o Amazon Aurora usando o AWS Database Migration Service
<a name="USER_DMS_migration"></a>

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?](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 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
<a name="USER_DMS_migration-overview"></a>

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](Aurora.CreateInstance.md) . 
+ 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
<a name="USER_DMS_migration-Prerequisites"></a>

### MySQL
<a name="USER_DMS_migration-Prerequisites.MySQL"></a>

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
<a name="USER_DMS_migration-Prerequisites.PostgreSQL"></a>

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 perfil `rds_replication`. O perfil `rds_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
<a name="USER_DMS_migration-Limitations"></a>

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