亚马逊AWS官方博客
新功能:AWS Database Migration Service 中的完全托管架构转换
自我们在 2016 年推出 AWS Database Migration Service (AWS DMS) 以来,客户已在最少的停机时间内将超过 800,000 个数据库安全地迁移到 AWS。AWS DMS 支持在 20 多个数据库和分析引擎之间迁移,例如,Oracle 到 Amazon Aurora MySQL、MySQL 到 Amazon Relational Database(Amazon RDS)MySQL、Microsoft SQL Server 到 Amazon Aurora PostgreSQL、MongoDB 到 Amazon DocumentDB、Oracle 到 Amazon Redshift 以及往返于 Amazon Simple Storage Service(Amazon S3)之间。
具体而言,AWS Schema Conversion Tool(AWS SCT)使异构数据库和数据仓库迁移变得可预测,并且可以自动将源架构和大多数数据库代码对象(包括视图、存储过程和函数)转换为与目标引擎兼容的格式。例如,它支持将 Oracle PL/SQL 和 SQL Server T-SQL 代码转换为 SQL 的 Amazon Aurora MySQL 方言中的等效代码或 PostgreSQL 中的 PL/pgSQL 等效代码。您可以下载适用于您的平台的 AWS SCT,包括 Windows 或 Linux(Fedora 和 Ubuntu)。
今天,我们宣布推出完全托管的 AWS DMS Schema Conversion,可在 AWS DMS 中进行架构评估和转换,简化数据库迁移。借助 DMS Schema Conversion,现在您可以在一项中央 DMS 服务下进行规划、评估、转换和迁移。您无需下载和执行 AWS SCT,即可在 AWS 管理控制台中访问 DMS Schema Conversion 的各项功能。
AWS DMS Schema Conversion 会自动将您的源数据库架构和大多数数据库代码对象转换为与目标数据库兼容的格式。这包括表、视图、存储过程、函数、数据类型、同义词等,类似于 AWS SCT。任何无法自动转换的对象都会被明确标记为操作项,并附有关于如何手动迁移到 AWS 的规范性说明。
在本次发布中,DMS Schema Conversion 支持将以下数据库作为迁移项目的来源:
- Microsoft SQL Server 2008 R2 版及更高版本
- Oracle 10.2 版及更高版本、11g 及更高版本 12.2、18c 和 19c
DMS Schema Conversion 支持将以下数据库作为迁移项目的目标:
- Amazon RDS for MySQL 8.x 版本
- Amazon RDS for PostgreSQL 14.x 版本
设置 AWS DMS Schema Conversion
要开始使用 DMS Schema Conversion,如果这是您第一次使用 AWS DMS,请完成设置任务,使用 Amazon VPC 服务、源和目标数据库创建虚拟私有云(VPC)。要了解更多信息,请参阅 AWS 文档中的 AWS Database Migration Service 的先决条件。
在 AWS DMS 控制台中,您可以看到用于设置实例配置文件、添加数据提供商和创建迁移项目的新菜单。
在创建迁移项目之前,通过在左侧窗格中选择 Instance profiles(实例配置文件)来设置实例配置文件。实例配置文件为您的 DMS Schema Conversion 实例指定网络和安全设置。您可以创建多个实例配置文件,然后为每个迁移项目选择一个实例配置文件。
选择 Create instance profile(创建实例配置文件),并指定您的默认 VPC 或新 VPC、用于存储架构转换元数据的 Amazon Simple Storage Service(Amazon S3)存储桶以及其他设置,例如 AWS Key Management Service(AWS KMS)密钥。
您可以使用单个 VPC 配置创建最简单的网络配置。 如果您的源或目标数据提供商位于不同的 VPC 中,则可以在其中一个 VPC 中创建您的实例配置文件,然后使用 VPC 对等连接来链接这两个 VPC。
接下来,您可以通过在左侧窗格中选择 Data providers(数据提供商),添加存储有关源和目标数据库的数据存储类型和位置信息的数据提供商。对于每个数据库,您可以创建一个数据提供商,并在多个迁移项目中使用它。
您的数据提供商可以是完全托管的 Amazon RDS 实例,也可以是运行在本地或 Amazon Elastic Compute Cloud(Amazon EC2)实例上的自管理引擎。
选择 Create data provider(创建数据提供商)以创建新的数据提供商。您可以为数据提供商手动设置数据库位置的类型,例如数据库引擎、域名或 IP 地址、端口号、数据库名称等。在这里,我选择了一个 RDS database instance(RDS 数据库实例)。
创建数据提供商后,请确保在 AWS Secrets Manager 中添加数据库连接凭证。DMS Schema Conversion 使用此信息连接到数据库。
使用 AWS DMS Schema Conversion 转换您的数据库架构
现在,您可以通过在左窗格中选择 Migration projects(迁移项目)来创建 DMS Schema Conversion 的迁移项目。迁移项目描述了您的源和目标数据提供商、您的实例配置文件和迁移规则。您还可以为不同的源和目标数据提供商创建多个迁移项目。
选择 Create migration project(创建迁移项目),然后为 DMS Schema Conversion 选择您的实例配置文件以及源和目标数据提供商。
创建迁移项目后,您可以使用该项目来创建评估报告并转换数据库架构。从列表中选择您的迁移项目,然后选择 Schema conversion(架构转换)选项卡,然后单击 Launch schema conversion(启动架构转换)。
DMS Schema Conversion 中的迁移项目始终是无服务器的。这意味着 AWS DMS 会自动为您的迁移项目预置云资源,因此您无需管理架构转换实例。
当然,首次启动 DMS Schema Conversion 需要启动架构转换实例,这最多可能需要 10-15 分钟。此过程还从源数据库和目标数据库读取元数据。首次成功启动后,您可以更快地访问 DMS Schema Conversion。
DMS Schema Conversion 的一个重要功能是它会生成数据库迁移评估报告,该报告汇总了所有架构转换任务。它还详细说明了无法转换为目标数据库实例的数据库引擎的架构操作项。您可以在 AWS DMS 控制台中查看报告或将其导出为逗号分隔值 (.csv) 文件。
要创建评估报告,请选择要评估的源数据库架构或架构项目。选中复选框后,在源数据库窗格的 Actions(操作)菜单中选择 Assess(评估)。此报告将使用 .csv 文件存档在您的 S3 存储桶中。要更改 S3 存储桶,请在您的实例配置文件中编辑架构转换设置。
然后,您可以将转换后的代码应用到目标数据库或将其另存为 SQL 脚本。要应用转换后的代码,请在 Source data provider(源数据提供商)窗格中选择 Convert(转换),然后在 Target data provider(目标数据提供商)窗格中选择 Apply changes(应用更改)。
架构成功转换后,您可以使用 AWS DMS 进入数据库迁移阶段。要了解更多信息,请参阅 AWS 文档中的 开始使用 AWS Database Migration Service。
现已推出
AWS DMS Schema Conversion 现已推出,您可以在以下 AWS 区域立即开始使用:美国东部(俄亥俄州)、美国东部(弗吉尼亚州北部)、美国西部(俄勒冈州)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、欧洲地区(法兰克福)、欧洲地区(爱尔兰)和欧洲地区(斯德哥尔摩)。
要了解更多信息,请参阅 AWS DMS Schema Conversion 用户指南,进行试用,然后将反馈发送到 AWS DMS 的 AWS re:Post 或通过您常用的 AWS Support 联系人发送反馈。
– Channy