如何使用amazon-dms执行数据库迁移

时间:2024-03-16 12:01:06

Amazon DMS(数据库迁移服务)极大地简化了将现有数据库迁移到AWS云的工作。 亚马逊声称已经有超过55,000个数据库通过DMS迁移,DMS承诺很少或没有停机时间,只需要几分钟的设置时间。

DMS处理将数据从旧数据库导出和导入到新数据库的繁重工作,并且可以监视原始数据库在此过程中所做的更改,以便在迁移过程中不会丢失任何数据。 DMS还支持各种各样的源数据库,包括MySQL、PostgreSQL、Amazon Aurora、Oracle、SQL Server、MongoDB、MariaDB和SAP ASE,并且可以促进一种数据库类型和另一种数据库类型之间的大多数转换。

高效使用亚马逊数字媒体管理系统可以归结为以下三个步骤。 我将通过以下迁移示例来演示这些:将一个13 GB的MySQL数据库从洛杉矶数据中心迁移到云中一个空的新亚马逊RDS实例。

从创建复制实例开始该过程,您将使用该实例连接到两个数据库并执行迁移。 这种设置很简单,只需要少量的信息(如下所示)。

如何使用amazon-dms执行数据库迁移

如果需要,高级选项可以启用存储分配、安全组、首选可用性区域、复制实例上加密静态数据的KMS主**等其他配置。

在此步骤结束时,复制实例显示“可用”状态,现在可以接受任务。

如何使用amazon-dms执行数据库迁移

DMS使用您设置的端点连接到数据库服务器,然后在旧数据库和新数据库之间导入和导出数据。 这种快速设置只需要输入必要的信息,告诉DMS如何建立这些连接。

如何使用amazon-dms执行数据库迁移

迁移需要一个源端点和一个目标端点,但是为每个端点组合多个端点是一个选项,而且非常简单。 如果您的需求要求将多个服务器上的不同数据库合并到一个RDS实例中,那么就去做吧。 请注意,某些选项和信息要求会根据您使用的数据库而有所不同:对于SQL Server,您必须提供一个数据库名称,而SSL模式的选项则取决于数据库。

如何使用amazon-dms执行数据库迁移

一旦创建了至少两个端点,此步骤就完成了,其中一个指向数据中心的源数据库,另一个指向新的RDS实例。

在这一阶段,您需要更深入地测试您的端点连接并刷新模式。

如何使用amazon-dms执行数据库迁移

端点页面的顶部包含一个 测试电路 可以随时使用的按钮。 它会弹出一个显示屏,让您测试您的连接;你要么会看到它成功了,要么会收到失败原因的解释。

如何使用amazon-dms执行数据库迁移

当DMS开始处理迁移任务时,将自动刷新架构。 但是,我建议手动这样做,因为这对确认模式可以被正确查看很有价值。

最后一步指示复制实例应该移动什么数据(以及移动到哪里)。 为此,您需要一个源端点和目标端点,以及一些关于如何迁移这些数据的附加细节。

如何使用amazon-dms执行数据库迁移

如何使用amazon-dms执行数据库迁移

使用表映射来告诉DMS要迁移什么数据。 这可以使用工具的“引导”选项卡或通过提供JSON信息来完成。

如何使用amazon-dms执行数据库迁移

表映射可以广义或狭义定义。 可以包含所有模式,选择任何要从迁移中排除的模式,或者只选择一个或多个特定模式。 在本例中,为了迁移两个模式,包含了两个表映射。

如何使用amazon-dms执行数据库迁移

从这一点来看,可以创建任务并继续迁移。 但是,在此之前可用的一个选项是使用转换规则,根据需要为每个模式、表甚至数据库列转换数据。

如何使用amazon-dms执行数据库迁移

转换规则可以将列名改为小写,将前缀添加到表名中,并在切换数据库和准备不同的引擎如何处理这些细节时完成其他重要的更改。 在本例中,我们创建了规则来为每个表名添加前缀。

如何使用amazon-dms执行数据库迁移

有了所有首选的设置和规则,是时候创建任务并观察它运行了。

如何使用amazon-dms执行数据库迁移

目前没有必要采取进一步行动;DMS将自动开始工作并完成剩下的工作。 在我的示例中,DMS需要大约20分钟来完成完整迁移—您的特定迁移时间将取决于数据库大小、迁移实例的实例类、源数据库的连接速度以及其他因素。

如何使用amazon-dms执行数据库迁移

一旦迁移了初始数据负载,DMS将执行持续复制,以对新数据库应用任何进一步的更改,从而从用户的角度实现无缝迁移。 使用命令行工具登录到RDS,然后您可以验证这两个模式是否成功fully moved and renamed, and include the correct number of rows.

如何使用amazon-dms执行数据库迁移
mysql数据库同步

迁移现已完成并得到确认。 新的云数据库已准备就绪,可以终止DMS实例。

在某些情况下,使用亚马逊DMS可能会出现一些问题,其中大部分问题都可以轻松排除。 也就是说,DMS是一个简单而强大的工具,它使得将数据库迁移到云变得更加容易。

迈克尔·埃里克是Reliam的云工程师,Reliam是一家为公共云平台提供托管服务的公司,包括AWS、Azure和谷歌云平台。