AWS autoscaling和ec2 t2

我在我的架构中使用t2.medium作为前台服务器。

通常,AWS自动调整使用“CPU利用率”,但对于t2来说,这有点棘手。 当“CPU信用余额”较低时,t2.medium“CPU利用率”最大可达20%,所以自动调节不会检测到警报。

有什么办法可以缩放t2实例吗?

更新:尝试使用自定义指标https://github.com/shtrihstr/cloudwatch

在应用程序持续消费信用的情况下,应该绝对避免使用T2实例,这正是由于AWS提供的CPU信用系统的这种问题。 如果您的应用程序以一致的方式占用大量CPU,则最好使用具有相同CPU /内存比率(除了t2.large,相当于M4.large)的C3 / C4实例。

自动缩放工作是因为您认为群集的容量是一致的,并且与实例的数量成正比,在某些情况下使用T2实例可能不是这样。 一旦您的一些ASG实例(由于不同的发布date,自动缩放事件等原因而不是所有这些实例都必需)饿死它们的信用,那么这些实例提交给Cloudwatch的所有度量标准都会降低ASG度量标准的一致性,导致它们毫无用处为Autoscaling做出正确的决定。

我的方法是在CPU用完之前进行缩放。 一个简单的方法是定义一个最低可接受的贷方余额,对我来说这是50。

您可以在CloudWatch中执行此操作。 “创build警报”,EC2指标 – >通过Auto Scaling Group。

selectCPUCreditBalance,最小值为50.这样,即使平均余额在可接受范围内,单个实例在负载平衡器将其从循环中移除之前可能变慢,也可以采取行动。

您可以创build通知或自动缩放。