问:AWS Database Migration Service 可以帮助我将 Oracle PL/SQL 和 SQL Server T-SQL 代码转换为 Amazon Aurora 或 MySQL 和 PostgreSQL 存储过程吗?

可以。AWS Database Migration Service 免费提供 AWS Schema Conversion Tool (SCT),可以自动将 Oracle PL/SQL 和·SQL Server T-SQL 代码转换为使用 SQL·的 Amazon Aurora/MySQL 语法的等效代码,或者转换为 PostgreSQL 中的等效 PL/pgSQL 代码。如果遇到无法自动转换为目标语言的代码段,SCT 会明确记录需要应用程序开发人员手动输入的所有位置。

开始使用 AWS Database Migration Service

创建免费账户

问:如何开始使用 AWS Database Migration Service?

您可以快速而轻松地开始使用 AWS Database Migration Service。大多数数据复制任务可在 10 分钟内设置完毕。请访问 AWS 管理控制台的“AWS Database Migration Service”部分,然后进入“Start Migration”向导。指定来源和目标终端节点,选择现有复制实例或新建一个,然后接受默认的架构映射规则或定义您自己的转换。完成该向导后,会立即开始数据复制。

问:除了一次性数据迁移外,我可以使用 AWS Database Migration Service 进行持续的数据复制吗?

可以。您可以使用 AWS Database Migration Service 将数据一次性迁移到基于 RDS 和 EC2 的数据库,也可以进行持续的数据复制。AWS Database Migration Service 会捕获来源数据库的变更,并将它们以事务一致的方式应用到目标。您可以从数据中心向 AWS 数据库进行持续复制,或者反过来,从 AWS 数据库向数据中心的数据库进行持续复制。此外,您也可以在同构或异构数据库之间进行持续复制。对于连续复制,建议使用多可用区选项,以实现高可用性。

问:AWS Database Migration Service (DMS) 与·AWS Schema Conversion Tool (SCT) 有什么关系?

DMS 与·SCT 配合工作,可以迁移数据库并支持持续复制,适用于填充数据集市和同步系统等多种用途。SCT 可以复制数据库架构以便进行同构迁移,还可以转换数据库架构以便进行异构迁移。架构可以在数据库之间迁移 (例如 Oracle 到·PostgreSQL),也可以在数据仓库之间迁移 (例如 Netezza 到 Amazon Redshift)。

在空目标上创建架构之后,可以根据数据量和/或支持的引擎选用 DMS 或·SCT 来移动数据。DMS 常用于移动较小的关系工作负载 (<10 TB) 和 MongoDB,而 SCT 主要用于迁移大型数据仓库工作负载。DMS 支持持续复制,可以让目标与来源保持同步,而 SCT 不能。

问:AWS Database Migration Service 支持哪些来源和目标?

AWS Database Migration Service (DMS) 支持一系列同构和异构数据复制。

来源或目标数据库(或两者)需要位于 RDS 中或 EC2 上。不支持在两个本地数据库之间复制。

问:AWS Schema Conversion Tool 支持哪些来源和目标?

AWS Schema Converstion Tool (SCT) 支持一系列数据库和数据仓库转换,详见此处。请注意,SCT 可以用于:

  • 将数据库架构从来源复制到目标
  • 转换数据库或数据仓库的架构
  • 分析数据库以便确定转换的复杂程度
  • 分析数据库以便确定在 Amazon RDS 上运行可能受到的限制
  • 分析数据库以便确定是否能实现许可证降级
  • 转换应用程序内嵌入的 SQL 代码
  • 将数据仓库的数据迁移到 Amazon Redshift

问:我为什么要使用 AWS Database Migration Service 而不是我自己的自主管理复制解决方案?

AWS Database Migration Service 非常容易使用。与必须进行安装和配置的自主管理复制解决方案相比,AWS Database Migration Service 的复制任务只需几分钟就能设置完毕,而不是几小时乃至几天。AWS Database Migration Service 可监控复制任务、网络或主机故障,并在主机出现无法修复的故障时自动调配替代主机。AWS Database Migration Service 用户无需过度调配容量和投资昂贵的硬件及复制软件(采用自主管理解决方案时,用户通常无法避免这些开支)。借助 AWS Database Migration Service,用户能够享受按需定价的好处,并可根据负载来扩展或缩小复制基础设施的规模。AWS Database Migration Service 数据复制与 AWS Schema Conversion Tool 紧密集成,简化了异构数据库迁移项目。

问:可以为我总结一下使用 AWS Database Migration Service 的数据库迁移步骤吗?

在典型的简单数据库迁移过程中,您需要创建目标数据库,迁移数据库架构,设置数据复制处理操作,启动完整负载和后续变更数据捕获并应用,最后,在目标数据库可替代来源数据库后,将生产环境切换到新的数据库。

问:在进行持续数据复制时,步骤有区别吗?

唯一的区别是最后一步(生产环境切换),持续数据复制不需要执行这一步。数据复制任务将一直运行,直到您更改或终止它。

问:我能监控数据库迁移任务的进度吗?

可以。AWS 管理控制台中显示了各种各样的 AWS Database Migration Service 指标。它提供了数据复制进程的端到端视图,包括复制管道中各个节点的诊断和性能数据。AWS Database Migration Service 还与 CloudTrail 和 CloudWatch Logs 等其他 AWS 服务集成。客户可以借助 AWS Database Migration Service API 和 CLI 与现有的工具集成或构建自定义监控工具,以契合自己的独特需求。

问:如何将 AWS Database Migration Service 与其他应用程序集成?

AWS Database Migration Service 提供了一种调配 API,让您能够从开发环境直接创建复制任务,或编写脚本以在一天中的预定时间创建。服务 API 和 CLI 使开发人员和数据库管理员能够实现自动创建、重启、管理和终止复制任务。

问:我能从加密数据来源复制数据吗?

可以。AWS Database Migration Service 能够读写加密数据库。AWS Database Migration Service 在 SQL 接口层连接数据库终端节点。如果您使用了 Oracle 或 SQL Server 的“透明数据加密”功能,则 AWS Database Migration Service 可从此类来源提取加密数据并复制到目标。这同样适用于存储级加密。只要 AWS Database Migration Service 拥有数据库来源的正确凭证,它就能连接来源并将数据传送(以加密形式)到目标。我们建议在模板上使用静态加密,以维护信息的机密性。如果您使用应用级加密,则数据将通过 AWS Database Migration Service 按原样(加密格式)传输,然后插入到目标数据库中。

问:AWS Database Migration Service 会替我迁移数据库架构吗?

要将数据库架构迅速迁移到目标实例,可以依靠 AWS Database Migration Service 的“基本架构复制”功能。“基本架构复制”会在目标实例中自动创建表和主键(如果目标不包含同名的表时)。当您需要执行测试迁移或异构数据库迁移(例如:Oracle 到 MySQL,或 SQL Server 到 Oracle)时,“基本架构复制”非常有用。“基本架构复制”不会迁移辅助索引、外键或存储过程。当您需要执行包含更多自定义内容的架构迁移时 (例如当您迁移生产数据库并需要移动存储过程和辅助数据库对象时),您可以使用 AWS Schema Conversion Tool 进行同构和异构迁移;如果是同构迁移,可以使用来源引擎原生的架构导出工具,例如:(1) SQL Server Management Studio 的“导入和导出向导”;(2) Oracle 的“SQL 开发人员数据库导出”工具或使用 dbms_metadata 程序包编写导出脚本;(3) MySQL 的“工作台迁移向导”。

问:我可以使用 DMS 执行双向复制吗?

不建议使用 DMS 执行双向复制。典型的复制方案包括一个源和一个目标。当源终端节点与目标终端节点不同时,DMS 将确保事务完整性。在双向复制中,这些源和目标可以掉换;如果两个不同的复制任务更新了同一行,则可能会产生非预期结果。如果从源更新到目标的表在逻辑上独立于从目标更新到源的表,则双向复制为最佳选择。

问:DMS 的费用是多少?

您可以在 DMS 定价页面找到完整的定价详细信息。您还可以体验免费 DMS,在向 Aurora 迁移数据库时免费使用 DMS 6 个月。