为 AWS DMS Fleet Advisor 创建所需的 AWS 资源 - AWS 数据库迁移服务

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 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-accountId-region 的 Amazon S3 存储桶

  • 名为的IAM用户 FleetAdvisorCollectorUser-region

  • 名为的IAM服务角色 FleetAdvisorS3Role-region

  • 一个名为 FleetAdvisorS3Role-region-Policy 的访问策略

  • 一个名为 FleetAdvisorCollectorUser-region-Policy 的访问策略

  • 名为的IAM服务关联角色 (SLR) AWSServiceRoleForDMSFleetAdvisor

按照下面列出的步骤使用配置您的资源 CloudFormation。

步骤 1:下载 CloudFormation模板文件

CloudFormation 模板是构成堆栈的 AWS 资源的声明。模板存储为JSON文件。

下载 CloudFormation 模板文件
  1. 打开以下链接之一的上下文(右键单击)菜单,然后选择将链接另存为

  2. 将该文件保存到您的计算机。

第 2 步:配置 Amazon S3 并IAM使用 CloudFormation

当您使用 CloudFormation 模板时IAM,它会创建之前列出的 Amazon S3 和IAM资源。

配置 Amazon S3 并IAM使用 CloudFormation
  1. https://console.aws.amazon.com/cloudformat ion 上打开 CloudFormation 控制台。

  2. 通过在下拉列表中选择创建堆栈使用新资源,启动“创建堆栈”向导。

  3. Create stack(创建堆栈)页面上,执行以下操作:

    1. 对于 Prepare template(准备模板),选择 Template is ready(模板就绪)。

    2. 对于 Template source(模板来源),选择 Upload a template file(上载模板文件)。

    3. 在 “选择文件” 中,导航至,然后选择 dms-fleetadvisor-iam-slr-s3.json、-s3.j son。dms-fleetadvisor-iamdms-fleetadvisor-ads-iam-slr-s3.zipdms-fleetadvisor-ads-iam-s3.zip

    4. 选择下一步

  4. 指定堆栈详细信息页面中,请执行以下操作:

    1. 对于堆栈名称,输入 dms-fleetadvisor-iam-slr-s3dms-fleetadvisor-iam-s3dms-fleetadvisor-ads-iam-slr-s3dms-fleetadvisor-ads-iam-s3

    2. 请选择 Next(下一步)。

  5. 配置堆栈选项 页面上,请选择 下一步

  6. 在 Review dms-fleetadvisor-iam-slr-s3、Re vie w dms-fleetadvisor-iam-s 3Review dms-fleetadvisor-ads-iam-slr-s3Review dms-fleetadvisor-ads-iam-s3 页面上,执行以下操作:

    1. 选中 “我确认 AWS CloudFormation 可能会使用自定义名称创建IAM资源” 复选框。

    2. 选择提交

    CloudFormation 创建 DMS Fleet Advisor 所需的 S3 存储桶、IAM角色和用户。在左侧面板中,当 dms-fleetadvisor-iam-slr-s3dms-fleetadvisor-iam-s3dms-fleetadvisor-ads-iam-slr-s3dms-fleetadvisor-ads-iam-s3 显示 CREATE_ 时COMPLETE,继续下一步。

  7. 在左侧面板中,选择 dms-fleetadvisor-iam-slr-s3、3、-s dms-fleetadvisor-ads-iam lr-s dms-fleetadvisor-iam-s3 或-s3。dms-fleetadvisor-ads-iam在右侧面板中,执行以下操作:

    1. 选择堆栈信息。你的堆栈有一个 ID 格式为 arn: aws: clou dformation:region:account-no:stack/-s3/ dms-fleetadvisor-iam-slridentifierarn: aws: cloudformatiregion:account-no:stack/ 3/ dms-fleetadvisor-iam-sidentifierarn: aws: cloudformatiregion:account-no:stack/-slr-s3/ dms-fleetadvisor-ads-iamidentifier,或 arn: aws: cloudformationregion:account-no:stack/-s3/ dms-fleetadvisor-ads-iamidentifier.

    2. 选择资源。您将看到以下内容:

      • 一个名为 dms-fleetadvisor-data-accountId-region 的 Amazon S3 存储桶

      • 一个名为 FleetAdvisorS3Role-region 的服务角色

      • 名为的IAM用户 FleetAdvisorCollectorUser-region

      • 已IAMSLR命名AWSServiceRoleForDMSFleetAdvisor(如果您下载了dms-fleet-advisor-iam-slr-s3.zipdms-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 存储桶以存储本地数据环境信息
  1. 登录 AWS Management Console 并打开 Amazon S3 控制台,网址为https://console.aws.amazon.com/s3/

  2. 选择创建存储桶

  3. 创建存储桶页面上,输入一个全球唯一的名称,其中包含您的存储桶登录名,例如 fa-bucket-yoursignin.

  4. 选择在 AWS 区域 哪里使用DMS舰队顾问。

  5. 保留其余设置,然后选择创建存储桶

创建IAM资源

在本节中,您将为数据收集器、IAM用户和 DMS Fleet Advisor 创建IAM资源。

为您的数据收集器创建IAM资源

为确保数据收集器正常工作,并将收集的元数据上传到 Amazon S3 存储桶,请创建以下策略。然后,创建具有以下最低权限的IAM用户。有关DMS数据收集器的更多信息,请参阅使用中的数据收集器发现要迁移的数据库 AWS DMS

为 DMS Fleet Advisor 和您的数据收集器创建访问亚马逊 S3 的IAM策略
  1. 登录 AWS Management Console 并打开IAM控制台,网址为https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择策略

  3. 选择创建策略

  4. 创建策略页面中,选择JSON选项卡。

  5. JSON将以下内容粘贴到编辑器中,替换示例代码。将 fa_bucket 替换为在上一节中创建的 Amazon S3 存储桶的名称。

    { "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/*" ] } ] }
  6. 选择下一步:标签下一步:审核

  7. 名称* 中输入 FleetAdvisorS3Policy,然后选择创建策略

为DMS数据收集器创建访问 DMS Fleet Advisor 的IAM策略
  1. 登录 AWS Management Console 并打开IAM控制台,网址为https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择策略

  3. 选择创建策略

  4. 创建策略页面中,选择JSON选项卡。

  5. 将以下JSON代码粘贴到编辑器中,替换示例代码。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dms:DescribeFleetAdvisorCollectors", "dms:ModifyFleetAdvisorCollectorStatuses", "dms:UploadFileMetadataList" ], "Resource": "*" } ] }
  6. 选择下一步:标签下一步:审核

  7. 名称* 中输入 DMSCollectorPolicy,然后选择创建策略

创建具有最低使用DMS数据收集器权限的IAM用户
  1. 登录 AWS Management Console 并打开IAM控制台,网址为https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择用户

  3. 选择添加用户

  4. 添加用户页面上,在用户名* 中输入 FleetAdvisorCollectorUser。在 “选择访问类型” 中选择 “访问密钥-编程 AWS 访问”。选择下一步: 权限

  5. 设置权限部分中,选择直接附加现有策略

  6. 使用搜索控件查找并选择您之前创建的DMSCollectorPolicyFleetAdvisorS3Policy 策略。选择下一步:标签

  7. 标签页面上,选择下一步:审核

  8. 审核页面上,选择创建用户。在下个页面上,选择下载 .csv 以保存新的用户凭证。将这些凭证与 DMS Fleet Advisor 一起使用以获得所需的最低访问权限。

为 DMS Fleet Advisor 和您的数据收集器创建访问 Amazon S3 的IAM角色
  1. 登录 AWS Management Console 并打开IAM控制台,网址为https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择角色

  3. 选择创建角色

  4. 选择可信实体页面中,在可信实体类型下选择 AWS 服务对于其他 AWS 服务的用例,请选择DMS

  5. 选中该DMS复选框并选择 “下一步”。

  6. 添加权限页面上,选择 FleetAdvisorS3 Policy。选择下一步

  7. 命名、检查并创建页面上,在角色名称中输入 FleetAdvisorS3Role,然后选择创建角色

  8. 角色页面上,在角色名称中输入 FleetAdvisorS3Role。选择 FleetAdvisorS3Role

  9. FleetAdvisorS3Role 页面上,选择信任关系选项卡。选择编辑信任策略

  10. 编辑信任策略页面上,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

  11. 选择更新策略

创建 DMS Fleet Advisor 服务相关角色

DMSFleet Advisor 使用服务相关角色来管理您的 AWS 账户亚马逊 CloudWatch 指标。DMSFleet Advisor 使用此服务相关角色代表您向发布收集 CloudWatch 的数据库性能指标。

为 DMS Fleet Advisor 创建服务相关角色
  1. 登录 AWS Management Console 并打开IAM控制台,网址为https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择角色。然后,选择创建角色

  3. 可信实体类型中选择 AWS 服务

  4. 对于其他 AWS 服务的用例,请选择 DMS— Fleet Advisor

  5. 选中 DMS— Fleet Advisor 复选框并选择下一步

  6. 添加权限页面上,选择下一步

  7. 命名、检查并创建页面上,选择创建角色

或者,您可以通过 AWS API或 AWS CLI创建此服务相关角色。有关更多信息,请参阅 为 AWS DMS Fleet Advisor 创建服务相关角色

为 DMS Fleet Advisor 创建服务相关角色后,您可以在目标推荐中查看源数据库的性能指标。此外,您还可以在自己的 CloudWatch 账户中看到这些指标。有关更多信息,请参阅 目标建议

创建 DMS Fleet Advisor 服务相关角色所需的IAM策略

DMSFleetAdvisorCreateServiceLinkedRolePolicy 策略中指定了创建服务相关角色所需的最低权限。如果您无法创建服务相关角色,请为您的账户创建此IAM政策。

  1. 登录 AWS Management Console 并打开IAM控制台,网址为https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择策略

  3. 选择创建策略

  4. 创建策略页面中,选择JSON选项卡。

  5. 将以下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*" } ] }
  6. 选择下一步:标签下一步:审核

  7. 名称* 中输入 DMSFleetAdvisorCreateServiceLinkedRolePolicy,然后选择创建策略

现在,您可以使用此策略为 DMS Fleet Advisor 创建服务相关角色。