使用实例缩减保护 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

使用实例缩减保护

要控制 Auto Scaling 组在缩减时是否可以终止特定实例,请使用实例缩减保护。您可以对 Auto Scaling 组或单个 Auto Scaling 实例启用实例缩减保护设置。Auto Scaling 组启动实例时,它会继承 Auto Scaling 组的实例缩减保护设置。您可以随时更改 Auto Scaling 组或 Auto Scaling 实例的实例缩减保护设置。

当实例状态为 InService 时,实例缩减保护启动。当您分离受终止保护的实例时,其实例缩减保护设置就会失效。再次将实例挂载到组时,它会继承组的当前实例缩减保护设置。

如果缩减期间 Auto Scaling 组中的所有实例都受终止保护并且发生缩减事件,则该组的所需容量会减少。不过,Auto Scaling 组不能终止所需数量的实例,直到其实例缩减保护设置被禁用。

实例缩减保护并不能针对以下情况保护 Auto Scaling 实例:

  • 通过 Amazon EC2 控制台手动终止terminate-instances命令或TerminateInstancesaction. 要保护 Auto Scaling 实例不被手动终止,请启用 Amazon EC2 终止保护。有关更多信息,请参阅 。启用终止保护中的适用于 Linux 实例的 Amazon EC2 用户指南.

  • 实例未通过运行状况检查的情况下的运行状况检查更换。有关更多信息,请参阅 Auto Scaling 实例的运行 Health 况检查。要阻止 Amazon EC2 Auto Scaling 终止运行状况不佳的实例,请暂停 ReplaceUnhealthy 流程。有关更多信息,请参阅 暂停和恢复 Auto Scaling 组的流程

  • Spot 实例中断。当 Spot 实例的容量不再可用或 Spot 价格超过您的最高价时,将终止该实例。

为组启用实例缩减保护

您可以在创建 Auto Scaling 组时启用实例缩减保护。默认情况下,实例缩减保护处于禁用状态。

启用实例缩减保护(console)

创建 Auto Scaling 组时,在配置组大小和扩展策略页面,在实例扩展保护,选择启用实例缩减保护选项。

启用实例缩减保护 (Amazon CLI)

使用以下create-auto-scaling-group命令启用实例缩减保护。

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --new-instances-protected-from-scale-in ...

修改组的实例缩减保护设置

您可以启用或禁用 Auto Scaling 组的实例缩减保护设置。启用实例缩减保护设置后,启用该设置后启动的所有新实例都将启用实例缩减保护。仅当您为每个实例单独启用实例缩减保护设置时,先前启动的实例才会受到扩展保护。

更改组的实例缩减保护设置(console)

  1. 以下网址打开 Amazon EC2 Auto Scaling 控制台:https://console.aws.amazon.com/ec2autoscaling/.

  2. 选中 Auto Scaling 组旁的复选框。

    将在 Auto Scaling groups (Auto Scaling 组) 页面底部打开一个拆分窗格,其中显示有关所选组的信息。

  3. Details (详细信息) 选项卡上,选择 Advanced configurations (高级配置)Edit (编辑)

  4. 对于 Instance scale-in protection (实例缩减保护),选择 Enable instance scale-in protection (启用实例缩减保护)

  5. 选择 Update

更改组的实例缩减保护设置 (Amazon CLI)

使用以下update-auto-scaling-group命令为指定的 Auto Scaling 组启用实例缩减保护。

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --new-instances-protected-from-scale-in

使用以下命令为指定组禁用实例缩减保护。

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --no-new-instances-protected-from-scale-in

修改实例的实例缩减保护设置

默认情况下,实例从其 Auto Scaling 组获取其实例缩减保护设置。但是,您随时可以对实例启用或禁用实例缩减保护。

更改实例的实例缩减保护设置(console)

  1. 以下网址打开 Amazon EC2 Auto Scaling 控制台:https://console.aws.amazon.com/ec2autoscaling/.

  2. 选中 Auto Scaling 组旁的复选框。

    将在 Auto Scaling groups (Auto Scaling 组) 页面底部打开一个拆分窗格,其中显示有关所选组的信息。

  3. Instance management (实例管理) 选项卡的 Instances (实例) 中,选择实例。

  4. 要启用实例缩减保护,请依次选择 Actions (操作)Set scale-in protection (设置缩减保护)。系统提示时,选择 Set scale-in protection (设置缩减保护)

  5. 要禁用实例缩减保护,请依次选择 Actions (操作)Remove scale-in protection (删除缩减保护)。系统提示时,选择 Remove scale-in protection (删除缩减保护)

更改实例的实例缩减保护设置 (Amazon CLI)

使用以下集实例保护命令为指定的实例启用实例缩减保护。

aws autoscaling set-instance-protection --instance-ids i-5f2e8a0d --auto-scaling-group-name my-asg --protected-from-scale-in

使用以下命令为指定实例禁用实例缩减保护。

aws autoscaling set-instance-protection --instance-ids i-5f2e8a0d --auto-scaling-group-name my-asg --no-protected-from-scale-in