配置更改 - AWS Elastic Beanstalk

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

配置更改

当您在环境管理控制台Configuration 部分修改配置选项设置时,AWS Elastic Beanstalk 将更改传播到所有受影响的资源。这些资源包括将流量分配到运行您的应用程序的 Amazon EC2 实例的负载均衡器、管理这些实例的 Auto Scaling 组以及 EC2 实例本身。

很多配置更改都可应用于正在运行的环境而不用替换现有实例。例如,设置运行状况检查 URL 将触发环境更新以修改负载均衡器设置,但不会导致任何停机时间,因为运行您的应用程序的实例在更新传播时会继续处理请求。

修改启动配置VPC 设置的配置更改需要终止您的环境中的所有实例并替换它们。例如,当您更改环境的实例类型或 SSH 密钥设置时,必须终止和替换您的 EC2 实例。Elastic Beanstalk 提供了多项策略来确定如何执行此更换。

  • 滚动更新 - Elastic Beanstalk 将批量应用这些配置更改,让最小数量的实例保持运行并始终提供流量服务。此方法可防止更新过程中的停机。有关详细信息,请参阅滚动更新

  • 不可变更新 - Elastic Beanstalk 在您的环境外启动一个临时 Auto Scaling 组,其中一组单独的实例使用新配置运行。然后,Elastic Beanstalk 将这些实例放在环境的负载均衡器后面。旧实例和新实例均为流量提供服务,直至新实例通过运行状况检查。届时,Elastic Beanstalk 将新实例移动到环境的 Auto Scaling 组中,并终止临时组和旧实例。有关详细信息,请参阅不可变更新

  • 禁用 - Elastic Beanstalk 不会尝试避免停机。它终止环境的现有实例,并将其替换为使用新配置运行的新实例。

警告

某些策略会在部署或更新期间替换所有实例。这会导致丢失所有累积的 Amazon EC2 突发余额。这发生在以下情况下:

  • 已启用实例替换的托管平台更新

  • 不可变更新

  • 已启用不可变更新或流量拆分的部署

支持的更新类型
滚动更新设置 负载均衡环境 单实例环境 传统 Windows Server 环境†

已禁用

✓是

✓是

✓是

根据运行状况滚动

✓是

☓否

✓是

基于时间滚动

✓是

☓否

✓是

不可变的

✓是

✓是

☓否

† 针对此表的用途,传统 Windows Server 环境 是一个基于 Windows Server 平台配置的环境,所使用的 IIS 版本早于 IIS 8.5。