AWS Database Migration Service 常见问题

一般性问题

AWS Database Migration Service (AWS DMS) 是一项托管迁移和复制服务,可帮助您将数据库和分析工作负载快速、安全地迁移到 AWS。源数据库可在迁移过程中保持全面运行,从而最大程度地减少依赖该数据库的应用程序的停机时间。

AWS Database Migration Service 可以在广泛使用的开源商业数据库之间评估、转换和迁移您的数据。AWS Database Migration Service 支持同构迁移(例如从 Oracle 迁移至 Oracle),以及不同数据库之间的异构迁移(例如从 Oracle 或 Microsoft SQL Server 迁移至 Amazon Aurora)。

使用 AWS Database Migration Service,您还可以从支持的源中将数据低延迟、持续地复制到支持的目标。 例如,您可以从多个源复制到 Amazon Simple Storage Service(Amazon S3),以构建高度可用且可扩展的数据湖解决方案。

您还可以通过将数据流传输到 Amazon Redshift 来将数据库整合到 PB 级数据仓库中。了解更多有关受支持的源和目标数据库的信息。

您可以快速而轻松地开始使用 AWS Database Migration Service。大多数数据复制任务可在 10 分钟内设置完毕。

请访问 AWS 管理控制台的 AWS Database Migration Service 部分,然后进入“开始迁移”向导。指定来源和目标端点,选择现有复制实例或新建一个,然后接受默认的架构映射规则或定义您自己的转换。完成该向导后,会立即开始数据复制。

AWS DMS 是一个经济实惠的数据库和分析工作负载迁移选项。您只需为复制实例和任何其他日志存储付费。数据传输是免费的。您可以在 DMS 定价页面找到完整的定价详情。

作为 DMS 的一部分,AWS DMS Schema Conversion 可以免费使用。只需为使用的存储付费。

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

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

符合。AWS 管理控制台中显示了各种各样的 AWS Database Migration Service 指标。它提供了数据复制进程的端到端视图,包括复制管道中各个节点的诊断和性能数据。

AWS Database Migration Service 还与 CloudTrailCloudWatch Logs 等其他 AWS 产品集成。您可以借助 AWS Database Migration Service APIAWS 命令行界面(AWS CLI)与现有的工具集成或构建自定义监控工具,以契合自己的独特需求。

AWS Database Migration Service 提供了一种调配 API,让您能够从开发环境直接创建复制任务,或编写脚本以在一天中的预定时间创建。

服务 API 和 CLI 使开发人员和数据库管理员能够实现自动创建、重启、管理和终止复制任务。

支持的源和目标引擎

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

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

AWS DMS Serverless 支持热门的数据库和分析服务,例如 Oracle、Microsoft SQL Server、PostgreSQL、MySQL、Amazon Redshift、Amazon RDS、Amazon Aurora 等。查看受支持引擎的完整列表

AWS DMS Schema Conversion 支持一系列常见的数据库,详见此处

AWS Schema Conversion Tool(AWS SCT)支持一系列数据库和数据仓库转换,详见此处

查看 AWS DMS 同构数据迁移支持的引擎的完整列表,包括 PostgreSQL 和 MySQL。

架构转换

可以。AWS Database Migration Service 包含 AWS DMS Schema Conversion(DMS SC),可以自动将 Oracle PL/SQL 和 SQL Server T-SQL 代码转换为使用 SQL 的 Amazon RDS for MySQL 语法的等效代码,或者转换为 PostgreSQL 中的等效 PL/pgSQL 代码。

如果遇到无法自动转换为目标语言的代码段,DMS SC 会明确记录需要应用程序开发人员手动输入的位置。 此外,还可提供可下载版本,即 AWS Schema Conversion Tool(AWS SCT)

会,当您需要使用可自定义程度更高的架构迁移流程(例如,迁移生产数据库并且需要迁移存储的程序和二级数据库对象时)时,您可以使用 AWS DMS 的内置架构转换功能,以实现异构迁移。如果您进行的是同构迁移,则还可以下载 AWS Schema Conversion Tool 或者使用源引擎的原生架构导出工具,例如:

  1. SQL Server Management Studio 的导入和导出向导。
  2. Oracle 的 SQL 开发人员数据库导出工具或者使用 dbms_metadata 程序包进行导出的脚本。
  3. MySQL 的 Workbench 迁移向导。

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

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

无服务器

AWS Database Migration Service(AWS DMS)Serverless 可自动预置、监控和扩展资源,使您能够以更简单、更具成本效益的方式完成向 AWS 的数据库和分析迁移。使用 AWS DMS Serverless,您不再需要过度预置迁移资源或手动监控和扩展资源即可实现持续数据复制。AWS DMS Serverless 会优化资源以满足需求,因此您只需为使用的资源付费。这使其对持续数据复制以及不同源和目标引擎之间的复杂异构迁移等常见应用场景很有帮助。

是的,AWS DMS Serverless 可用于持续复制。DMS Serverless 支持单可用区和多可用区部署选项。

对于同构迁移,我们建议对支持的引擎使用 DMS 内置原生工具,因为该工具对用户来说非常熟悉,而且可以无缝迁移。您无需预置或监控迁移,只需按迁移期间的使用时间付费。要查看支持的引擎,请转到 DMS 文档页面

对于具有数据波动的异构迁移或持续数据复制,我们建议使用 AWS DMS Serverless,因为它可以自动监控和扩展资源以满足需求,无需手动干预或过度预置资源,从而为您节省时间和成本。相对而言,按需型实例有利于可预测的、稳定的数据传输,因为它们可以调整大小以改善性能和成本。有关支持的引擎,请参阅 AWS DMS Serverless 文档

是的,用于同构数据迁移的 AWS DMS 内置原生工具是无服务器的。它不使用复制实例,将根据需要自动监控和扩展迁移资源以实现无缝迁移。

迁移计划

AWS DMS Fleet Advisor 是 AWS Database Migration Service(AWS DMS)的一项完全托管式免费功能。它可以自动执行迁移计划,并帮助您轻松大规模地将数据库和分析机群迁移到云。 要发现本地数据库,您可以使用独立的 AWS DMS Fleet Advisor 收集器或 AWS Application Discovery Service(ADS)Agentless Collector 的数据库和分析收集模块。

AWS DMS Fleet Advisor 面向希望将大量数据库和分析服务器迁移到 AWS 的用户。准备好将数据库和分析工作负载迁移到 AWS 的目标服务后,应使用 AWS DMS Fleet Advisor 发现和分析 Online Transaction Processing(OLTP)和联机分析处理(OLAP)系统数据库工作负载。Fleet Advisor 允许您通过确定将源数据库迁移到 AWS 中的目标服务的复杂性来构建定制的迁移计划。

AWS Application Discovery Service(ADS)和 Migration Evaluator 针对广泛计算和连接的数据块存储发现。Migration Evaluator 供开始迁移,希望找到 AWS 的数据驱动业务场景的客户使用。ADS 用于向 AWS Migration Hub 提供数据,可视化服务器之间的依赖项,创建应用程序组,跟踪迁移进度。

对于大多数客户,我们建议在可用区域使用 AWS Application Discovery Service(ADS)Agentless Collector,因为它支持通过 AWS Migration Hub 进行服务器迁移,并允许您发现本地数据库。对于所有其他区域,我们建议使用 AWS DMS Fleet Advisor 收集器。从独立的 AWS DMS Fleet Advisor 收集器和 AWS ADS Agentless Collector 收集的数据库元数据和利用率指标将在 AWS DMS Fleet Advisor 中提供。

如果您有 VMware vCenter Server 环境,请使用 AWS ADS Agentless Collector,否则可以在 Microsoft Windows Server 2012 或更高版本上安装 AWS DMS Fleet Advisor 收集器。

生命周期策略

AWS DMS 支持生命周期策略指定了每个 DMS 版本的支持期,即从版本发布到不再受支持的时长。

支持生命周期策略旨在为每个 AWS DMS 版本发布提供可预测且一致的支持指南。该指南将有利于客户战略性地规划他们的迁移和升级。

每个 DMS 版本将在其首次发布后 18 个月终止支持。要了解所有现有 DMS 版本的最新时间表,请从 DMS 控制台转到新的“支持生命周期策略”部分。 

每个 AWS DMS 版本发布的支持时间表都将包含在相关的 DMS 发行说明中,以及您的 DMS 控制台中新的“支持生命周期策略”部分。如果您使用的版本将在 90 天内终止支持,则在“复制实例”下方的引擎版本旁边会显示一条警报。此外,AWS 每季度会向 DMS 实例所有者发送一次电子邮件提醒,提醒他们正在运行的版本下一季度将不再受支持。

该策略于 2023 年 1 月 1 日生效。所有在发布后 18 个月终止支持的实例都将自动升级到最新的首选 DMS 版本,不受自动升级设置影响。

DMS 服务将 DMS 的最新版本之一指定为首选版本。此首选版本是将用于自动升级的版本,是客户创建新 DMS 实例的默认选择。

新的 DMS 版本仅在广泛测试后发布。新版本发布后,DMS 服务团队会密切监控可靠性指标和客户反馈。若我们确信新版本没有重大问题,则会将该版本标记为新的首选版本,您可以在创建复制实例时看到该版本作为可选项。

AWS DMS 不区分主要版本和次要版本,也不打算采用不同的支持策略。 

如果您启用了自动升级,您的复制实例将在最新的首选版本可用时自动更新到该版本。如果您选择退出自动升级,一旦生命周期终止,AWS DMS 就会将您的实例更新到最新的首选版本,并在升级前通过电子邮件和控制台通知传达该信息。您可以在本 DMS 用户指南中了解有关如何使用 AWS 管理控制台或 AWS CLI 升级 DMS 引擎版本的更多信息。

默认情况下,复制实例中的自动升级设置处于打开状态。要使用 AWS CLI、DMS API 或控制台检查此设置或对其进行任何修改,可以使用此修改复制实例指南

如果迁移任务中的表处于复制持续更改阶段(CDC),则 AWS DMS 会在应用补丁时暂停该任务。在应用补丁后,再从中止的位置继续迁移。

如果应用补丁时,AWS DMS 正在运行满负载操作,则 AWS DMS 会重新启动表的迁移。这些升级将在为复制实例指定的维护时段内进行。您可以在使用 AWS DMS 维护时段指南中找到更多详细信息。

在 DMS 版本的生命周期终止后,AWS DMS 可能会从控制台中删除发布版本并将您的复制实例升级到最新的首选版本,以便继续提供支持。我们建议您尽快升级到最新的 AWS DMS 版本。

您可以联系 AWS 开发人员支持以获取更多信息。