AWS Elastic Beanstalk
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

迁移到 v1 Elastic Beanstalk Windows Server 平台

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

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

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

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

  • 运行 IIS 8 的 64 位 Windows Server 2012

  • 运行 IIS 7.5 的 64 位 Windows Server 2008 R2

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

此外,IIS 在容器命令运行前启动。此行为致使某些客户在容器命令中采取临时措施:在命令运行前暂停 IIS 服务器,命令完成后再次启动 IIS 服务器。

版本 1 修复了这种不一致:使 Windows Server 平台的行为与 Elastic Beanstalk 基于 Linux 的平台保持一致。在 v1 平台中,Elastic Beanstalk 始终在启动 IIS 服务器前运行容器命令。

版本 1 平台在 Windows Server 版本后带有 v1

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

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

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

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

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

如果您当前在较旧的平台上使用容器命令,则在迁移到 v1 时,请移除您为变通解决处理不一致的问题而添加的所有命令。在 v1 中,系统会确保在部署应用程序源和启动 IIS 前完成容器命令的运行,因此,您可在此步骤期间安全地对 C:\staging 中的源内容做出任何更改并修改 IIS 配置文件。

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

.ebextensions\copy-dll.config

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

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