

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

# 架构详情
<a name="components"></a>

## 迁移自动化服务器
<a name="comp-mes"></a>

此解决方案利用迁移自动化服务器使用 Rest 运行迁移。 APIs此服务器不会随解决方案自动部署，必须手动构建。有关更多信息，请参阅[构建迁移自动化服务器](step6.md)。我们建议您在 AWS 环境中构建服务器，但也可以在您的网络环境中进行本地构建。服务器必须满足以下要求：
+ Windows Server 2019 或更高版本
+ 最少 4 个 CPUs ，内存 8 GB
+ 作为新虚拟机部署，不安装其他应用程序
+ （如果在 AWS 中构建）在与云迁移工厂相同的 AWS 账户和区域中

安装完成后，服务器需要访问互联网并与范围内的源服务器（要迁移到 AWS 的服务器）建立不受限制的内部网络连接。

如果迁移自动化服务器到源服务器之间需要端口限制，则迁移自动化服务器到源服务器之间必须开放以下端口：
+ SMB 端口 (TCP 445)
+ SSH 端口 (TCP 22)
+ WinRM 端口 (TCP 5985、5986)

我们建议迁移自动化服务器与源服务器位于同一个 Active Directory 域中。如果源服务器位于多个域中，则每个域中域信任的安全配置将决定您是否需要多台迁移自动化服务器。

虽然传统方法使用基于 Windows 的自动化服务器，但现在也可以直接通过 AWS Systems Manager Automation Document 执行脚本。
+ 如果源服务器所在的所有域中都存在域信任，则单个迁移自动化服务器就能够连接并运行所有域的自动化脚本。
+ 如果所有域中都不存在域信任，则必须为每个不受信任的域创建一个额外的迁移自动化服务器，或者对于要在自动化服务器上执行的每项操作，都需要使用源服务器上具有适当权限的替代凭证。

## 迁移服务 Rest APIs
<a name="comp-mes-api"></a>

AWS 上的云迁移工厂解决方案使用通过 AWS Lambda 函数、亚马逊 API Gateway、AWS Managed Services 和 AWS 应用程序迁移服务 (AWS MGN) 处理的 Res APIs t 实现迁移过程的自动化。当您发出请求或发起交易（例如添加服务器或查看服务器或应用程序列表）时，会向 Amazon API Gateway 调用 Rest API Gateway，后者会启动 AWS Lambda 函数来运行请求。以下服务详细介绍了自动迁移过程的组件。

### 登录服务
<a name="comp2-log-in"></a>

登录服务包括 `login` Lambda 函数和 Amazon Cognito。在您通过 API Gateway 使用 `login` API 登录解决方案后，该函数将验证凭证，从 Amazon Cognito 检索身份验证令牌，并将令牌详细信息返回给您。您可以使用此身份验证令牌连接到解决方案中的其他服务。

### 管理员服务
<a name="comp2-admin"></a>

管理员服务包括亚马逊 API Gateway、`admin` Lambda 函数和 Amazon DynamoDB。解决方案的管理员可以使用 `admin` Lambda 函数来定义迁移元数据架构，即应用程序和服务器属性。管理员服务 API 为 DynamoDB 表提供架构定义。包括应用程序和服务器属性在内的用户数据必须符合此架构定义。典型的属性包括 `app_name`、`wave_id`、`server_name` 以及在[将迁移元数据导入工厂](step8.md#import-migration-metadata-into-the-factory)时标识的其他字段。默认情况下，AWS CloudFormation 模板会自动部署通用架构，但可以在部署后对其进行自定义。

管理员还可以使用管理服务为迁移团队成员定义迁移角色。管理员可以进行精细控制，将特定用户角色映射到特定属性和迁移阶段。迁移阶段是运行某些迁移任务的一段时间，例如构建阶段、测试阶段和割接阶段。

### 用户服务
<a name="comp2-user"></a>

用户服务包括 Amazon API Gateway、`user` Lambda 函数和 Amazon DynamoDB。用户可以管理迁移元数据，他们可以在迁移元数据管道中读取、创建、更新和删除波次、应用程序和服务器数据。

**备注**  
迁移波次是一个应用程序分组的概念，有开始日期和结束日期或割接日期。波次数据包括计划在特定迁移波次中进行迁移的候选应用程序和应用程序分组。

用户服务为迁移团队提供了一个 API 来操作解决方案中的数据：使用 Python 脚本和源 CSV 文件创建、更新和删除数据。有关详细步骤，请参阅“使用 Migration Factory Web 控制台进行自动迁移活动”和“使用命令提示符进行自动迁移活动”。

### 工具服务
<a name="comp2-tools"></a>

部署后的工具服务包括亚马逊 API Gateway、可扩展的 Lamb `tools` da 函数、亚马逊 DynamoDB、AWS Managed Services 和 AWS 应用程序迁移服务。您可以使用这些服务连接到第三方 APIs 并自动执行迁移过程。部署时与 AWS 应用程序迁移服务集成可以帮助迁移团队协调服务器启动流程，只需按一下按钮，即可在同一波中启动所有服务器，这些服务器由一组具有相同转换日期的应用程序和服务器组成。

借助此解决方案中内置的管道功能，迁移团队可以编写包含许多任务的复杂迁移序列，从而提供完全托管和自动化的体验。迁移团队可以使用工具中提供的自动化功能和 AWS 提供的脚本中的任务，也可以编写自己的自定义自动化脚本。

## Migration Factory Web 界面
<a name="comp-webui"></a>

该解决方案包括一个 Migration Factory Web 界面，默认情况下，该界面可以托管在 Amazon S3 桶中，也可以托管在提供的 Web 服务器上（不属于解决方案部署的一部分），允许您使用 Web 浏览器完成以下任务：
+ 通过 Web 浏览器更新波次、应用程序和服务器元数据
+ 管理应用程序和服务器架构定义
+ 创建 end-to-end迁移管道以自动化和管理应用程序迁移的各个方面
+ 运行自动化脚本以自动执行迁移活动，例如检查先决条件、安装 MGN 代理
+ 创建迁移凭证以连接到源服务器
+ 连接到 AWS 服务，例如 AWS 应用程序迁移服务和 AWS Systems Manager，实现迁移过程的自动化

# 此解决方案中的 AWS 服务
<a name="aws-services-in-this-solution"></a>


| AWS 服务 | 说明 |  | 
| --- | --- | --- | 
|   [AWS CloudFormation](https://aws.amazon.com/cloudformation/)   |   **先决条件。**使用 CloudFormation 模板部署云迁移工厂。  |  | 
|   [Amazon API Gateway](https://aws.amazon.com/api-gateway/)   |   **核心。** APIs 为整个解决方案提供 REST，用于访问后端数据以及启动和管理迁移自动化任务。  |  | 
|   [AWS Lambda](https://aws.amazon.com/lambda/)   |   **核心。**提供必要的服务，供您登录 Web 界面，执行必要的管理功能来管理迁移，并连接到第三方 APIs 以自动执行迁移过程。  |  | 
|   [Amazon EventBridge](https://aws.amazon.com/eventbridge/)   |   **核心。** EventBridge 充当 Lambda 函数之间异步通知的中心事件驱动通信支柱，从而在迁移工作流程中实现分离的任务编排、状态更新、电子邮件通知和实时界面更新。  |  | 
|   [Amazon DynamoDB](https://aws.amazon.com/dynamodb/)   |   **核心。**所有用户和系统托管数据的元数据存储，可通过 Amazon API 网关和 Lambda 函数访问。  |  | 
|   [Amazon Cognito](https://aws.amazon.com/cognito/)   |   **核心。**用户授权和身份验证，以及与其他 IDPs 用户的可选联合，也可以通过 Amazon Cognito 实现。  |  | 
|   [Amazon Simple Queue Service](https://aws.amazon.com/sqs/)   |   **支持。**为失败 EventBridge触发的 Lambda 调用提供死信队列 (DLQs)，为 WebSocket GenAI 操作提供异步处理队列，确保可靠的消息传输和错误处理。  |  | 
|   [Amazon Simple Notification Service](https://aws.amazon.com/sns/)   |   **支持。**通过配置的 SNS 主题向迁移团队成员发送有关任务状态更新、手动批准请求和任务失败的电子邮件通知。  |  | 
|   [AWS Systems Manager](https://aws.amazon.com/systems-manager/)   |   **支持。**支持在客户提供的自动化服务器上的 AWS 自动化包上运行云迁移工厂。  |  | 
|   [Amazon EC2](https://aws.amazon.com/ec2/)   |   **支持。**运行 AWS Systems Manager 代理的自动化服务器允许运行自动化软件包。  |  | 
|   [Amazon Bedrock](https://aws.amazon.com/bedrock/)   |   **支持。**自动将导入 Excel/CSV 文件中的标题映射到 Wave Planning Manager (WPM) 中的架构，并根据自然语言生成波浪规划规则。  |  | 
|   [Amazon S3](https://aws.amazon.com/s3/)   |   **支持。**在解决方案的多个区域中使用，1/ 使用 Amazon S3 的静态虚拟主机功能，它提供主网页界面（通过 Amazon CloudFront），2/ 日志和其他自动化输出由解决方案存储在 Amazon S3 中。  |  | 
|   [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/)   |   **支持。**使用解决方案的自动化功能时，AWS Secrets Manager 用于安全地存储用于访问迁移资源的证书，以便运行任务和操作来促进和迁移工作负载。  |  | 
|   [Amazon CloudFront](https://aws.amazon.com/cloudfront/)   |   **可选。**对于标准部署，Amazon CloudFront 提供来自 Amazon S3 的网页界面内容的分发，使其在全球范围内高度可用，并提供从任何地方对网页界面内容的安全的 TLS 访问。  |  | 
|   [AWS 应用程序迁移服务 (AWS MGN)](https://aws.amazon.com/application-migration-service/)   |   **可选。**在执行 Windows 或 Linux 工作负载的重新托管迁移时，AWS 上的云迁移工厂使用 AWS MGN 来促进向亚马逊 EC2 的系统迁移。  |  | 
|   [Amazon QuickSight](https://aws.amazon.com/quicksight/)   |   **可选。**允许根据存储在 Amazon DynamoDB 中迁移元存储中的数据创建可自定义的迁移控制面板，为团队提供跟踪和报告迁移所需的数据。  |  | 
|   [AWS Glue](https://aws.amazon.com/glue/)   |   **可选。**定期将亚马逊 DynamoDB 中保存的数据提取到 Amazon S3，提供报告数据以供亚马逊 Athena 和亚马逊控制面板使用。 QuickSight   |  | 
|   [Amazon Athena](https://aws.amazon.com/athena/)   |   **可选。**允许访问 AWS Glue 从迁移元数据中提取的报告数据，从而允许使用 Amazon 创建控制面板 QuickSight。  |  | 
|   [AWS Web 应用程序防火墙](https://aws.amazon.com/waf/)   |   **可选。**在 Amazon API Gateway 和亚马逊 CloudFront 的终端节点上应用额外的安全措施，根据源 IP 地址或其他访问标准限制对特定设备的访问。  |  | 