可用的预热和冷却设置
为了帮助优化扩缩性能,请为您的 Auto Scaling 组选择适当的预热和冷却设置。
我们建议使用 DefaultInstanceWarmup
设置,它统一了所有预热和冷却设置。如果需要,您也可以使用 HealthCheckGracePeriod
设置。
其他可用设置不宜与 DefaultInstanceWarmup
设置同时使用。例如,已经定义了 DefaultInstanceWarmup
时将不需要 EstimatedInstanceWarmup
和 InstanceWarmup
,而 DefaultCooldown
和 Cooldown
仅在使用简单扩缩策略时才需要。(作为最佳实践,我们建议您使用目标跟踪扩缩策略和步进扩缩策略,而不是简单扩缩策略。) 但我们将继续支持所有这些设置,以便您可以根据自己的使用案例选择适当的设置。
DefaultInstanceWarmup
(推荐)
API 操作:CreateAutoScalingGroup、UpdateAutoScalingGroup
新启动的实例可以向 Amazon CloudWatch 指标提供数据之前需要经过的时间(以秒为单位)。此延迟可让实例在 Amazon EC2 Auto Scaling 聚合实例指标之前完成初始化,从而获得更可靠的使用情况数据。将此值设置为等于资源消耗在实例到达 InService
状态之后达到稳定需要经过的时间。有关更多信息,请参阅为 Auto Scaling 组设置原定设置实例预热。
如果您为实例启动使用了生命周期钩子,则可以降低实例预热的值。如果您的 Auto Scaling 组位于负载均衡器后面,则可以向组添加生命周期钩子,以确保实例在生命周期钩子结束时注册到负载均衡器之前,已准备好提供流量。有关更多信息,请参阅Amazon EC2 Auto Scaling 生命周期钩子。
要在组级别管理预热设置,我们建议您设置原定设置实例预热,即使其值设置为 0 秒。这还可优化会持续扩展的扩缩策略的性能,例如目标跟踪扩缩策略和步进扩缩策略。
如果需要移除先前设置的值,请包含该属性,但应将该值指定为 -1
。但我们强烈建议您通过将最小值指定为 0
来保持启用原定设置实例预热。
默认值:无
EstimatedInstanceWarmup
定义了 DefaultInstanceWarmup
时不需要。
API 操作:PutScalingPolicy
新启动的实例可影响 CloudWatch 指标的估计时间(以秒为单位)。此预热时间适用于因特定目标跟踪扩缩策略或步进扩缩策略启动的实例。在此处指定预热时间时,它将覆盖原定设置实例预热。有关更多信息,请参阅 目标跟踪扩缩策略 和 步进和简单扩展策略。
原定设置:如果未定义,则此参数的值默认为为该组定义的原定设置实例预热的值。如果原定设置实例预热为空,则将回退到原定设置冷却时间的值。
InstanceWarmup
定义了 DefaultInstanceWarmup
时不需要。
API 操作:StartInstanceRefresh
适用于特定实例刷新操作的预热时间(以秒为单位)。指定启动实例刷新时的预热时间将覆盖原定设置实例预热,但仅适用于当前的实例刷新。有关更多信息,请参阅基于实例刷新替换 Auto Scaling 实例。
原定设置:如果未定义,则此参数的值默认为为该组定义的原定设置实例预热的值。如果原定设置实例预热为空,则将回退为运行状况检查宽限期的值。
DefaultCooldown
仅在使用简单扩缩策略时才需要。
API 操作:CreateAutoScalingGroup、UpdateAutoScalingGroup
从因简单扩缩策略触发的一个扩缩活动结束到另一个扩缩活动开始之间的时长(秒)。有关更多信息,请参阅Amazon EC2 Auto Scaling 的缩放冷却时间。
原定设置:300
秒。
Cooldown
仅在使用简单扩缩策略时才需要。
API 操作:PutScalingPolicy
适用于特定简单扩缩策略的冷却时间(以秒为单位)。(不再建议使用简单扩缩策略。作为最佳实践,我们建议改为目标跟踪扩缩策略和步进扩缩策略。) 在此处指定冷却时间时,它将覆盖原定设置冷却。有关更多信息,请参阅Amazon EC2 Auto Scaling 的缩放冷却时间。
默认值:无
HealthCheckGracePeriod
API 操作:CreateAutoScalingGroup、UpdateAutoScalingGroup
Amazon EC2 Auto Scaling 在检查已投入使用的 EC2 实例的运行状况,并且会因 Elastic Load Balancing 或自定义运行状况检查失败而将其标记为运行不正常之前需要等待的时间(以秒为单位)。如果您的实例在进入 InService
状态后未立即通过这些运行状况检查,则这将非常有用。有关更多信息,请参阅设置自动扩缩组的运行状况检查宽限期。
如果您为实例启动使用了生命周期钩子,则可以将运行状况检查宽限期的值设置为 0
。如果您的 Auto Scaling 组位于负载均衡器后面,则应考虑向组添加生命周期钩子,以确保实例在生命周期钩子结束时注册到负载均衡器之前,已准备好提供流量。有关更多信息,请参阅Amazon EC2 Auto Scaling 生命周期钩子。
原定设置:在 Amazon Web Services Management Console 中创建的 Auto Scaling 组为 300
秒。使用 Amazon CLI 或 SDK 创建的 Auto Scaling 组为 0
秒。