Amazon web services 如何将目标跟踪策略用于SQS队列?

Amazon web services 如何将目标跟踪策略用于SQS队列?,amazon-web-services,message-queue,autoscaling,aws-policies,Amazon Web Services,Message Queue,Autoscaling,Aws Policies,我已经建立了一个应用程序,它使用基于step和简单扩展策略的自动扩展架构,使用消息SQS队列而不是负载平衡器。示例:如果队列上的可用消息为10+,则从我的启动模板启动一个新实例,总共启动2个实例。类似地,如果实例数小于10,则简单缩放策略将运行实例数设置为1 我注意到,目标跟踪缩放策略是简单和分步缩放策略的更好选择。关于如何设置它有什么想法/提示吗?我不能100%确定您是否在使用EC2、Fargate等,但这里有一个很好的指南:。有很多需要考虑的因素,我建议在开始之前把它们都读一遍。还有一些使用

我已经建立了一个应用程序,它使用基于step和简单扩展策略的自动扩展架构,使用消息SQS队列而不是负载平衡器。示例:如果队列上的可用消息为10+,则从我的启动模板启动一个新实例,总共启动2个实例。类似地,如果实例数小于10,则简单缩放策略将运行实例数设置为1


我注意到,目标跟踪缩放策略是简单和分步缩放策略的更好选择。关于如何设置它有什么想法/提示吗?

我不能100%确定您是否在使用EC2、Fargate等,但这里有一个很好的指南:。有很多需要考虑的因素,我建议在开始之前把它们都读一遍。还有一些使用CLI的示例

由于您希望使用自定义度量,您可能应该查看一下允许您从cloudwatch指定要使用的度量的方法。我不记得QueueLength是否是默认指标。如果不是,那么您需要创建一个计划的lambda或类似的东西,定期将其作为一个自定义度量来读取


就我个人而言,我有一个类似的用例,其中我有几个SQS队列(大约30个),可扩展的服务处理这些队列。我更喜欢使用Lambda来检查队列的长度,并根据最大队列的长度进行缩放。我觉得它是可靠的,如果你已经设置好了,你可能不会通过改变这个获得太多。此外,有时我们的服务需求高峰如此之高,以至于如果我允许AWS按需要扩展,DB将在负载下“崩溃”。请确保在缩放配置中考虑这一点。

还有一个特定于SqS的指南: