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

更新 Elastic Beanstalk 环境的平台版本

针对在 Elastic Beanstalk 环境上运行应用程序的基于 Linux 和基于 Windows Server 的平台,Elastic Beanstalk 会定期发布更新。平台由软件组件(运行操作系统 (OS) 特定版本、工具和 Elastic Beanstalk 特定脚本的 AMI)和配置组件(应用到使用平台创建的环境的默认设置)组成。新平台版本提供对现有软件组件的更新,并支持新功能和配置选项。

对于支持多个所包括 Web 容器、编程语言或框架的不兼容主版本的平台,为每个平台提供单独的配置。例如,Java with Tomcat 平台对于 Tomcat 7 和 Tomcat 8 支持单独的配置。平台的每个配置单独版本化,但通常会同时为指定平台的所有配置发布更新。

配置特定于主要语言和工具版本。更新配置时,语言和工具的主版本不会变化。例如,Java 7 with Tomcat 7Java 8 with Tomcat 8使用 Tomcat 的 Java 平台的两种不同配置。您无法通过平台更新将一种配置更改为另一种,而只能将相同配置的一个版本更新为另一个,例如将 Java 8 with Tomcat 8 版本 1.4.5 更新为 Java 8 with Tomcat 8 版本 2.0.0

基于 Linux 的 Elastic Beanstalk 平台使用三个数字从语义上说明版本:主版本号、次版本号和修补版本号。例如,Java 8 with Tomcat 8 版本 2.1.0 的主版本为 2,次版本为 1,修补版本为 0。主版本仅用于表示向后不兼容的更改。次版本添加对新 Elastic Beanstalk 功能的支持,修补版本则修复错误、更新操作系统和软件组件,以及提供对 Amazon Linux yum 存储库中更新后程序包的访问。

基于 Windows Server 的平台不采用语义版本化,不支持托管平台更新。您只能启动各个 Windows Server 平台配置的最新版本,在升级之后无法回退。

更新环境的平台配置

当您的环境的平台配置有新版本可用时,Elastic Beanstalk 会在环境管理控制台中显示一条消息,并使 Change (更改) 按钮变成可用状态。如果您的环境是用具有相同配置的旧版本创建的,或是从旧配置升级而来,则您也可以使用 Change (更改) 按钮恢复到先前的配置版本。

更新环境的平台

  1. 导航到您的环境的管理页

  2. Overview (概述) 部分,在 Configuration (配置) 下单击 Change (更改)

    
            Elastic Beanstalk 更新版本的平台可用
  3. 选择 Platform Version (平台版本)。系统自动选择最新的平台版本,但您可以选择更新到以前使用过的任何版本。

    
            Elastic Beanstalk 更新平台版本确认
  4. 选择 Save

在可配置的每周维护时段内,您可以使用托管平台更新将环境配置为自动应用次版本和修补版本更新。Elastic Beanstalk 在应用托管更新时,不会导致停机时间或容量减少,并且当在新版本上运行您的应用程序的实例未能通过运行状况检查时,会立即取消更新。

将环境迁移到新的配置

您可能需要将应用程序迁移到新配置。一种常见的原因是切换到最新语言版本。例如,您可能需要将 PHP 应用程序从版本 7.0 迁移到版本 7.1。或者将 Java with Tomcat 应用程序从 Java 7 with Tomcat 7 迁移到 Java 8 with Tomcat 8.5。

Elastic Beanstalk 不支持跨配置的自动平台更新。如果您希望更改环境的配置,则无法使用先前部分中显示的过程。以下过程说明如何将您的环境迁移到其他平台配置。

将环境的平台迁移到新配置

  1. 创建新环境,使用新的目标配置,并将应用程序代码部署到其中。新环境应该在包含您要迁移的环境的 Elastic Beanstalk 应用程序中。此时不要终止现有环境。

  2. 使用新环境迁移应用程序代码。查找并修复由于迁移到新语言配置导致的任何应用程序兼容性问题。迭代测试并部署修复,直至对新环境上的应用程序满意。

  3. 通过将新环境的别名记录与现有生产环境的别名记录交换,将新环境转换为生产环境。有关详细信息,请参阅 使用 AWS Elastic Beanstalk 进行蓝/绿部署

  4. 当您对处于生产模式的新环境状态感到满意之后,终止旧环境。有关详细信息,请参阅 终止 Elastic Beanstalk 环境