设置自动扩缩组的运行状况检查宽限期 - Amazon A EC2 uto Scaling

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

设置自动扩缩组的运行状况检查宽限期

当 Amazon A EC2 uto Scaling 运行状况检查确定某个InService实例运行状况不佳时,它会将其替换为新实例。运行状况检查宽限期指定了因新实例运行状况不正常而将其终止之前继续运行的最短时间(以秒为单位)。

例如,如果 Elastic Load Balancing 运行状况检查失败,且原因是实例仍在初始化,Amazon A EC2 uto Scaling 可能需要避免采取行动。Elastic Load Balancing 运行状况检查并行运行,从实例向负载均衡器注册时开始。宽限期可防止 Amazon A EC2 uto Scaling 标记您新启动的实例,如果这些实例Unhealthy在进入状态后没有立即通过这些运行状况检查,则不必要地将其终止。InService

在控制台中,创建自动扩缩组时的运行状况检查宽限期默认为 300 秒。使用 AWS CLI 或 SDK 创建 Auto Scaling 组时,其默认值为 0 秒。值为 0 将关闭运行状况检查宽限期。

将此值设置得过高会降低 Amazon A EC2 uto Scaling 运行状况检查的有效性。如果您为实例启动使用了生命周期挂钩,则可以将运行状况检查宽限期设置为 0。借助生命周期挂钩,Amazon A EC2 uto Scaling 提供了一种方法来确保实例在进入状态之前始终处于初始化InService状态。有关更多信息,请参阅 Amazon A EC2 uto Scaling 生命周期挂钩

宽限期适用于以下实例:

  • 新启动的实例

  • 处于待机状态后重新投入运行的实例

  • 您手动附加到组的实例

重要

在运行状况检查宽限期内,如果 Amazon A EC2 uto Scaling 检测到某个实例不再处于亚马逊 EC2 running状态,它会立即标记该实例Unhealthy并替换它。例如,假设您停止了自动扩缩组中的某个实例,则该实例会被标记为Unhealthy并被替换。

设置组的运行状况检查宽限期

您可以为新的和现有的自动扩缩组设置运行状况检查宽限期。

Console
修改新组的运行状况检查宽限期

创建自动扩缩组时,在配置高级选项页面的运行状况检查运行状况检查宽限期中输入相应的时间(单位为秒)。这是 Amazon A EC2 uto Scaling 在实例进入状态后必须等待多长时间才能检查其运行InService状况。

AWS CLI
修改新组的运行状况检查宽限期

将该--health-check-grace-period选项添加到create-auto-scaling-group命令中。以下示例将为一个名为 my-asg 的新自动扩缩组配置运行状况检查宽限期,其值为 60 秒。

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg \ --health-check-grace-period 60 ...
Console
修改现有组的运行状况检查宽限期
  1. 在上打开亚马逊 EC2 控制台 https://console.aws.amazon.com/ec2/,然后从导航窗格中选择 A uto Scaling Gro ups。

  2. 在屏幕顶部的导航栏中,选择您在其中创建了自动扩缩组的 AWS 区域 。

  3. 选中 Auto Scaling 组旁边的复选框。

    这时将在页面底部打开一个拆分窗格。

  4. Details (详细信息) 选项卡上,选择 Health checks (运行状况检查)Edit (编辑)

  5. Health check grace period(运行状况检查宽限期)下,输入时间长短,单位为秒。这是 Amazon A EC2 uto Scaling 在实例进入状态后必须等待多长时间才能检查其运行InService状况。

  6. 选择更新

AWS CLI
修改现有组的运行状况检查宽限期

将该--health-check-grace-period选项添加到update-auto-scaling-group命令中。以下示例将为一个名为 my-asg 的现有自动扩缩组配置运行状况检查宽限期,其值为 120 秒。

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \ --health-check-grace-period 120
注意

我们强烈建议同时为您的自动扩缩组设置默认实例预热时间。有关更多信息,请参阅 为 Auto Scaling 组设置原定设置实例预热