为什么缩减保护对实例不起作用
Why scale-in protection doesnt work for the instance
我有一个 aws asg -> 配置:最小=2,最大=2,所需容量=2
我这样做了
设置缩容保护实例
暂停启动进程和 ReplaceUnhealthy 以避免创建新实例终止已停止的实例。
aws autoscaling set-instance-protection --instance-ids i-xxxxxxxxxxxx --auto-scaling-group-name xxxxxxxxxxxxxxxx --protected-from-scale-in
aws autoscaling suspend-processes --auto-scaling-group-name xxxxxxxxxxxxxxxxxxx --scaling-processes Launch ReplaceUnhealthy
aws ec2 stop-instances --instance-ids i-xxxxxxxxxxxxxx
到目前为止一切都很好。
现在恢复我所做的更改
aws ec2 start-instances --instance-ids xxxxxxxxxxxxxxxxxxx
实例再次启动
aws autoscaling resume-processes --auto-scaling-group-name xxxxxxxxxxxxxxxxxxxxxxxxxx --scaling-processes Launch ReplaceUnhealthy
- 现在,在这个命令之后,asg 启动了一个新实例,使其成为 3
然后删除不应该发生的旧实例,新的
不应该启动实例,应该只启动旧实例
重新开始。
- 这意味着缩减保护不起作用。
为什么缩减不起作用,它需要满足什么条件来保护再次启动的实例以防止终止并防止启动新实例。
我认为这可以用 ReplaceUnhealthy
works:
来解释
As soon as you resume the ReplaceUnhealthly process, Amazon EC2 Auto Scaling replaces instances that were marked unhealthy while this process was suspended.
因此,即使您暂停了 ReplaceUnhealthy
,在此期间您的实例由于停止而变得不健康。当进程恢复时,ASG“记住”实例在某一时刻出现故障,并在您恢复进程时替换它。
我有一个 aws asg -> 配置:最小=2,最大=2,所需容量=2 我这样做了
设置缩容保护实例
暂停启动进程和 ReplaceUnhealthy 以避免创建新实例终止已停止的实例。
aws autoscaling set-instance-protection --instance-ids i-xxxxxxxxxxxx --auto-scaling-group-name xxxxxxxxxxxxxxxx --protected-from-scale-in aws autoscaling suspend-processes --auto-scaling-group-name xxxxxxxxxxxxxxxxxxx --scaling-processes Launch ReplaceUnhealthy aws ec2 stop-instances --instance-ids i-xxxxxxxxxxxxxx
到目前为止一切都很好。 现在恢复我所做的更改
aws ec2 start-instances --instance-ids xxxxxxxxxxxxxxxxxxx
实例再次启动
aws autoscaling resume-processes --auto-scaling-group-name xxxxxxxxxxxxxxxxxxxxxxxxxx --scaling-processes Launch ReplaceUnhealthy
- 现在,在这个命令之后,asg 启动了一个新实例,使其成为 3 然后删除不应该发生的旧实例,新的 不应该启动实例,应该只启动旧实例 重新开始。
- 这意味着缩减保护不起作用。
为什么缩减不起作用,它需要满足什么条件来保护再次启动的实例以防止终止并防止启动新实例。
我认为这可以用 ReplaceUnhealthy
works:
As soon as you resume the ReplaceUnhealthly process, Amazon EC2 Auto Scaling replaces instances that were marked unhealthy while this process was suspended.
因此,即使您暂停了 ReplaceUnhealthy
,在此期间您的实例由于停止而变得不健康。当进程恢复时,ASG“记住”实例在某一时刻出现故障,并在您恢复进程时替换它。