如何使用自动缩放服务自动缩放 AWS lambda

How to auto-scale an AWS lambda using auto-scaling service

我正在尝试将 lambda 添加到自动缩放目标中,并在尝试按标签获取时收到错误“找不到可缩放资源”。

是否可以或允许将 lambda 添加到自动缩放目标?

更新: 我想弄清楚如何在应用程序的非高峰时段更改临时并发,这将有助于节省一些成本,所以我正在探索自动缩放选项

Lambda 自动 如果所有现有执行上下文(lambda 实例)都处于繁忙状态,则会扩展传入请求。基本上您不需要在这里做任何事情,除了如果您想要节流可以设置允许的最大并发数。

因此,没有与 AutoScaling 的集成,但如果您需要的话,您仍然可以使用 Application Load Balancer to trigger your Lambda Function

如果您正在构建一个纯粹的无服务器应用程序,您可能希望查看 API 网关而不是 ALB 集成。


更新

既然您已经阐明了要使用自动缩放的目的,即更改函数的预配置并发性,那么有一些方法可以构建类似的东西。 Clément Duveau在评论中提到了一个解决方案,我可以落后。

您可以使用 Cron-Expressions 创建带有两个 CloudWatch 事件触发器的 Lambda 函数。一种用于您想要向外扩展的情况,另一种用于您想要向内扩展的情况。

在 lambda 函数中,您可以使用触发函数的规则的名称来确定是否需要进行扩展或缩小。然后您可以使用 PutFunctionConcurrency API - 通过文档底部提到的 SDK 之一调用,以根据需要调整并发性。


更新 2

spmdc 提到了一个有趣的 blog post 使用应用程序自动缩放来实现这一点,我错过了那个 - 你可能想检查一下,看起来很有希望。