将本地 “我的SQL数据库” 迁移到 Amazon EC2 - AWS Prescriptive Guidance

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将本地 “我的SQL数据库” 迁移到 Amazon EC2

由洛伦佐·莫塔创作 () AWS

环境:PoC 或试点

来源:本地 My SQL Database

目标:我在 Amazon 上的SQL数据库 EC2

R 类型:更换主机

工作负载:开源

技术:迁移;数据库

AWS服务:AWSDMS; Amazon EC2

Summary

此模式为将本地 “我的SQL数据库” 迁移到亚马逊弹性计算云 (AmazonEC2) 实例上的 “我的SQL数据库” 提供了指导。该模式讨论了如何使用 AWS Database Migration Service (AWS DMS) 或原生 “我的SQL工具”(例如 mysqldump)进行迁移。它侧重于将数据库完整迁移到 “我的SQL数据库” 实例。

该模式主要面向DBAs解决方案架构师。它可用于小型或大型项目、测试或最终迁移阶段。我们建议您在生产环境中使用此模式之前,至少运行一个测试周期。

先决条件和限制

先决条件

  • 一个活跃的AWS账户

  • 本地数据中心中的 “我的SQL源数据库” 

产品版本

  • 我的SQL版本 5.5 及更高版本

  • 亚马逊支持的目标操作系统EC2;参见 Ama z on EC2 FAQs

架构

源技术堆栈

  • 本地的 “我的SQL数据库”

目标技术堆栈

  • Amazon 上的 “我的SQL数据库” 实例 EC2

AWS数据迁移方法

目标架构

下图说明了转换后的目标 Amazon EC2 实施。

Amazon 上的 “我的SQL数据库” 实例,EC2可复制到备用的 “我的SQL数据库” 实例。

AWS数据迁移架构

使用 AWSDMS:

下图说明了在切换之前将完整和增量更改发送到目标 “我的SQL数据库” 所依 AWS DMS 据的数据迁移工作流程。从本地到的网络连接 AWS 取决于SQL客户端的要求,不在此模式的范围之内。

AWSDMS用于向 Amazon 上的目标 “我的SQL数据库” 发送数据EC2。

使用其他 “我的SQL工具”:

下图说明了基于使用 “我的SQL工具” 从本地数据库生成导出转储文件的数据迁移工作流程。在转换之前,这些文件将移至亚马逊简单存储服务 (Amazon S3),并导入到目标 “SQL我的数据库” 中。从本地到的网络连接 AWS 取决于SQL客户端的要求,不在此模式的范围之内。

使用原生 “我的SQL工具” 将数据发送到 Amazon 上的目标 “我的SQL数据库” EC2。

注意:

  • 根据停机时间考虑因素和最终直接转换的数据库大小,您可以使用 AWS DMS 或其他更改数据捕获 (CDC) 工具来最大限度地缩短转换时间。使用诸如之类的CDC工具时 AWS DMS,可以在几分钟内迁移到目标数据库。 

  • 如果数据库的大小和网络延迟允许较短的直接转换迁移窗口,那么使用 mysqldump 的离线策略就足够了。(我们建议您进行测试以获得大致的时间。)

  • 通常,与离线选项相比,通过CDC策略 AWS DMS 需要更多的监控和复杂性。

工具

AWS 服务

其他工具

  • mysqldump 是一个 “我的SQL工具”,它从 “我的SQL数据库” 中创建转储文件用于备份或迁移。

  • Percona XtraBackup 是一个开源实用程序,用于在 “我的数据库” 上执行非阻塞备份。SQL

操作说明

任务描述所需技能

验证数据库版本。

验证源数据库和目标数据库的版本。有关支持的 “我的SQL版本” 的信息 AWS DMS,请参阅 AWS DMS 文档 AWS DMS中的来源 AWS DMS目标

DBA

确定目标操作系统。

确定目标操作系统的版本。有关亚马逊支持的目标操作系统的列表EC2,请参阅亚马逊EC2FAQs

DBA,系统管理员

确定硬件要求。

根据我的SQL兼容性列表和容量要求确定目标服务器实例的硬件要求。

DBA,系统管理员

确定存储要求。

确定目标数据库的存储类型和容量。

DBA,系统管理员

识别网络要求。

确定网络要求,例如延迟和带宽。

DBA,系统管理员

选择目标实例类型。

根据容量、存储功能和网络功能选择目标实例类型

DBA,系统管理员

确定安全要求。

确定源数据库和目标数据库的网络或主机访问安全要求。

DBA,系统管理员

识别用户。

确定安装 “我的SQL软件” 的操作系统用户列表。有关更多信息,请参阅 “我的SQL文档”。

DBA,系统管理员

确定备份策略。

DBA

确定可用性要求。

DBA

确定应用程序迁移或切换策略。

DBA,系统管理员
任务描述所需技能

创建虚拟私有云 (VPC) 和子网。

配置路由表、互联网网NAT关、网关和子网。有关更多信息,请参阅 Amazon VPC 文档中的VPC配置选项

系统管理员

创建安全组和网络访问控制列表 (ACLs)。

根据您的要求配置端口(我的默认值SQL为 3306)和CIDR范围或IPs具体端口。

系统管理员

配置并启动实EC2例。

有关说明,请参阅 Amazon EC2 文档中的启动EC2实例

系统管理员
任务描述所需技能

创建用户和群组。

创建需要访问服务器和数据库的操作系统用户和组。有关更多信息,请参阅 “我的SQL文档” 中的 “访问控制和账户管理”。

DBA,系统管理员

下载我的SQL.

下载 “我的SQL软件”。有关说明和二进制文件,请参阅 “我的SQL文档” SQL 中的 “安装我的”。

DBA,系统管理员

在EC2实例SQL上安装 My 并配置服务器。

连接到您的EC2实例并安装 My SQL 软件。有关更多信息,请参阅 Amazon EC2 文档中的 Connect 到您的EC2实例

DBA,系统管理员
任务描述所需技能

使用原生 “我” 工具SQL或第三方工具迁移数据。

此选项使用本机 “我的SQL工具” 或第三方工具来迁移数据库对象和数据。有关说明,请参阅 mysqldumpPercona XtraBackup(用于物理迁移)的文档。有关使用这些工具的更多信息,请参阅 AWS 博客文章 “我的迁移SQL到亚马逊” SQL 或 “我的 Amazon Aurora My” RDS 的迁移选项SQL

DBA
任务描述所需技能

使用迁移数据 AWS DMS。

有关更多信息,请参阅 AWS DMS 文档AWS DMS中的高级视图

DBA
任务描述所需技能

收集物体数量。

从源数据库和新的目标数据库中收集对象计数。修复目标数据库中的任何差异。

DBA

检查依赖项。

确认与其他数据库的依赖关系(链接)仍然有效且工作正常。

DBA

测试。

如果这是测试周期,请执行查询测试,收集指标并修复所有问题。

DBA
任务描述所需技能

移动客户。

将应用程序客户端切换至新基础设施。

DBA、应用程序所有者、系统管理员

提供支持。

在功能应用程序测试期间提供支持。

DBA
任务描述所需技能

关闭资源。

关闭 AWS DMS 复制实例和其他临时 AWS 资源。

DBA,系统管理员

审查和项目文件。

查看和验证项目文档。

DBA、应用程序所有者、系统管理员

收集指标。

收集指标,例如迁移时间、手动更改与工具辅助更改相比的百分比以及成本节约情况。

DBA、应用程序所有者、系统管理员

结束项目。

结束迁移项目并提供反馈。

DBA、应用程序所有者、系统管理员

停用源数据库。

停用本地 “我的SQL数据库”。

DBA,系统管理员

相关资源

参考

教程和视频