本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
要设置 DMS 架构转换,请完成以下任务。然后,您可以设置实例配置文件、添加数据提供程序并创建迁移项目。
基于 Amazon VPC 创建 VPC
在此步骤中,您将在中创建虚拟私有云 (VPC) AWS 账户。此 VPC 基于 Amazon Virtual Private Cloud(Amazon VPC)服务,并包含 AWS 资源。
为 DMS 架构转换创建 VPC
登录 AWS Management Console 并打开 Amazon VPC 控制台,网址为https://console.aws.amazon.com/vpc/
。 -
选择创建 VPC。
-
在创建 VPC 页面上,输入以下设置:
-
要创建的资源 – VPC 等
-
名称标签自动生成 – 选择自动生成,然后输入一个全局唯一名称。例如,输入
sc-vpc
。 -
IPv4 CIDR 块 —
10.0.1.0/24
-
NAT 网关 – 在 1 个可用区中
-
VPC 端点 – 无
-
-
保留其余默认设置,然后选择创建 VPC。
-
选择子网,记下您的公有子网和私有子网 IDs。
要连接到 Amazon RDS 数据库,请使用包含公共子网的子网组。
要连接到本地数据库,请使用包含专用子网的子网组。有关更多信息,请参阅 为 DMS 架构转换创建实例配置文件。
-
选择 NAT 网关。选择您的 NAT 网关,并记下弹性 IP 地址。
配置您的网络,确保它 AWS DMS 可以从此 NAT 网关的公有 IP 地址访问您的源本地数据库。有关更多信息,请参阅 使用互联网连接到 VPC。
当您在 Amazon RDS 上创建实例配置文件和目标数据库时,请使用此 VPC。
创建 Amazon S3 存储桶
要存储迁移项目的信息,可创建 Amazon S3 存储桶。DMS 架构转换使用此 Amazon S3 存储桶来保存条目,如评测报告、转换后的 SQL 代码、有关数据库架构对象的信息等等。
为 DMS 架构转换创建 Amazon S3 存储桶
登录 AWS Management Console 并打开 Amazon S3 控制台,网址为https://console.aws.amazon.com/s3/
。 -
选择创建存储桶。
-
在创建存储桶页面上,为 S3 存储桶选择一个全局唯一名称。例如,输入
sc-s3-bucket
。 -
对于 AWS 区域,选择区域。
-
对于存储桶版本控制,选择启用。
-
保留其余默认设置,然后选择创建存储桶。
将数据库凭据存储在 AWS Secrets Manager
将您的源数据库和目标数据库凭据存储在中 AWS Secrets Manager。确保将这些秘密复制到您的 AWS 区域. 在迁移项目中,DMS 架构转换将使用这些密钥连接到数据库。
将您的数据库凭据存储在 AWS Secrets Manager
-
登录 AWS Management Console 并打开 AWS Secrets Manager 控制台,网址为https://console.aws.amazon.com/secretsmanager/
。 -
选择存储新密钥。
-
将打开选择密钥类型页面。对于密钥类型,选择要存储的数据库凭证类型:
-
适用于 Amazon RDS 数据库的凭证 – 选择此选项,存储适用于 Amazon RDS 数据库的凭证。对于凭证,输入数据库的凭证。对于数据库,选择您的数据库。
-
适用于其他数据库的凭证 – 选择此选项,存储适用于 Oracle 或 SQL Server 源数据库的凭证。对于凭证,输入数据库的凭证。
-
其他类型的密钥 – 选择此选项,仅存储用于连接数据库的用户名和密码。选择添加行,以添加两个键值对。请务必使用
username
和password
作为密钥名称。对于与这些密钥相关的值,输入数据库的凭证。
-
-
对于加密密钥,选择 Secrets Manager 用于加密密 AWS KMS 钥值的密钥。选择下一步。
-
在配置密钥页面上,输入描述性的密钥名称。例如,输入
sc-source-secret
或sc-target-secret
。 -
选择复制密钥,然后在 AWS 区域中选择区域。选择下一步。
-
在配置旋转页面,选择下一步。
-
在审核页面上,审核密钥详细信息,然后选择存储。
要存储源数据库和目标数据库的凭证,请重复上述步骤。
创建 IAM policy
为访问 Amazon S3 的 DMS 架构转换创建 IAM 策略
登录 AWS Management Console 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择策略。
-
选择创建策略。
-
在选择服务页面上,从列表中选择 Amazon S3。
-
在 “允许的操作” 中
PutObject
,选择GetObject
、GetObjectVersion
、GetBucketVersioning
、、GetBucketLocation
、ListBucket
。 -
在资源中,指定您在上一节中创建的存储桶的 ARN。选择下一步。
-
在 “查看并创建” 页面上,输入描述性名称。例如:
sc-s3-policy
。然后选择创建策略。
为 DMS 架构转换访问创建 IAM 策略 AWS Secrets Manager
登录 AWS Management Console 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择策略。
-
选择创建策略。
-
在选择服务页面上,从列表中选择 S ecrets Manager。
-
选择下一步。将打开添加权限页面。
-
在 “允许的操作” 中,选择:
GetSecretValue
和DescribeSecret
。 -
在 “查看并创建” 页面上,输入描述性名称。例如:
sc-secrets-manager-policy
。然后选择创建策略。
创建 IAM 角色
创建要在迁移项目中使用的 AWS Identity and Access Management (IAM) 角色。DMS 架构转换使用这些 IAM 角色,访问 Amazon S3 存储桶以及存储在 AWS Secrets Manager中的数据库凭证。
创建 IAM 角色以提供对 Amazon S3 存储桶的访问权限
登录 AWS Management Console 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择角色。
-
选择创建角色。
-
在选择可信实体页面上,选择 AWS 服务。选择 DMS。
-
选择下一步。将打开添加权限页面。
-
在筛选策略中,输入
S3
。选择您在上一节中创建的 sc-s3-policy 策略。 -
选择下一步。将打开命名、检查并创建页面。
-
对于角色名称,输入一个描述性名称。例如,输入
sc-s3-role
。选择 Create role(创建角色)。 -
在角色页面上,在角色名称中输入
sc-s3-role
。选择 sc-s3-role。 -
在 sc-s3-role 页面上,选择信任关系选项卡。选择编辑信任策略。
-
在编辑信任策略页面上,编辑要使用的角色
schema-conversion.dms.amazonaws.com
和您的 AWS DMS 区域服务主体作为可信实体的信任关系。该 AWS DMS 区域服务主体采用以下格式:dms.region-name.amazonaws.com
region-name
替换为您所在地区的名称,例如us-east-1
:以下代码示例显示了该us-east-1
地区的委托人:dms.us-east-1.amazonaws.com
以下代码示例显示了用于访问 AWS DMS 架构转换的信任策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.us-east-1.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
创建提供访问权限的 IAM 角色 AWS Secrets Manager
登录 AWS Management Console 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择角色。
-
选择创建角色。
-
在选择可信实体页面上,选择 AWS 服务。选择 DMS。
-
选择下一步。将打开添加权限页面。
-
在筛选策略中,输入
s3
。选择sc-secrets-manager-policy您在上一节中创建的。 -
选择下一步。将打开命名、检查并创建页面。
-
对于角色名称,输入一个描述性名称。例如,输入
sc-secrets-manager-role
。选择 Create role(创建角色)。 -
在角色页面上,在角色名称中输入
sc-secrets-manager-role
。选择 sc-secrets-manager-role。 -
在sc-secrets-manager-role页面上,选择信任关系选项卡。选择编辑信任策略。
-
在编辑信任策略页面上,编辑要使用的角色
schema-conversion.dms.amazonaws.com
和您的 AWS DMS 区域服务主体作为可信实体的信任关系。该 AWS DMS 区域服务主体采用以下格式:dms.region-name.amazonaws.com
region-name
替换为您所在地区的名称,例如us-east-1
:以下代码示例显示了该us-east-1
地区的委托人:dms.us-east-1.amazonaws.com
以下代码示例显示了用于访问 AWS DMS 架构转换的信任策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.us-east-1.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
创建用于 AWS CLI 或 AWS DMS API 的 I dms-vpc-role
AM 角色
-
使用以下 IAM policy 创建 JSON 文件。将 JSON 文件命名为
dmsAssumeRolePolicyDocument.json
。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
然后,使用以下命令使用 AWS CLI 创建角色:
aws iam create-role --role-name dms-vpc-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument.json
-
dms-vpc-role
使用以下命令将AmazonDMSVPCManagementRole
策略附加到:aws iam attach-role-policy --role-name dms-vpc-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole
创建用于 AWS CLI 或 AWS DMS API 的 I dms-cloudwatch-logs-role
AM 角色
-
使用以下 IAM policy 创建 JSON 文件。将 JSON 文件命名为
dmsAssumeRolePolicyDocument2.json
。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
然后,使用以下命令使用 AWS CLI 创建角色:
aws iam create-role --role-name dms-cloudwatch-logs-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument2.json
-
dms-cloudwatch-logs-role
使用以下命令将AmazonDMSCloudWatchLogsRole
策略附加到:aws iam attach-role-policy --role-name dms-cloudwatch-logs-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole