加速您的数据库迁移之旅,使用 AWS DMS 模式转换 数据库博客

加速数据库迁移之旅:使用 AWS DMS 架构转换

关键要点

AWS 数据库迁移服务DMS能够支持同质和异构的数据库迁移,现已整合架构转换工具。新的 DMS 架构转换 (DMS SC) 允许用户从 AWS DMS 控制台直接评估、转换和迁移数据库。本文演示如何将 Amazon RDS for SQL Server 数据库转换为 Amazon Aurora PostgreSQL,涵盖配置、评估和转换过程。

AWS 数据库迁移服务AWS DMS可以加速你的数据库迁移到 AWS。它支持同质和异构迁移。过去,你需要下载 AWS 架构转换工具AWS SCT来评估和转换你的架构和代码对象。现在,通过 AWS DMS 架构转换DMS SC,你可以直接在 AWS DMS 控制台上评估、转换和迁移数据库及其代码对象。截至本文撰写时,DMS SC 支持 Oracle 和 SQL Server 源数据库,以及 Amazon RDS、Amazon Aurora 和 Amazon Redshift 目标数据库。未来将支持更多源和目标平台。有关支持的源和目标的完整列表,可以参考 这里 和 这里。

在本文中,我们将展示如何使用 DMS SC 将 Amazon RDS for SQL Server 数据库迁移至 Amazon Aurora PostgreSQL 兼容版。我们将指导你完成 DMS SC 的设置与配置、评估及转换过程,并在转换遇到问题时如何获取信息。

解决方案概述

DMS SC 能够评估和转换你的数据库对象,生成评估摘要、估计工作量并对无法自动转换的对象提供详细操作。在异构迁移中,DMS SC 将尝试将架构和代码对象转换为目标引擎的语法。如果没有直接转换的可能,它会列出解决方案。

下面的架构图展示了如何使用 DMS SC 将数据库对象从 RDS for SQL Server 数据库转换到 Amazon Aurora PostgreSQL。

DMS SC 的配置过程包括以下高层步骤:1 准备 DMS SC2 生成并查看评估报告3 转换数据库对象4 在 DMS SC 中监控迁移项目

先决条件

在实施此解决方案之前,你必须完成以下先决条件。

加速您的数据库迁移之旅,使用 AWS DMS 模式转换 数据库博客

设置 DMS 架构转换的网络

DMS SC 会在你指定的 VPC 和子网中配置架构转换资源。你必须设置与你的源数据库和目标数据库之间的连接。网络配置取决于源和目标数据库的位置。本文使用的 RDS for SQL Server 和 Aurora PostgreSQL 数据库在同一个 VPC 中。我们将在同一个 VPC 中配置 DMS SC,并在安全组中添加 ingress 规则,以允许 DMS SC 从 Amazon RDS for SQL Server 和 Amazon Aurora PostgreSQL 连接。如果想了解更多其他网络配置,请参阅 为 DMS 架构转换设置网络。

在 AWS Secrets Manager 中存储数据库凭证

DMS SC 使用存储在 AWS Secrets Manager 中的密钥连接到你的数据库。有关将源和目标凭证添加到 Secrets Manager 的说明,请参阅 在 AWS Secrets Manager 中存储数据库凭证。

机场官网梯子

创建 Amazon S3 存储桶

DMS SC 会将评估报告、转换后的 SQL 代码以及有关数据库架构对象的信息保存至 Amazon 简单存储服务Amazon S3存储桶。请按照以下步骤创建一个名为 dmsscdemo 的 S3 存储桶:1 在 Amazon S3 控制台中,选择导航窗格中的 Buckets。2 选择 Create bucket。3 将桶命名为 dmsscdemo。4 对于 AWS Region,选择你计划启动 DMS SC 的 AWS 区域。5 选择 Enable 启用 Bucket Versioning。6 创建存储桶。

创建 IAM 角色

DMS SC 使用 AWS 身份与访问管理IAM角色来访问 Amazon S3 和 Secrets Manager 中存储的数据库凭证。对于本文,我们创建两个角色。

首先,创建角色 scs3role 以便 DMS SC 访问 S3 存储桶,步骤如下:1 在 IAM 控制台中,选择导航窗格中的 Roles。2 选择 Create role。3 对于 Trusted entity type,选择 AWS service。4 对于 Service or use case,选择 DMS。5 选择 Next。6 在 Add permissions 页面,选择策略 AmazonS3FullAccess。DMS SC 使用 S3 存储桶存储数据库架构和代码对象、评估报告和转换后的 SQL 代码等工件。7 选择 Next。8 对于 Role name,输入 scs3role。9 选择 Create role。10 在 scs3role 页面,选择 Trust relationships 标签。这将委派访问并允许 DMS 服务在 S3 存储桶上执行操作。11 选择 Edit trust policy。12 编辑角色的信任关系,使其使用 schemaconversiondmsamazonawscom 服务主体作为受信实体。13 编辑角色的信任策略,以在 AWS DMS 主体中包含区域名称,例如 dmsuseast1amazonawscom,其中的 useast1 是 DMS SC 将启动的区域。14 选择 Update policy。

接下来,创建角色 scsecretsmanagerrole 以便 DMS SC 访问 Secrets Manager。

选择导航窗格中的 Roles。选择 Create role。对于 Trusted entity type,选择 AWS service。对于 Service or use case,选择 DMS。对于 Use case,选择 DMS。选择 Next。在 Add permissions 页面,选择策略 SecretsManagerReadWrite。选择 Next。对于 Role name,输入 scsecretsmanagerrole。选择 Create role。AWS DMS 区域服务主体格式为 dmsregionnameamazonawscom。编辑你创建的角色的信任策略,包含区域名称以及添加信任关系以使用 schemaconversiondmsamazonawscom。

完成这些先决条件后,你现在可以设置解决方案了。

准备 DMS 架构转换

在本节中,我们将介绍配置 DMS SC 的步骤。

设置实例配置文件

实例配置文件指定 DMS SC 使用的网络、安全和 Amazon S3 设置。创建实例配置文件的步骤如下:1 在 AWS DMS 控制台中,选择导航窗格中的 Instance profiles。2 选择 Create instance profile。3 在 Name 中输入名称例如,dmsscprofile。4 在 Network type 中,这次演示我们将使用 IPv4。DMS SC 还有另一种选项叫 DualStack mode,支持 IPv4 和 IPv6。5 在 Virtual private cloud (VPC) for IPv4 中选择 Default VPC。6 在 Subnet group 中选择你的子网组在本文中为 dmsscsubnet。7 在 VPC security groups 中选择你的安全组。

如前所述,实例配置文件的 VPC 安全组必须能够访问源和目标数据库。

指定用于存储架构转换元数据的 S3 存储桶。创建实例配置文件。

添加数据提供者

数据提供者存储数据库类型以及有关要连接的源和目标数据库的信息。通过以下步骤配置源和目标数据库的数据提供者:1 在 AWS DMS 控制台中,选择导航窗格中的 Data providers。2 选择 Create data provider。3 创建目标时,在 Name 中输入名称例如,AuroraPostgreSQL。4 在 Engine type 中选择 Amazon Aurora PostgreSQL。5 在 Engine configuration 中选择 RDS database instance。6 在 Database from RDS 中输入 IP 地址。7 在 Port 中输入端口号。8 在 Database name 中输入你的数据库名称。

重复类似步骤创建源数据提供者。

创建迁移项目

DMS SC 迁移项目定义迁移实体,包括实例配置文件、源和目标数据提供者以及迁移规则。创建迁移项目的步骤如下:1 在 AWS DMS 控制台中,选择导航窗格中的 Migration projects。2 选择 Create migration project。3 在 Name 中输入识别你的迁移项目的名称例如,dmascdemo。4 在 Instance profile 中选择你创建的实例配置文件。5 在 Data providers 部分,输入源和目标数据提供者、Secrets Manager 密钥和 IAM 角色。6 在 Schema conversion settings 部分,输入 S3 URI 并选择适用的 IAM 角色。 7 选择 Create migration project。

生成并查看评估报告

在本节中,你将生成并查看评估报告。

启动 DMS 架构转换

DMS SC 中的迁移项目是无服务器的。AWS DMS 自动配置云资源以进行迁移项目,连接到源和目标数据库,并提取源和目标数据库的元数据。我们在整个过程中使用 Microsoft 的 AdventureWorks 数据库。

按以下步骤启动 DMS SC:1 在 AWS DMS 控制台中,选择导航窗格中的 Migration projects。2 选择你创建的迁移项目。3 在 Schema conversion 选项卡上,选择 Launch schema conversion。

架构转换项目在启动完成后即会准备就绪。左侧的导航树表示源数据库,右侧的导航树表示目标数据库。

生成评估报告

通过以下步骤生成评估报告:1 在源数据提供者中选择你希望评估的数据库或架构。![选择评估对象](https//d2908q01vomqb2cloudfrontnet/887309d048beef83ad3eabf2a79a64a

使用 tdsfdw 扩展将数据从 SQL Server 迁移至 PostgreSQL关键要点在本文中,我们将介绍如何使用 tdsfdw 扩展将 SQL Server 中的数据迁移到 PostgreSQ...

如何从零开始成为生成式AI构建者关键要点学习平台:使用 Amazon SageMaker Studio 和 AWS Skill Builder 快速入门。实践机会:通过 AWS Jam Journey...