Migrar um banco de dados MySQL on-premises para o Amazon RDS para MySQL
Lorenzo Mota, Amazon Web Services
Resumo
Esse padrão fornece orientação para migrar um banco de dados MySQL on-premises para o Amazon Relational Database Service (Amazon RDS) para o MySQL. O padrão aborda o uso do AWS Database Migration Service (AWS DMS) ou de ferramentas nativas do MySQL, como o mysqldump, para uma migração completa do banco de dados. Esse padrão é principalmente para DBAs e arquitetos de soluções. Ele pode ser usado em projetos pequenos ou grandes como procedimento de teste (recomendamos pelo menos um ciclo de teste) ou como procedimento final de migração.
Pré-requisitos e limitações
Pré-requisitos
Uma conta da AWS ativa
Um banco de dados de origem do MySQL em um datacenter on-premises
Limitações
Limite de tamanho do banco de dados: 64 TB
Versões do produto
MySQL, versões 5.5, 5.6, 5.7, 8.0 Para obter a lista mais recente de versões compatíveis, consulte MySQL no Amazon RDS na documentação da AWS. Se você estiver usando o AWS DMS, consulte também Uso de um banco de dados compatível com MySQL como destino para o AWS DMS para obter informações sobre as versões do MySQL atualmente compatíveis com o AWS DMS.
Arquitetura
Pilha de tecnologia de origem
Um banco de dados MySQL on-premises
Pilha de tecnologias de destino
Uma instância de banco de dados do Amazon RDS executando o MySQL.
Arquitetura de destino
O diagrama a seguir mostra o destino da implementação do Amazon RDS para MySQL após a migração.

Arquitetura de migração de dados da AWS
Usar o AWS DMS:
O diagrama apresentado a seguir ilustra a arquitetura de migração de dados quando você usa o AWS DMS para enviar alterações completas e incrementais até a substituição. A conexão de rede entre o ambiente on-premises e a AWS depende das suas necessidades e está fora do escopo deste padrão.

Usando ferramentas nativas do MySQL:
O diagrama a seguir mostra a arquitetura de migração de dados quando você usa ferramentas nativas do MySQL. Os arquivos de despejo para exportação são copiados para o Amazon Simple Storage Service (Amazon S3) e importados para o banco de dados do Amazon RDS para MySQL na AWS antes da substituição. A conexão de rede entre o ambiente on-premises e a AWS depende das suas necessidades e está fora do escopo deste padrão.

Observações:
Dependendo dos requisitos de tempo de inatividade e do tamanho do banco de dados, o uso do AWS DMS ou de uma ferramenta de captura de dados de alteração (CDC) minimiza o tempo de substituição. O AWS DMS pode ajudar a reduzir o tempo de substituição para o novo destino ao mínimo, geralmente alguns minutos. Uma estratégia off-line com mysqldump pode funcionar se o tamanho do banco de dados e a latência da rede forem compatíveis com uma breve janela. (Recomendamos testar para obter um tempo aproximado.)
Em geral, usar uma estratégia de CDC, como o AWS DMS, demanda mais monitoramento e é mais complexa do que abordagens off-line.
Ferramentas
Serviços da AWS: o AWS Database Migration Service (AWS DMS) facilita a migração de armazenamentos de dados para a Nuvem AWS ou entre configurações híbridas de nuvem e ambientes on-premises. Para obter informações sobre bancos de dados do MySQL de origem e de destino compatíveis com o AWS DMS, consulte Migração de bancos de dados compatíveis com MySQL para a AWS. Caso o banco de dados de origem não seja compatível com o AWS DMS, será necessário optar por outro método de migração de dados.
Ferramentas nativas do MySQL: mysqldump
Ferramentas de terceiros: Percona XtraBackup
Épicos
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Validar versões do banco de dados. | Valide as versões dos bancos de dados de origem e de destino. | DBA |
Identifique os requisitos de hardware. | Identifique os requisitos de hardware para o servidor de destino. | DBA, administrador de sistemas |
Identifique os requisitos de armazenamento. | Identifique os requisitos de armazenamento (como tipo e capacidade de armazenamento) para o banco de dados de destino. | DBA, administrador de sistemas |
Altere o tipo de instância. | Selecione o tipo de instância de destino com base na capacidade, nos atributos de armazenamento e nos atributos de rede. | DBA, administrador de sistemas |
Identifique os requisitos de acesso à rede. | Identifique os requisitos de segurança para acesso à rede para os bancos de dados de origem e de destino. | DBA, administrador de sistemas |
Identifique objetos sem suporte. | Identifique objetos sem suporte (se houver) e determine o esforço de migração. | DBA |
Identificar dependências. | Identifique todas as dependências em bancos de dados remotos. | DBA |
Determine a estratégia de migração do aplicativo. | Determine a estratégia para migrar aplicativos de clientes. | DBA, proprietário do aplicativo, administrador de sistemas |
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Criar uma nuvem privada virtual (VPC). | Configure tabelas de rotas, gateway da internet, gateways NAT e sub-redes. Para obter mais informações, consulte VPCs e Amazon RDS na documentação do Amazon RDS. | Administrador de sistemas |
Criar grupos de segurança. | Configure portas e intervalos CIDR ou IPs específicos, dependendo de seus requisitos. A porta padrão do MySQL é 3306. Para obter mais informações, consulte Controlar o acesso com grupos de segurança no Guia do usuário do Amazon RDS. | Administrador de sistemas |
Configure e inicie uma instância de banco de dados do Amazon RDS para MySQL. | Para obter instruções, consulte Criação de uma instância de banco de dados Amazon RDS na documentação do Amazon RDS. Verifique as versões compatíveis. | Administrador de sistemas |
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Use ferramentas nativas do MySQL ou terceirizadas para migrar objetos e dados do banco de dados. | Para obter instruções, consulte a documentação das ferramentas MySQL, como mysqldump Para obter mais informações sobre opções, consulte a postagem do blog Opções de migração do MySQL para o Amazon RDS para MySQL ou Amazon Aurora MySQL | DBA |
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Migre os dados com o AWS DMS. | Para obter instruções, consulte a documentação do AWS DMS. | DBA |
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Corrija discrepâncias na contagem de objetos. | Colete contagens de objetos do banco de dados de origem e do novo banco de dados de destino. Corrija discrepâncias no banco de dados de destino. | DBA |
Verifique dependências. | Verifique se as dependências (links) de e para outros bancos de dados são válidas e funcionam conforme o esperado. | DBA |
Realize testes. | Se esse for um ciclo de testes, realize testes de consulta, colete métricas e corrija problemas. | DBA |
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Mudar para o banco de dados de destino. | Mude os aplicativos do cliente para a nova infraestrutura. | DBA, proprietário do aplicativo, administrador de sistemas |
Forneça suporte para testes. | Forneça suporte para testes funcionais de aplicativos. | DBA |
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Desligar recursos. | Desative os recursos temporários da AWS que você criou para a migração. | DBA, administrador de sistemas |
Valide os documentos do projeto. | Revise e valide os documentos do projeto. | DBA, proprietário do aplicativo, administrador de sistemas |
Colete métricas. | Reúna métricas como tempo de migração, porcentagem de tarefas manuais versus esforço automatizado e economia de custos. | DBA, proprietário do aplicativo, administrador de sistemas |
Encerre o projeto. | Feche o projeto e forneça feedback. | DBA, proprietário do aplicativo, administrador de sistemas |
Descomissionar o banco de dados de origem. | Quando todas as tarefas de migração e substituição estiverem concluídas, desative o banco de dados on-premises. | DBA, administrador de sistemas |
Recursos relacionados
Referências
Tutoriais