本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 AWS DMS Fleet Advisor 创建所需的 AWS 资源
DMSFleet Advisor 需要您的账户中有一组 AWS 资源来转发和导入库存信息,以及更新DMS数据收集器的状态。
在首次收集数据并创建数据库和架构清单之前,请完成以下先决条件。
要配置您的 Amazon S3 存储桶和IAM资源,请执行以下操作之一:
使用配置 Amazon S3 和IAM资源 AWS CloudFormation
CloudFormation 堆栈是您可以作为一个单元管理的 AWS 资源集合。为了简化为 DMS Fleet Advisor 创建所需资源的过程,您可以使用 AWS CloudFormation 模板文件来创建 CloudFormation 堆栈。有关更多信息,请参阅《AWS CloudFormation 用户指南》中的在 AWS CloudFormation 控制台上创建堆栈。
注意
本节仅适用于使用独立的 F DMS leet Advisor 收集器。要了解如何使用单个本地收集器收集有关数据库和服务器的信息,请参阅《AWS Application Discovery Service 用户指南》中的 Application Discovery Service Agentless Collector。
Amazon S3 和由创建的IAM资源 CloudFormation
当您使用 CloudFormation 模板时,他们会创建包含以下资源的堆栈: AWS 账户
-
一个名为
dms-fleetadvisor-data-
的 Amazon S3 存储桶accountId
-region
-
名为的IAM用户
FleetAdvisorCollectorUser-
region
-
名为的IAM服务角色
FleetAdvisorS3Role-
region
-
一个名为
FleetAdvisorS3Role-
的访问策略region
-Policy -
一个名为
FleetAdvisorCollectorUser-
的访问策略region
-Policy -
名为的IAM服务关联角色 (SLR)
AWSServiceRoleForDMSFleetAdvisor
按照下面列出的步骤使用配置您的资源 CloudFormation。
步骤 1:下载 CloudFormation模板文件
CloudFormation 模板是构成堆栈的 AWS 资源的声明。模板存储为JSON文件。
下载 CloudFormation 模板文件
-
打开以下链接之一的上下文(右键单击)菜单,然后选择将链接另存为:
-
如果你打算使用 DMS Fleet Advisor,请选择 dms-fleetadvisor-iam-slr-s3.zip。如果你已经为 DMS Fleet Advisor 创建了,请选择 dms-fleetadvisor-iam-s3.zip SLR
-
如果您计划使用 App AWS lication Discovery Service (ADS) 无代理收集器但尚未SLR为其创建,请选择 dms-fleetadvisor-ads-iam-slr-s3.zip。如果您之前已经SLR为 DMS Fleet Advisor 创建ADS过,请选择 dms-fleetadvisor-ads-iam-s3.zip。
-
-
将该文件保存到您的计算机。
第 2 步:配置 Amazon S3 并IAM使用 CloudFormation
当您使用 CloudFormation 模板时IAM,它会创建之前列出的 Amazon S3 和IAM资源。
配置 Amazon S3 并IAM使用 CloudFormation
-
在 https://console.aws.amazon.com/cloudformat
ion 上打开 CloudFormation 控制台。 -
通过在下拉列表中选择创建堆栈和使用新资源,启动“创建堆栈”向导。
-
在 Create stack(创建堆栈)页面上,执行以下操作:
-
对于 Prepare template(准备模板),选择 Template is ready(模板就绪)。
-
对于 Template source(模板来源),选择 Upload a template file(上载模板文件)。
-
在 “选择文件” 中,导航至,然后选择 dms-fleetadvisor-iam-slr-s3.json、-s3.j son。dms-fleetadvisor-iam 、dms-fleetadvisor-ads-iam-slr-s3.zip 或 dms-fleetadvisor-ads-iam-s3.zip。
-
选择下一步。
-
-
在指定堆栈详细信息页面中,请执行以下操作:
-
对于堆栈名称,输入
dms-fleetadvisor-iam-slr-s3
、dms-fleetadvisor-iam-s3
、dms-fleetadvisor-ads-iam-slr-s3
或dms-fleetadvisor-ads-iam-s3
。 -
请选择 Next(下一步)。
-
-
在 配置堆栈选项 页面上,请选择 下一步。
-
在 Review dms-fleetadvisor-iam-slr-s3、Re vie w dms-fleetadvisor-iam-s 3、Review dms-fleetadvisor-ads-iam-slr-s3 或 Review dms-fleetadvisor-ads-iam-s3 页面上,执行以下操作:
-
选中 “我确认 AWS CloudFormation 可能会使用自定义名称创建IAM资源” 复选框。
-
选择提交。
CloudFormation 创建 DMS Fleet Advisor 所需的 S3 存储桶、IAM角色和用户。在左侧面板中,当 dms-fleetadvisor-iam-slr-s3、dms-fleetadvisor-iam-s3、dms-fleetadvisor-ads-iam-slr-s3 或 dms-fleetadvisor-ads-iam-s3 显示 CREATE_ 时COMPLETE,继续下一步。
-
-
在左侧面板中,选择 dms-fleetadvisor-iam-slr-s3、3、-s dms-fleetadvisor-ads-iam lr-s dms-fleetadvisor-iam-s3 或-s3。dms-fleetadvisor-ads-iam在右侧面板中,执行以下操作:
-
选择堆栈信息。你的堆栈有一个 ID 格式为 arn: aws: clou dformation:
region
:account-no
:stack/-s3/ dms-fleetadvisor-iam-slridentifier
,arn: aws: cloudformatiregion
:account-no
:stack/ 3/ dms-fleetadvisor-iam-sidentifier
,arn: aws: cloudformatiregion
:account-no
:stack/-slr-s3/ dms-fleetadvisor-ads-iamidentifier
,或 arn: aws: cloudformationregion
:account-no
:stack/-s3/ dms-fleetadvisor-ads-iamidentifier
. -
选择资源。您将看到以下内容:
-
一个名为
dms-fleetadvisor-data-
的 Amazon S3 存储桶accountId
-region
-
一个名为
FleetAdvisorS3Role-
的服务角色region
-
名为的IAM用户
FleetAdvisorCollectorUser-
region
-
已IAMSLR命名
AWSServiceRoleForDMSFleetAdvisor
(如果您下载了dms-fleet-advisor-iam-slr-s3.zip
或dms-fleet-advisor-ads-iam-slr-s3.zip
)。 -
一个名为
FleetAdvisorS3Role-
的访问策略region
-Policy -
一个名为
FleetAdvisorCollectorUser-
的访问策略region
-Policy
-
-
在中配置 Amazon S3 和IAM资源 AWS Management Console
创建 Amazon S3 存储桶
创建可以存储清单元数据的 Amazon S3 存储桶。我们建议您在使用 DMS Fleet Advisor 之前预先配置此 S3 存储桶。 AWS DMS 将您的DMS舰队顾问库存元数据存储在此 S3 存储桶中。
有关创建 S3 存储桶的更多信息,请参阅《Amazon S3 用户指南》中的创建第一个 S3 存储桶。
注意
DMSFleet Advisor 仅支持 SSE-S3 加密存储桶。
创建 Amazon S3 存储桶以存储本地数据环境信息
登录 AWS Management Console 并打开 Amazon S3 控制台,网址为https://console.aws.amazon.com/s3/
。 选择创建存储桶。
在创建存储桶页面上,输入一个全球唯一的名称,其中包含您的存储桶登录名,例如 fa-bucket-
yoursignin
.选择在 AWS 区域 哪里使用DMS舰队顾问。
保留其余设置,然后选择创建存储桶。
创建IAM资源
在本节中,您将为数据收集器、IAM用户和 DMS Fleet Advisor 创建IAM资源。
为您的数据收集器创建IAM资源
为确保数据收集器正常工作,并将收集的元数据上传到 Amazon S3 存储桶,请创建以下策略。然后,创建具有以下最低权限的IAM用户。有关DMS数据收集器的更多信息,请参阅使用中的数据收集器发现要迁移的数据库 AWS DMS。
为 DMS Fleet Advisor 和您的数据收集器创建访问亚马逊 S3 的IAM策略
登录 AWS Management Console 并打开IAM控制台,网址为https://console.aws.amazon.com/iam/
。 在导航窗格中,选择策略。
选择创建策略。
在创建策略页面中,选择JSON选项卡。
JSON将以下内容粘贴到编辑器中,替换示例代码。将
替换为在上一节中创建的 Amazon S3 存储桶的名称。fa_bucket
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject*" ], "Resource": [ "arn:aws:s3:::
fa_bucket
", "arn:aws:s3:::fa_bucket
/*" ] } ] }选择下一步:标签和下一步:审核。
在名称* 中输入
FleetAdvisorS3Policy
,然后选择创建策略。
为DMS数据收集器创建访问 DMS Fleet Advisor 的IAM策略
登录 AWS Management Console 并打开IAM控制台,网址为https://console.aws.amazon.com/iam/
。 在导航窗格中,选择策略。
选择创建策略。
在创建策略页面中,选择JSON选项卡。
将以下JSON代码粘贴到编辑器中,替换示例代码。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dms:DescribeFleetAdvisorCollectors", "dms:ModifyFleetAdvisorCollectorStatuses", "dms:UploadFileMetadataList" ], "Resource": "*" } ] }
选择下一步:标签和下一步:审核。
在名称* 中输入
DMSCollectorPolicy
,然后选择创建策略。
创建具有最低使用DMS数据收集器权限的IAM用户
登录 AWS Management Console 并打开IAM控制台,网址为https://console.aws.amazon.com/iam/
。 在导航窗格中,选择用户。
选择添加用户。
在添加用户页面上,在用户名* 中输入
FleetAdvisorCollectorUser
。在 “选择访问类型” 中选择 “访问密钥-编程 AWS 访问”。选择下一步: 权限。在设置权限部分中,选择直接附加现有策略。
使用搜索控件查找并选择您之前创建的DMSCollectorPolicy和 FleetAdvisorS3Policy 策略。选择下一步:标签。
在标签页面上,选择下一步:审核。
在审核页面上,选择创建用户。在下个页面上,选择下载 .csv 以保存新的用户凭证。将这些凭证与 DMS Fleet Advisor 一起使用以获得所需的最低访问权限。
为 DMS Fleet Advisor 和您的数据收集器创建访问 Amazon S3 的IAM角色
登录 AWS Management Console 并打开IAM控制台,网址为https://console.aws.amazon.com/iam/
。 在导航窗格中,选择角色。
选择创建角色。
在选择可信实体页面中,在可信实体类型下选择 AWS 服务。对于其他 AWS 服务的用例,请选择DMS。
选中该DMS复选框并选择 “下一步”。
在添加权限页面上,选择 FleetAdvisorS3 Policy。选择下一步。
在命名、检查并创建页面上,在角色名称中输入
FleetAdvisorS3Role
,然后选择创建角色。在角色页面上,在角色名称中输入
FleetAdvisorS3Role
。选择 FleetAdvisorS3Role。在 FleetAdvisorS3Role 页面上,选择信任关系选项卡。选择编辑信任策略。
在编辑信任策略页面上,JSON将以下内容粘贴到编辑器中,替换现有文本。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "dms.amazonaws.com", "dms-fleet-advisor.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
上述策略向用于从 Amazon S3 存储桶导入收集数据的服务授予
sts:AssumeRole
权限。 AWS DMS选择更新策略。
创建 DMS Fleet Advisor 服务相关角色
DMSFleet Advisor 使用服务相关角色来管理您的 AWS 账户亚马逊 CloudWatch 指标。DMSFleet Advisor 使用此服务相关角色代表您向发布收集 CloudWatch 的数据库性能指标。
为 DMS Fleet Advisor 创建服务相关角色
登录 AWS Management Console 并打开IAM控制台,网址为https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择角色。然后,选择创建角色。
-
在可信实体类型中选择 AWS 服务。
-
对于其他 AWS 服务的用例,请选择 DMS— Fleet Advisor。
-
选中 DMS— Fleet Advisor 复选框并选择下一步。
-
在添加权限页面上,选择下一步。
-
在命名、检查并创建页面上,选择创建角色。
或者,您可以通过 AWS API或 AWS CLI创建此服务相关角色。有关更多信息,请参阅 为 AWS DMS Fleet Advisor 创建服务相关角色。
为 DMS Fleet Advisor 创建服务相关角色后,您可以在目标推荐中查看源数据库的性能指标。此外,您还可以在自己的 CloudWatch 账户中看到这些指标。有关更多信息,请参阅 目标建议。
创建 DMS Fleet Advisor 服务相关角色所需的IAM策略
DMSFleetAdvisorCreateServiceLinkedRolePolicy
策略中指定了创建服务相关角色所需的最低权限。如果您无法创建服务相关角色,请为您的账户创建此IAM政策。
登录 AWS Management Console 并打开IAM控制台,网址为https://console.aws.amazon.com/iam/
。 在导航窗格中,选择策略。
选择创建策略。
在创建策略页面中,选择JSON选项卡。
将以下JSON代码粘贴到编辑器中,替换示例代码。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/dms-fleet-advisor.amazonaws.com/AWSServiceRoleForDMSFleetAdvisor*", "Condition": {"StringLike": {"iam:AWSServiceName": "dms-fleet-advisor.amazonaws.com"}} }, { "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::*:role/aws-service-role/dms-fleet-advisor.amazonaws.com/AWSServiceRoleForDMSFleetAdvisor*" } ] }
选择下一步:标签和下一步:审核。
在名称* 中输入
DMSFleetAdvisorCreateServiceLinkedRolePolicy
,然后选择创建策略。
现在,您可以使用此策略为 DMS Fleet Advisor 创建服务相关角色。