

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

# 比较迁移选项：EB CLI vs. AWS Application Migration Service
<a name="dotnet-migrating-applications-comparison"></a>

AWS 为将 Windows 应用程序迁移到云端提供了多种途径。本节比较了两个主要选项：EB CLI 中的**eb migrate**命令和 AWS Application Migration Service (MGN)。了解这些方法之间的差异有助于您根据自己的特定需求，选择最合适的迁移策略。


**迁移选项对比**  

| 功能 | EB CLI (**eb migrate**) | AWS Application Migration Service (MGN) | 
| --- | --- | --- | 
| 主要关注点 | IIS 网站和应用程序的应用程序级迁移 | 整台计算机（物理、虚拟或云服务器）的服务器级重新托管 | 
| 最适合 | 想要以最少的重新配置，直接迁移到 Elastic Beanstalk 的 IIS 应用程序 | 涉及多台服务器或复杂基础架构的大规模迁移 | 
| 发现方法 | 对 IIS 站点、应用程序和配置的应用程序级发现 | 对整台计算机（包括操作系统和应用程序）的服务器级复制 | 
| 目标环境 | 直接创建和配置针对 Windows 应用程序优化的 Elastic Beanstalk 环境 | 创建需要额外配置才能与 Elastic Beanstalk 配合使用的 EC2 实例 | 
| 配置保留 | 自动保留特定于 IIS 的配置（站点、应用程序池、绑定） | 保留整个服务器配置，其中可能包括不必要的组件 | 
| 部署模式 | 使用 Elastic Beanstalk 最佳实践创建干净的 Elastic Beanstalk 环境，并部署应用程序 | 创建源服务器的副本，但其可能需要针对云操作进行优化 | 
| 迁移规模 | 非常适合特定应用程序的定向迁移 | 专为多台服务器的大规模迁移而设计 | 
| 迁移后步骤 | 最小；环境已准备就绪，可与 Elastic Beanstalk 管理工具配合使用 | 需要其他步骤才能与 Elastic Beanstalk 集成，例如执行 SSM 发布后操作 | 

## 何时使用各个迁移选项
<a name="dotnet-migrating-applications-comparison-when"></a>

**有以下要求时，选择 **eb migrate**：**  
+ 您想要迁移特定的 IIS 应用程序，而不是整个服务器
+ 您的目标是采用 Elastic Beanstalk 作为应用程序管理平台
+ 您想利用 Elastic Beanstalk 的托管平台功能，例如轻松扩展、部署和监控
+ 您更喜欢遵循云原生操作 AWS 最佳实践的干净部署
+ 您想尽量减少迁移后的配置工作

** AWS Application Migration Service 当你有以下要求时，请选择：**  
+ 您需要迁移大量服务器
+ 您采用了必须精确保留的复杂服务器配置
+ 您的应用程序存在兼容性问题，因此需要维护精确的服务器环境
+ 您想在对应用程序进行最少更改的情况下进行直接迁移
+ 您计划在迁移后重构或优化应用程序

## 迁移工作流程对比
<a name="dotnet-migrating-applications-comparison-workflow"></a>

**EB CLI (**eb migrate**) 工作流程：**

1. 在源 IIS 服务器或堡垒主机上安装 EB CLI。

1. 运行 **eb migrate** 以发现 IIS 应用程序。

1. 该命令会打包应用程序和配置。

1. 系统会使用适当的资源创建 Elastic Beanstalk 环境。

1. 应用程序将部署到新环境。

1. 您可以使用 Elastic Beanstalk 工具立即管理应用程序。

**AWS Application Migration Service 工作流程：**

1. 在源服务器上安装 AWS 复制代理。

1. 配置并测试数据复制。

1. 启动测试实例以验证功能。

1. 安排转换到. AWS

1. 启动生产实例。

1. 执行发布后操作以针对云进行优化。

1. 如果 Elastic Beanstalk 是目标平台，则需要进行额外的配置才能与 Elastic Beanstalk 集成。

## 结论
<a name="dotnet-migrating-applications-comparison-conclusion"></a>

Elastic Beanstalk 是 Windows 平台 AWS应用程序的首选目的地，它提供了一个可简化部署、扩展和管理的托管环境。**eb migrate** 命令可为 IIS 应用程序提供通往 Elastic Beanstalk 的直接路径，并且具有自动发现和配置功能，可保留应用程序设置。

虽然为大规模服务器迁移 AWS Application Migration Service 提供了强大的功能，但它还需要额外的步骤才能与 Elastic Beanstalk 集成。对于大多数以 Elastic Beanstalk 为目标平台的 IIS 应用程序迁移而言，**eb migrate** 提供了一种与 Elastic Beanstalk 的托管服务模型保持一致的更简化的方法。

请在考虑规模、复杂性和 AWS上所需的最终状态架构等因素的前提下，选择最适合您特定要求的迁移方法。

有关的更多信息 AWS Application Migration Service，请参阅[什么是 AWS Application Migration Service？](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) 在《 AWS Application Migration Service 用户指南》中。