AWS 实例无缘无故地增多和消亡

AWS 实例无缘无故地增多和消亡

自从我们将集群项目从 Google 转移到 AWS 以来,这种情况已经发生过几次了。

我们有一个 EFS 卷,它安装在 Beanstalk 项目中的负载平衡集群上。

我将处于设置某些内容的过程中,要么将大型 ZIP 文件上传到该 EFS 卷(通过负载平衡集群上的实例),要么从集群实例上的 ssh 会话解压缩一个文件,然后我会突然发现该实例从我身下被撕掉,并且发现集群已经产生了两个(或更多)新实例,并且正在关闭我正在访问的那个实例。

这是怎么回事?这些实例都是“t2-micro”实例;它们是否不足以承受持续负载,并且耗尽了突发容量?有人见过这样的事情吗?

答案1

所以你得到了t2.micro这个Auto Scaling 组(ASG)我认为?

并且此 ASG 配置为根据平均 CPU 负载扩大/缩小?

你对一些大型 ZIP 文件进行了超载处理,用完了CPU 积分,CloudWatch 注意到平均 CPU 负载超过阈值并启动新实例。正如预期的那样。

这样可以降低平均 CPU 负载,并且 ASG 会终止运行时间最长的实例(您正在处理的实例)。这也符合预期。

  1. 我猜你的扩大/缩小阈值太接近了(也许你在负载> 60%时扩大规模,在负载<50%时缩小规模) - 配置一个差距更大,例如 60% / 30%)。

  2. 不要让 T2/T3 超载,使用T2/T3 无限制或者使用其他不使用 CPU 积分并提供一致性能的实例类型(如 M4、M5 或 C5)。

  3. 将 ASG 中的实例视为不可变的- 你应该绝不需要登录 ASG 中的实例,所有配置都应通过启动配置脚本自动完成。因为你永远不知道它们何时启动或停止。

希望有帮助:)

相关内容