

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

# 架构详情
<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，实现迁移过程的自动化