为自动扩缩组设置实例维护策略 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

为自动扩缩组设置实例维护策略

您可以在创建自动扩缩组时创建实例维护策略。也可以为现有的组创建此功能。

通过为自动扩缩组设置实例维护策略,您不必再为实例刷新功能指定最低和最高运行正常百分比,除非您想覆盖实例维护策略。

在控制台中,Amazon EC2 Auto Scaling 提供了可帮助您入门的选项。

设置实例维护政策

要在自动扩缩组上设置实例维护策略,请使用以下方法之一:

Console
为新的组设置实例维护策略(控制台)
  1. 按照 使用启动模板创建 Auto Scaling 组 中的说明完成过程中的每个步骤,直到步骤 11。

  2. 配置组大小和扩展策略中,对于所需容量,输入要启动的初始实例数。

  3. 扩展部分的扩展限制下,如果所需容量的新值大于所需的最小容量最大所需容量,则所需的最大容量将自动增加到新的所需容量值。您可以按需更改这些限制。

  4. 对于自动扩缩,请选择是否要创建目标跟踪扩展策略。您也可以在创建自动扩缩组后再创建此策略。

    如果您选择目标跟踪扩展策略,请按照 创建目标跟踪扩缩策略 中的说明创建策略。

  5. 实例维护策略部分,选择下列可用选项之一:

    • 终止前启动:必须先配置新实例,然后才能终止现有实例。对于偏向于可用性而不是成本节约的应用程序来说,这是一个不错的选择。

    • 终止并启动:在终止现有实例的同时配置新实例。对于偏向于节省成本而不是可用性的应用程序来说,这是一个不错的选择。对于启动容量不应超过当前可用容量的应用程序来说,它也是一个不错的选择。

    • 自定义策略:此选项允许您在替换实例时使用自定义的最小和最大容量范围来设置策略。这可以帮助您在成本和可用性之间取得适当的平衡。

  6. 对于设置运行正常百分比,为以下一个或两个字段输入值。根据您在上一步中选择的选项,启用的字段会有所不同。

    • 最小:设置继续替换实例所需的最低运行正常百分比。

    • 最大:设置替换实例时可能的最高运行正常百分比。

  7. 展开根据所需容量在更换期间查看容量部分,以确认最小值最大值的值如何适用于您的组。使用的确切值取决于所需的容量值,如果组发生扩缩,该值将发生变化。

  8. 继续完成使用启动模板创建 Auto Scaling 组中的步骤。

Amazon CLI
为新组设置实例维护策略 (Amazon CLI)

create-auto-scaling-group命令中添加--instance-maintenance-policy选项。以下示例对名为的新自动扩缩组设置实例维护策略my-asg

aws autoscaling create-auto-scaling-group \ --launch-template LaunchTemplateName=my-launch-template,Version='1' \ --auto-scaling-group-name my-asg \ --min-size 1 \ --max-size 10 \ --desired-capacity 5 \ --default-instance-warmup 20 \ --instance-maintenance-policy '{ "MinHealthyPercentage": 90, "MaxHealthyPercentage": 120 }' \ --vpc-zone-identifier "subnet-5e6example,subnet-613example,subnet-c93example"
Console
为现有的组设置实例维护策略(控制台)
  1. 访问 https://console.aws.amazon.com/ec2/,打开 Amazon EC2 控制台,然后从导航窗格中选择 Auto Scaling Groups(Auto Scaling 组)。

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

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

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

  4. 详细信息选项卡上,选择实例维护策略编辑

  5. 要为组设置实例维护策略,请选择下列可用选项之一:

    • 终止前启动:必须先配置新实例,然后才能终止现有实例。对于偏向于可用性而不是成本节约的应用程序来说,这是一个不错的选择。

    • 终止并启动:在终止现有实例的同时配置新实例。对于偏向于节省成本而不是可用性的应用程序来说,这是一个不错的选择。对于启动容量不应超过当前可用容量的应用程序来说,它也是一个不错的选择。

    • 自定义策略:此选项允许您在替换实例时使用自定义的最小和最大容量范围来设置策略。这可以帮助您在成本和可用性之间取得适当的平衡。

  6. 对于设置运行正常百分比,为以下一个或两个字段输入值。根据您在上一步中选择的选项,启用的字段会有所不同。

    • 最小:设置继续替换实例所需的最低运行正常百分比。

    • 最大:设置替换实例时可能的最高运行正常百分比。

  7. 展开根据所需容量在更换期间查看容量部分,以确认最小值最大值的值如何适用于您的组。使用的确切值取决于所需的容量值,如果组发生扩缩,该值将发生变化。

  8. 选择更新

Amazon CLI
为现有组设置实例维护策略 (Amazon CLI)

update-auto-scaling-group命令中添加--instance-maintenance-policy选项。以下示例为指定的自动扩缩组设置实例维护策略。

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \ --instance-maintenance-policy '{ "MinHealthyPercentage": 90, "MaxHealthyPercentage": 120 }'

删除实例维护策略

如果您想停止在自动扩缩组使用实例维护策略,则可以将其删除。

Console
删除实例维护策略(控制台)
  1. 访问 https://console.aws.amazon.com/ec2/,打开 Amazon EC2 控制台,然后从导航窗格中选择 Auto Scaling Groups(Auto Scaling 组)。

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

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

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

  4. 详细信息选项卡上,选择实例维护策略编辑

  5. 选择无实例维护策略

  6. 选择更新

Amazon CLI
删除实例维护策略 (Amazon CLI)

update-auto-scaling-group命令中添加--instance-maintenance-policy选项。以下示例从指定的自动扩缩组删除实例维护策略。

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \ --instance-maintenance-policy '{ "MinHealthyPercentage": -1, "MaxHealthyPercentage": -1 }'