使用 AWS Database Migration Service 将数据库自动迁移到 Amazon Aurora
您可以使用 Aurora 控制台,将数据库从 EC2、本地或其他云提供商实例迁移到 Aurora。AWS Database Migration Service(AWS DMS)可用于完成此任务。有关更多信息,请参阅《AWS Database Migration Service 用户指南》中的什么是 AWS Database Migration Service?
要开始迁移,您必须创建等效的 Aurora 数据库集群。创建目标数据库后,您可以将源数据库导入其中。对于小于 1 TiB 的源数据库,此迁移操作可减少将数据迁移到 Aurora 所需的时间和资源。
概述
使用 Aurora 控制台,您可以将 EC2 上的数据库、本地数据库或其他云提供商数据库迁移到等效的 Aurora 数据库中。您必须创建 Aurora 数据库,才能从控制台进行迁移。
注意
为了使这些数据库具有等效性,它们必须具有相同的数据库引擎和兼容的引擎版本。
此方法可用于以下数据库引擎:
-
MySQL
-
PostgreSQL
该迁移过程涉及到以下步骤:
-
在 Aurora 中创建等效的数据库。然后,在源与目标之间建立合适的网络连接。对于同一区域、账户和 VPC 中的 EC2 实例,可以跳过网络设置步骤。有关更多信息,请参阅《AWS Database Migration Service 用户指南》中的设置网络。有关创建数据库的说明,请参阅 创建 Amazon Aurora 数据库集群 。
-
选择数据库的复制类型:
-
完全加载迁移 – Aurora 将完整的源数据库复制到目标数据库,并在必要时在目标中创建新表。
注意
此选项要求停机。在迁移过程中,应用程序无法使用目标 Aurora 数据库。
-
完全加载和更改数据捕获(CDC)迁移 – 与完全加载迁移类似,使用此选项,Aurora 会将完整的源数据库复制到目标数据库。但是,在完全加载迁移之后,Aurora 会将源中捕获的任何更改应用于目标数据库。更改数据捕获通过使用数据库引擎的本机 API 来收集对数据库日志的更改。
注意
此选项要求停机。在迁移过程中,应用程序无法使用目标 Aurora 数据库。
-
更改数据捕获(CDC)– 使用此选项可使您的目标数据库在迁移过程中保持可用。Aurora 会将源数据库中正在进行的更改迁移到目标数据库。
-
-
Aurora 会创建必要的资源来推动迁移。Aurora 在创建所需资源后,会通知您已创建的资源并允许您启动数据传输。
完成迁移所需的时间取决于复制的类型和源数据库的大小。
先决条件
-
设置网络(对于同一区域、账户和 VPC 中的 EC2,可以跳过此步骤)
-
设置源数据库和目标数据库
-
MySQL
对于源数据库,请遵循以下基本先决条件:
对于目标数据库,请遵循以下基本先决条件:
此外,从 MySQL 源数据库迁移时,您的 Aurora 账户必须具有复制管理员角色。您还必须为该角色应用适当的权限。
-
(PostgreSQL)
对于源数据库,请遵循以下先决条件:
对于目标数据库,请遵循以下先决条件:
注意
一些 AWS DMS 事务在被 DMS 引擎再次使用之前会空闲一段时间。在 PostgreSQL 版本 9.6 及更高版本中使用参数
idle_in_transaction_session_timeout,能够导致空闲事务超时并失败。
-
限制
以下限制适用于自动迁移过程:
注意
尽管基础 AWS DMS 工具在特定迁移场景中支持选择规则,但自动将数据库迁移到 Aurora 功能却不支持。