如何使用自动缩放服务自动缩放 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 使用应用程序自动缩放来实现这一点,我错过了那个 - 你可能想检查一下,看起来很有希望。
我正在尝试将 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 使用应用程序自动缩放来实现这一点,我错过了那个 - 你可能想检查一下,看起来很有希望。