View a markdown version of this page

使用 AWS Database Migration Service 将数据库自动迁移到 Amazon RDS - Amazon Relational Database Service

使用 AWS Database Migration Service 将数据库自动迁移到 Amazon RDS

您可以使用 RDS 控制台,将数据库从 EC2、本地或其他云提供商实例迁移到 RDS。AWS Database Migration Service(AWS DMS)可用于完成此任务。有关更多信息,请参阅《AWS Database Migration Service 用户指南》中的什么是 AWS Database Migration Service?

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

概述

使用 RDS 控制台,您可以将 EC2 上的数据库、本地数据库或其他云提供商数据库迁移到等效的 RDS 数据库中。您必须创建 RDS 数据库,才能从控制台进行迁移。

注意

为了使这些数据库具有等效性,它们必须具有相同的数据库引擎和兼容的引擎版本。

此方法可用于以下数据库引擎:

  • MySQL

  • MariaDB

  • PostgreSQL

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

  • RDS 中创建等效的数据库。然后,在源与目标之间建立合适的网络连接。对于同一区域、账户和 VPC 中的 EC2 实例,可以跳过网络设置步骤。有关更多信息,请参阅《AWS Database Migration Service 用户指南》中的设置网络。有关创建数据库的说明,请参阅 创建 Amazon RDS 数据库实例

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

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

      注意

      此选项要求停机。在迁移过程中,应用程序无法使用目标 RDS 数据库。

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

      注意

      此选项要求停机。在迁移过程中,应用程序无法使用目标 RDS 数据库。

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

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

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

先决条件

  • 设置网络(对于同一区域、账户和 VPC 中的 EC2,可以跳过此步骤)

  • 设置源数据库和目标数据库

    • MySQL 和 MariaDB

      对于源数据库,请遵循以下基本先决条件:

      对于目标数据库,请遵循以下基本先决条件:

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

    • (PostgreSQL

      对于源数据库,请遵循以下先决条件:

      对于目标数据库,请遵循以下先决条件:

      注意

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

限制

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

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

  • 您只能将源数据库迁移到满足下列条件的数据库:

    • 不是某个集群的成员

    • 使用支持的 MySQL、PostgreSQL 或 MariaDB 版本,如此处所列

  • DMS 的限制

注意

尽管基础 AWS DMS 工具在特定迁移场景中支持选择规则,但自动将数据库迁移到 RDS 功能却不支持。