为 Amazon DMS Fleet Advisor 创建所需的 Amazon 资源 - Amazon Database Migration Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

为 Amazon DMS Fleet Advisor 创建所需的 Amazon 资源

DMS Fleet Advisor 需要您账户中的一组 Amazon 资源,用于转发和导入清单信息,以及更新 DMS 数据收集器的状态。

在首次收集数据并创建数据库和架构清单之前,请完成以下先决条件。

要配置 Amazon S3 存储桶和 IAM 资源,请执行下列操作之一:

使用 Amazon CloudFormation 配置 Amazon S3 和 IAM 资源

CloudFormation 堆栈是可作为单个单元管理的一系列 Amazon 资源。为了简化为 DMS Fleet Advisor 创建所需资源的过程,您可以使用Amazon CloudFormation模板文件来创建 CloudFormation 堆栈。有关更多信息,请参阅《Amazon CloudFormation 用户指南》中的在 Amazon CloudFormation 控制台上创建堆栈

注意

本节仅适用于使用独立的 DMS Fleet Advisor 收集器。要了解如何使用单个本地收集器收集有关数据库和服务器的信息,请参阅《Amazon Application Discovery Service 用户指南中的 Application Discovery Service Agentless Collector

由创建的 Amazon S3 和 IAM 资源 CloudFormation

当您使用 CloudFormation 模板时,他们会创建包含以下资源的堆栈:Amazon Web Services 账户

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

  • 一个名为 FleetAdvisorCollectorUser-region 的 IAM 用户

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

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

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

  • 一个名为 AWSServiceRoleForDMSFleetAdvisor 的 IAM 服务相关角色 (SLR)

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

步骤 1:下载 CloudFormation模板文件

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

第 2 步:使用配置亚马逊 S3 和 IAM CloudFormation

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

要使用配置 Amazon S3 和 IAM CloudFormation
  1. 打开 CloudFormation 控制台,网址为 https://console.aws.amazon.com/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. 请选择 Next(下一步)

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

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

    2. 选择 Next(下一步)。

  5. Configure stack options(配置堆栈选项) 页面上,请选择 Next(下一步)。

  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. 选中我确认 Amazon CloudFormation 可能使用自定义名称创建 IAM 资源复选框。

    2. 选择提交

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

  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: cloudformation:区域:账户号:stack/-s3/ 标识符、arn: aws: cloudformation:区域账户号:stack/-s3/ 标识符、arn: aws: cloudformation:区域:账户号:stack /-s3/ dms-fleetadvisor-iam-slr 标识符或者 arn: aws: cloudformation:区域:账户号stack/-s3/ 标识符 dms-fleetadvisor-iam-s dms-fleetadvisor-ads-iam dms-fleetadvisor-ads-iam

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

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

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

      • 一个名为 FleetAdvisorCollectorUser-region 的 IAM 用户

      • 一个名为 AWSServiceRoleForDMSFleetAdvisor 的 IAM SLR(如果您下载了 dms-fleet-advisor-iam-slr-s3.zipdms-fleet-advisor-ads-iam-slr-s3.zip)。

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

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

在 Amazon Web Services Management Console 中配置 Amazon S3 和 IAM 资源

创建 Amazon S3 存储桶

创建可以存储清单元数据的 Amazon S3 存储桶。我们建议您在使用 DMS Fleet Advisor 之前,预先配置此 S3 存储桶。Amazon DMS 将 DMS Fleet Advisor 清单元数据存储在此 S3 存储桶中。

有关创建 S3 存储桶的更多信息,请参阅《Amazon S3 用户指南》中的创建第一个 S3 存储桶

注意

DMS Fleet Advisor 仅支持 SSE-S3 加密存储桶。

创建 Amazon S3 存储桶以存储本地数据环境信息
  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 选择创建存储桶

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

  4. 选择在其中使用 DMS Fleet Advisor 的 Amazon Web Services 区域。

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

创建 IAM 资源

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

为数据收集器创建 IAM 资源

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

为 DMS Fleet Advisor 和数据收集器创建 IAM policy 以访问 Amazon S3
  1. 登录到 Amazon Web Services 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 数据收集器创建 IAM policy 以访问 DMS Fleet Advisor
  1. 登录到 Amazon Web Services 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,然后选择创建策略

创建具最低权限的 IAM 用户以使用 DMS 数据收集器
  1. 登录 Amazon Web Services Management Console,单击 https://console.aws.amazon.com/iam/ 打开 IAM 控制台。

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

  3. 选择添加用户

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

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

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

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

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

为 DMS Fleet Advisor 和数据收集器创建 IAM 角色以访问 Amazon S3
  1. 登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

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

  3. 选择创建角色

  4. 选择可信实体页面中,在可信实体类型下选择 Amazon 服务。对于其他 Amazon 服务的应用场景,选择 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 DMS 用于从 Amazon S3 存储桶导入收集的数据的服务授予 sts:AssumeRole 权限。

  11. 选择更新策略

创建 DMS Fleet Advisor 服务相关角色

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

为 DMS Fleet Advisor 创建服务相关角色
  1. 登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

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

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

  4. 对于其他 Amazon 服务的应用场景,选择 DMS – Fleet Advisor

  5. 选中 DMS – Fleet Advisor 复选框,然后选择下一步

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

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

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

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

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

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

  1. 登录到 Amazon Web Services 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 创建服务相关角色。