使用 Amazon Database Migration Service 将 EC2 数据库自动迁移到 Amazon Aurora - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Amazon Database Migration Service 将 EC2 数据库自动迁移到 Amazon Aurora

您可以使用 Aurora 控制台将 EC2 数据库迁移到 AuroraAurora 使用 Amazon Database Migration Service(Amazon DMS)迁移您的源 EC2 数据库。Amazon DMS 允许您将关系数据库迁移到 Amazon 云中。有关 Amazon Database Migration Service 的更多信息,请参阅《Amazon Database Migration Service 用户指南》中的什么是 Amazon Database Migration Service?

要开始迁移,您必须创建等效的 Aurora 数据库集群,以将数据迁移到其中。创建目标数据库后,您可以将 EC2 数据库导入其中。对于小于 1 TiB 的源数据库,此迁移操作可减少将数据迁移到 Aurora 所需的时间和资源。

概览

Aurora 控制台允许您将 EC2 数据库迁移到等效的 Aurora 数据库中。您必须创建 Aurora 数据库,才能从控制台进行迁移。

您可以为以下数据库引擎迁移 EC2 数据库:

  • MySQL

  • PostgreSQL

该迁移过程涉及到以下步骤:

  • Aurora 中创建等效的数据库。为了使这些数据库具有等效性,它们必须具有相同的数据库引擎和兼容的引擎版本。它们还必须位于同一 VPC 中。有关创建数据库的说明,请参阅 创建 Amazon Aurora 数据库集群

  • 选择数据库的复制类型:

    • 完全加载迁移Aurora 将完整的源数据库复制到目标数据库,并在必要时在目标中创建新表。

      注意

      此选项会导致您的 Aurora 数据库中断。

    • 完全加载和更改数据捕获(CDC)迁移 – 与完全加载迁移类似,使用此选项,Aurora 会将完整的源数据库复制到目标数据库。但是,在完全加载迁移之后,Aurora 会将源中捕获的任何更改应用于目标数据库。更改数据捕获通过使用数据库引擎的本机 API 来收集对数据库日志的更改。

      注意

      此选项会导致您的 Aurora 数据库中断。

    • 更改数据捕获(CDC)– 使用此选项可使您的目标数据库在迁移过程中保持可用。Aurora 会将源数据库中正在进行的更改迁移到目标数据库。

  • Aurora 会创建必要的联网资源来促进迁移。Aurora 在创建所需资源后,会通知您已创建的资源并允许您启动数据传输。

    完成迁移所需的时间取决于复制的类型和源数据库的大小。

先决条件

MySQL

在开始将 MySQL 数据库用作源数据库之前,请确保满足以下先决条件。这些先决条件适用于 Amazon 托管的源。

您必须拥有具有复制管理员角色的 Amazon DMS 的账户。该角色需要以下权限:

  • REPLICATION CLIENT – 仅 CDC 任务需要此权限。换而言之,full-load-only 任务不需要此权限。

  • REPLICATION SLAVE – 仅 CDC 任务需要此权限。换而言之,full-load-only 任务不需要此权限。

Amazon DMS 用户还必须具有为复制指定的源表的 SELECT 权限。

如果您使用 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

在从 Amazon 托管的 PostgreSQL 源数据库迁移数据之前,请执行以下操作:

  • 我们建议您使用具有 PostgreSQL 数据库实例所需最低权限的 Amazon 用户账户作为 Amazon DMS 的 PostgreSQL 源端点的用户账户。建议不要使用主账户。该账户必须具有 rds_superuserrds_replication 角色。rds_replication 角色可授予管理逻辑时隙和使用逻辑时隙流式处理数据的权限。

注意

一些 Amazon DMS 事务在被 DMS 引擎再次使用之前会空闲一段时间。在 PostgreSQL 版本 9.6 及更高版本中使用参数 idle_in_transaction_session_timeout,能够导致空闲事务超时并失败。

限制

以下限制适用于自动迁移过程:

  • 您的目标数据库状态必须为可用才能开始源数据库迁移。

  • 当从 MySQL 源数据库迁移时,您的 Aurora 账户必须具有复制管理员角色。您还必须为该角色应用适当的权限。

  • EC2 实例和目标数据库必须位于同一 VPC 中。

  • 使用从 EC2 数据库迁移数据操作时,您无法将 EC2 数据库迁移到以下目标数据库:

    • Aurora global database

    • Aurora Limitless database

    • Aurora Serverless v1

    • MySQL 版本低于 5.7 的数据库

    • PostgreSQL 版本低于 10.4 的数据库