本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置更改
当您在环境管理控制台的 Configuration 部分修改配置选项设置时,Amazon 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。