迁移选项对比:EB CLI 与 AWS Application Migration Service - AWS Elastic Beanstalk

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

迁移选项对比:EB CLI 与 AWS Application Migration Service

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 发布后操作

何时使用各个迁移选项

有以下要求时,选择 eb migrate
  • 您想要迁移特定的 IIS 应用程序,而不是整个服务器

  • 您的目标是采用 Elastic Beanstalk 作为应用程序管理平台

  • 您想利用 Elastic Beanstalk 的托管平台功能,例如轻松扩展、部署和监控

  • 您更喜欢遵循 AWS 云原生操作最佳实践的干净部署

  • 您想尽量减少迁移后的配置工作

有以下要求时,选择 AWS Application Migration Service:
  • 您需要迁移大量服务器

  • 您采用了必须精确保留的复杂服务器配置

  • 您的应用程序存在兼容性问题,因此需要维护精确的服务器环境

  • 您想在对应用程序进行最少更改的情况下进行直接迁移

  • 您计划在迁移后重构或优化应用程序

迁移工作流程对比

EB CLI (eb migrate) 工作流程:

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

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

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

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

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

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

AWS Application Migration Service 工作流程:

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

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

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

  4. 将割接安排到 AWS。

  5. 启动生产实例。

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

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

结论

Elastic Beanstalk 提供了一个可简化部署、扩展和管理的托管环境,因此是 AWS 上 Windows 平台应用程序的首选目标。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 用户指南》中什么是 AWS Application Migration Service?的内容。