

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

# 为 AWS DMS Fleet Advisor 创建所需的 AWS 资源
<a name="fa-resources"></a>

**重要**  
终止支持通知：2026 年 5 月 20 日， AWS 将终止对 AWS Database Migration Service Fleet Advisor 的支持。2026 年 5 月 20 日之后，您将无法再访问 AWS DMS 舰队顾问控制台或 AWS DMS 舰队顾问资源。有关更多信息，请参阅 [AWS DMS Fleet Advisor 终止支持](https://docs.aws.amazon.com/dms/latest/userguide/dms_fleet.advisor-end-of-support.html)。

DMS Fleet Advisor 需要您的账户中有一组 AWS 资源来转发和导入库存信息，以及更新 DMS 数据收集器的状态。

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

要配置 Amazon S3 存储桶和 IAM 资源，请执行下列操作之一：
+ [使用配置 Amazon S3 和 IAM 资源 CloudFormation](#fa-resources-cf)（推荐）。
+ [在中配置 Amazon S3 和 IAM 资源 AWS 管理控制台](#fa-resources-manual)

## 使用配置 Amazon S3 和 IAM 资源 CloudFormation
<a name="fa-resources-cf"></a>

CloudFormation 堆栈是您可以作为一个单元管理的 AWS 资源集合。为了简化为 DMS Fleet Advisor 创建所需资源的过程，您可以使用 CloudFormation 模板文件来创建 CloudFormation 堆栈。有关更多信息，请参阅《*CloudFormation 用户指南》*中的[在 CloudFormation 控制台上创建堆栈](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)。

**注意**  
本节仅适用于使用独立的 DMS Fleet Advisor 收集器。要了解如何使用单个本地收集器收集有关数据库和服务器的信息，请参阅《[AWS Application Discovery Service 用户指南](https://docs.aws.amazon.com/)》**中的 [Application Discovery Service Agentless Collector](https://docs.aws.amazon.com/application-discovery/latest/userguide/agentless-collector.html)。

### 由创建的 Amazon S3 和 IAM 资源 CloudFormation
<a name="fa-resources-cf.resources"></a>

当您使用 CloudFormation 模板时，他们会创建包含以下资源的堆栈： AWS 账户
+ 一个名为 `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 模板文件](#fa-resources-cf.dl-templates)
+ [第 2 步：使用配置亚马逊 S3 和 IAM CloudFormation](#fa-resources-cf.config)

### 步骤 1：下载 CloudFormation 模板文件
<a name="fa-resources-cf.dl-templates"></a>

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

**下载 CloudFormation 模板文件**

1. 打开以下链接之一的上下文（右键单击）菜单，然后选择**将链接另存为**：
   + 如果你打算使用 DMS Fleet Advisor，请选择 [dms-fleetadvisor-iam-slr-s3.zip](samples/dms-fleetadvisor-iam-slr-s3.zip)。[如果你已经为 DMS Fleet Advisor 创建了单反相机，请选择 3.zip dms-fleetadvisor-iam-s](samples/dms-fleetadvisor-iam-s3.zip)
   + [如果您计划使用 App AWS lication Discovery Service (ADS) 无代理收集器但尚未为其创建 SLR，请选择-slr-s3.zip。 dms-fleetadvisor-ads-iam](samples/dms-fleetadvisor-ads-iam-slr-s3.zip)[如果你之前使用 ADS 为 DMS Fleet Advisor 创建过单反相机，请选择 dms-fleetadvisor-ads-iam-s3.zip。](samples/dms-fleetadvisor-ads-iam-s3.zip)

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

### 第 2 步：使用配置亚马逊 S3 和 IAM CloudFormation
<a name="fa-resources-cf.config"></a>

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

**要使用配置 Amazon S3 和 IAM CloudFormation**

1. 在 [https://console.aws.amazon.com/cloudformat](https://console.aws.amazon.com/cloudformation/) ion 上打开 CloudFormation 控制台。

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

1. 在 **Create stack**（创建堆栈）页面上，执行以下操作：

   1. 对于 **Prepare template**（准备模板），选择 **Template is ready**（模板就绪）。

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

   1. **在 “选择文件” 中****，导航至，然后选择 **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**。

   1. 选择**下一步**。

1. 在**指定堆栈详细信息**页面中，请执行以下操作：

   1. 对于**堆栈名称**，输入 **dms-fleetadvisor-iam-slr-s3**、**dms-fleetadvisor-iam-s3**、**dms-fleetadvisor-ads-iam-slr-s3** 或 **dms-fleetadvisor-ads-iam-s3**。

   1. 选择 **Next**(下一步)。

1. 在**配置堆栈选项**页面上，请选择**下一步**。

1. 在 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** 页面上，执行以下操作：

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

   1. 选择**提交**。

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

1. **在左侧面板中，选择 **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/ 3/、arn: aws: cloudformation:*region*: stack/ *account-no*-s3/，或 arn: aws: cloudformation:: stack/-s3/dms-fleetadvisor-iam-slr，**arn*identifier*: aws: cloudformation:: stack/-s3/。*region* *account-no* dms-fleetadvisor-iam-s *identifier* *region* *account-no* dms-fleetadvisor-ads-iam *identifier* *region* *account-no* dms-fleetadvisor-ads-iam *identifier*******

   1. 选择**资源**。您将看到以下内容：
      + 一个名为 `dms-fleetadvisor-data-accountId-region` 的 Amazon S3 存储桶
      + 一个名为 `FleetAdvisorS3Role-region` 的服务角色
      + 一个名为 `FleetAdvisorCollectorUser-region` 的 IAM 用户
      + 一个名为 `AWSServiceRoleForDMSFleetAdvisor` 的 IAM SLR（如果您下载了 `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 管理控制台
<a name="fa-resources-manual"></a>

### 创建 Amazon S3 存储桶
<a name="fa-resources-s3"></a>

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

有关创建 S3 存储桶的更多信息，请参阅《Amazon S3 用户指南》中的[创建第一个 S3 存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html)**。

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

**创建 Amazon S3 存储桶以存储本地数据环境信息**

1. 登录 AWS 管理控制台 并打开 Amazon S3 控制台，网址为[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 选择 **创建存储桶 **。

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

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

1. 保留其余设置，然后选择**创建存储桶**。

### 创建 IAM 资源
<a name="fa-resources-iam"></a>

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

**Topics**
+ [为数据收集器创建 IAM 资源](#fa-resources-iam-collector)
+ [创建 DMS Fleet Advisor 服务相关角色](#fa-resources-iam-slr)

#### 为数据收集器创建 IAM 资源
<a name="fa-resources-iam-collector"></a>

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

**为 DMS Fleet Advisor 和数据收集器创建 IAM policy 以访问 Amazon S3**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中，选择**策略**。

1. 选择**创建策略**。

1. 在**创建策略**页面中，选择 **JSON** 选项卡。

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

------
#### [ JSON ]

****  

   ```
   {
       "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/*"
           ]
       }
       ]
       }
   ```

------

1. 选择**下一步：标签**和**下一步：审核**。

1. 在**名称\$1** 中输入 **FleetAdvisorS3Policy**，然后选择**创建策略**。

**为 DMS 数据收集器创建 IAM policy 以访问 DMS Fleet Advisor**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中，选择**策略**。

1. 选择**创建策略**。

1. 在**创建策略**页面中，选择 **JSON** 选项卡。

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

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
       {
           "Effect": "Allow",
           "Action": [
               "dms:DescribeFleetAdvisorCollectors",
               "dms:ModifyFleetAdvisorCollectorStatuses",
               "dms:UploadFileMetadataList"
           ],
           "Resource": "*"
       }
       ]
       }
   ```

------

1. 选择**下一步：标签**和**下一步：审核**。

1. 在**名称\$1** 中输入 **DMSCollectorPolicy**，然后选择**创建策略**。

**创建具最低权限的 IAM 用户以使用 DMS 数据收集器**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中，选择**用户**。

1. 选择**添加用户**。

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

1. 在**设置权限**部分中，选择**直接附加现有策略**。

1. 使用搜索控件查找并选择您之前创建的**DMSCollector策略**和 **FleetAdvisorS3** Policy 策略。选择**下一步：标签**。

1. 在**标签**页面上，选择**下一步：审核**。

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

**为 DMS Fleet Advisor 和数据收集器创建 IAM 角色以访问 Amazon S3**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中，选择**角色**。

1. 选择**创建角色**。

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

1. 选中 **DMS** 复选框，然后选择**下一步**。

1. 在**添加权限**页面上，选择 **FleetAdvisorS3** Policy。选择**下一步**。

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

1. 在**角色**页面上，在**角色名称**中输入 **FleetAdvisorS3Role**。选择 **FleetAdvisorS3Role**。

1. 在 **FleetAdvisorS3Role 页面**上，选择**信任关系**选项卡。选择**编辑信任策略**。

1. 在**编辑信任策略**页面上，将以下 JSON 粘贴到编辑器中，替换现有文本。

------
#### [ 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 

1. 选择**更新策略**。

#### 创建 DMS Fleet Advisor 服务相关角色
<a name="fa-resources-iam-slr"></a>

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

**为 DMS Fleet Advisor 创建服务相关角色**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中，选择**角色**。然后，选择**创建角色**。

1. 在**可信实体类型**中选择 **AWS 服务**。

1. **对于其他 AWS 服务的用例**，请选择 **DMS — Fleet Advisor**。

1. 选中 **DMS – Fleet Advisor** 复选框，然后选择**下一步**。

1. 在**添加权限**页面上，选择**下一步**。

1. 在**命名、检查并创建**页面上，选择**创建角色**。

或者，您可以通过 AWS API 或 AWS CLI 创建此服务相关角色。有关更多信息，请参阅 [为 AWS DMS Fleet Advisor 创建服务相关角色](slr-services-fa.md#create-slr-fa)。

为 DMS Fleet Advisor 创建服务相关角色后，可以在目标建议中看到源数据库的性能指标。此外，您还可以在自己的 CloudWatch 账户中看到这些指标。有关更多信息，请参阅 [目标建议](fa-recommendations.md)。

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

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

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中，选择**策略**。

1. 选择**创建策略**。

1. 在**创建策略**页面中，选择 **JSON** 选项卡。

1. 将以下 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*"
       }
       ]
       }
   ```

------

1. 选择**下一步：标签**和**下一步：审核**。

1. 在**名称\$1** 中输入 **DMSFleetAdvisorCreateServiceLinkedRolePolicy**，然后选择**创建策略**。

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