跨 Elastic BeanstalkWindows Server 平台的主要版本迁移 - Amazon Elastic Beanstalk
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

跨 Elastic BeanstalkWindows Server 平台的主要版本迁移

Amazon Elastic Beanstalk 其 Windows 服务器平台有多个主要版本。此页面介绍每个主要版本的主要改进以及在迁移到较新版本之前应考虑的事项。

Windows Server 平台当前处于版本 2 (v2)。如果应用程序使用 v2 之前的任何 Windows Server 平台版本,我们建议迁移到 v2。

Windows Server 平台的主要版本中的新增功能

Windows Server 平台 V2

Elastic Beanstalk Windows Server 平台的版本 2 (v2) 已于 2019 年 2 月发布。V2 使 Windows Server 平台的行为在多个重要方面更接近 Elastic Beanstalk 基于 Linux 的平台的行为。V2 完全向后兼容 v1,这使从 v1 迁移轻松。

Windows Server 平台现在支持以下功能:

注意

新的部署和更新功能依赖于增强型运行状况。启用增强型运行状况以使用这些功能。有关详细信息,请参阅启用 Elastic Beanstalk 增强型运行状况报告

Windows Server 平台 V1

Elastic Beanstalk Windows Server 平台的版本 1.0.0 (v1) 已于 2015 年 10 月发布。此版本改变了环境创建和更新期间 Elastic Beanstalk 处理配置文件中的命令的顺序。

之前的平台版本在解决方案堆栈名称中没有版本号:

  • 64 位 Windows Server 2012 R2 运行 8.5 IIS

  • 64 位 Windows Server Core 2012 R2 运行 8.5 IIS

  • 64 位 Windows Server 2012 正在运行 8 IIS

  • 64 位 Windows Server 2008 R2 运行 7.5 IIS

在之前的版本中,配置文件的处理顺序不一致。在创建环境期间,在将应用程序源部署到之后Container Commands运行IIS。在向正在运行的环境部署期间,容器命令在新版本部署前运行。在向上扩展期间,系统根本不处理配置文件。

除此之外,还会在容器命令运行之前IIS启动。这种行为导致一些客户在容器命令中实现变通方案,在命令运行之前暂停IIS服务器,并在命令完成后重新启动服务器。

版本 1 修复了不一致问题,使 Windows Server 平台的行为与 Elastic Beanstalk 基于 Linux 的平台的行为更接近。在 v1 平台中,Elastic Beanstalk 总是在启动服务器之前运行容器命令。IIS

v1 平台解决方案堆栈在 Windows Server 版本后带有 v1

  • 64 位 Windows Server 2012 R2 v1.1.0 运行 8.5 IIS

  • 64 位 Windows Server Core 2012 R2 v1.1.0 运行 8.5 IIS

  • 64 位 Windows Server 2012 v1.1.0 正在运行 8 IIS

  • 64 位 Windows Server 2008 R2 v1.1.0 运行 7.5 IIS

此外,v1 平台将在运行容器命令前将应用程序源包的内容提取到 C:\staging\。容器命令完成后,该文件夹的内容将压缩为.zip 文件并部署到IIS。此工作流程让您能够先使用命令或脚本修改应用程序源包的内容,然后再进行部署。

从 Windows Server 平台更早的主要版本迁移

在更新环境之前,先阅读此部分中的迁移注意事项。要将环境的平台更新为较新版本,请参阅更新 Elastic Beanstalk 环境的平台版本

从 V1 到 V2

Windows 服务器平台 v2 不支持。 NET酷睿 1.x 和 2.0。如果你要将应用程序从 Windows Server v1 迁移到 v2,而你的应用程序使用其中一个。 NET核心版本,将您的应用程序更新为. NETv2 支持的核心版本。有关支持的版本列表,请参阅。 NET在 Windows 服务器上,IISAmazon Elastic Beanstalk 平台中。

如果您的应用程序使用自定义 Amazon 系统映像 (AMI),请创建一个AMI基于 Windows Server 平台 v2 AMI 的新自定义镜像。要了解更多信息,请参阅“在 Elastic Beanstalk AMI 环境中使用自定义的亚马逊机器映像 ()”。

注意

Windows Server v2 中新增的部署和更新功能依赖于增强型运行状况。当您将环境迁移到 v2 时,增强型运行状况处于禁用状态。启用它以使用这些功能。有关详细信息,请参阅启用 Elastic Beanstalk 增强型运行状况报告

从 V1 之前的版本

除了从 v1 进行迁移的注意事项之外,如果要将应用程序从早于 v1 的 Windows Server 解决方案堆栈进行迁移,并且当前使用容器命令,请删除已添加的任何命令以解决迁移到更新版本时的处理不一致问题。从 v1 开始,容器命令可以保证在部署的应用程序源之前和IIS启动之前完全运行。这使您能够在此步骤中对源代码进行任何更改C:\staging并修改IIS配置文件,而不会出现任何问题。

例如,您可以使用将DLL文件从 Amazon S3 下载 Amazon CLI 到您的应用程序源中:

.ebextensions\copy-dll.config

container_commands: copy-dll: command: aws s3 cp s3://amzn-s3-demo-bucket/dlls/large-dll.dll .\lib\

有关使用配置文件的更多信息,请参阅使用配置文件 (.ebextensions) 进行高级环境自定义