我正在使用AutoScalingGroup启动一组EC2实例。这些实例充当工作人员,他们不断听取SQS的任何新请求。
要求: 在吞吐量等方面进行扩展(即按总数实例在SQS中显示的消息总数)。
并且我想在ASG中的任何实例闲置(CPUIdle)超过15分钟时进行缩小处理。
注意:我没有寻找任何可整体应用于特定ASG的指标(例如:平均CPU)。
一种方法是定义自定义指标,并允许它触发cloudwatch警报。 有没有更好的方法可以做到这一点?
答案 0 :(得分:0)
如果要在实例级别定义扩展策略,那么您将无法达到ASG的全部目的。如果需要根据不断变化的条件(例如队列大小)进行扩展,则可以根据此处指定的条件配置ASG
https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-using-sqs-queue.html
发送到Amazon CloudWatch的自定义指标,该指标衡量Auto Scaling组中每个EC2实例在队列中的消息数。
一种目标跟踪策略,可将您的Auto Scaling组配置为根据>自定义指标和设置的目标值进行扩展。 CloudWatch警报调用扩展策略。
如果您知道队列大小增加或减少时的特定时间窗口,则还可以根据计划进行扩展。
您总是可以从ASG中的实例数非常低开始,并设置所需的容量(例如1)并根据队列进行扩展,因此您可以继续使用ASG策略。