AWS fargate中自动缩放策略之间的区别

时间:2019-11-17 15:38:57

标签: amazon-web-services autoscaling aws-fargate

我开始在Amazon Web Service中探索fargate,并且按预期运行。
现在,当我尝试应用其他自动缩放策略时,我无法理解 Step-Scaling Target Tracking policy 之间的区别

我了解逐步缩放策略是:

我们指定了多个阈值以及不同的响应。

阈值A-当CPU利用率在40%到50%之间时添加1个实例

阈值B-当CPU利用率在50%到70%之间时添加2个实例

阈值C-当CPU利用率在70%到90%之间时添加3个实例

依此类推

(即,有多个阈值

1)但是我不明白目标跟踪策略是如何工作的?
2)不确定“逐步扩展”和“目标跟踪”策略之间的区别

谢谢,
哈里

2 个答案:

答案 0 :(得分:2)

AWS Fargate中自动缩放策略之间的区别(步骤缩放与目标跟踪)

逐步扩展

分步缩放策略根据您指定的 一组缩放调整(称为分步调整)来增加或减少当前容量。使用逐步缩放,您可以控制缩放调整

请参阅此处: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-autoscaling-stepscaling.html

目标跟踪

通过目标跟踪扩展策略, Amazon ECS创建和管理触发扩展策略的CloudWatch警报,并根据CloudWatch指标和目标值计算您指定的。借助“目标跟踪”, AWS根据您的目标自动控制缩放调整

  

使用目标跟踪扩展策略,您可以选择一个CloudWatch指标   并设置一个目标值。 Amazon ECS创建和管理 CloudWatch   触发缩放策略并计算缩放比例的警报   根据指标和目标值进行调整。缩放策略会根据需要添加或删除服务任务,以使指标保持在或接近指定目标值。

     

https://docs.aws.amazon.com/AmazonECS/latest/userguide/service-autoscaling-targettracking.html

例如,如果您将平均CPU利用率设置为90%,Amazon ECS将调整任务数(启动或停止任务)以保持此目标。

注意:已对该答案进行了修订,以更有效地针对主题行中的问题,以使将来的读者受益(而不是满足提问者的特定问题)。

答案 1 :(得分:2)

我会尽力回答您的问题。

  
      
  1. 但是我不明白目标跟踪策略是如何工作的?
  2.   

好吧,AWS根据您指定的目标为您创建Cloudwatch警报。它监视警报,并在发生任何警报突破时,尝试通过放大或缩小将指标保持在目标值附近。另外,由于负载模式的变化,目标跟踪扩展策略也会根据指标的变化进行调整。

  
      
  1. 不确定步进缩放和目标跟踪策略之间的区别
  2.   

如果我确定我的缩放指标与自动缩放组中实例数量的比例增加/减少,我会采用目标跟踪策略。另一方面,如果我想对扩展或扩展进行更细粒度的控制,则可以进行逐步扩展,例如,我有一个实时Websocket应用程序,位于负载均衡器后面(连接算法最少),平均CPU利用率突然开始超过80,我可能会添加3-4个实例,以便所有新连接都路由到我的新实例,而其他实例则喘口气。

  

因此,如果我理解正确,那么在逐步扩展中,我们需要指定   正如我在问题中提到的,但在目标跟踪中   需要指定一个目标值,例如90%,这表明   如果实例具有90%的CPU,那么它将跨越另一个实例吗?

是的,这是正确的。 AWS ECS负责生成另一个任务/实例,以便使该指标受到检查。

  

确保在所有实例中都维持最大90%的CPU   假设我的目标价值是90%?

否,如果您的目标值为90%,则不能确保所有实例的CPU使用率均低于90%。目标值通常是扩展组中所有实例的平均指标。您可以定义自己的指标,但应与目标跟踪策略兼容。您可以在这里(https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html)上找到更多相关信息。