amazon-web-services - 如何使用自动扩展服务自动扩展 AWS lambda
问题描述
我正在尝试在自动缩放目标中添加 lambda,并在尝试按标签获取时出现错误“未找到可扩展资源”。
是否可以或允许将 lambda 添加到自动缩放目标?
更新:我正在尝试弄清楚如何在应用程序的非高峰时段更改临时并发性,这将有助于节省一些成本,因此我正在探索自动缩放的选项
解决方案
如果所有现有执行上下文(lambda 实例)都忙,则Lambda会自动扩展传入请求。基本上你不需要在这里做任何事情,除了如果你想节流,可以设置最大允许并发。
因此,没有与 AutoScaling 集成,但如果您需要,您仍然可以使用Application Load Balancer 来触发您的 Lambda 函数。
如果您正在构建一个纯粹的无服务器应用程序,您可能希望查看 API Gateway 而不是 ALB 集成。
更新
由于您已经明确了要使用自动缩放的目的,即更改函数的预配置并发,因此有一些方法可以构建类似的东西。Clément Duveau在评论中提到了一个我可以支持的解决方案。
您可以使用 Cron-Expressions 创建具有两个 CloudWatch 事件触发器的 Lambda 函数。一个用于您想要扩展的时候,另一个用于您想要缩小的时候。
在 lambda 函数中,您可以使用触发该函数的规则的名称来确定是否需要进行横向扩展或缩减。然后,您可以通过底部提到的 SDK 之一使用PutFunctionConcurrency API 调用文档以根据您认为合适的方式调整并发性。
更新 2
spmdc 提到了一篇有趣的博客文章,使用应用程序自动缩放来实现这一点,我错过了那个 - 你可能想检查一下,看起来很有希望。
推荐阅读
- python - 无法使用 httpclientlibrary 在 lambda 函数中发送电子邮件
- django - 在 Django 模板中渲染熊猫的数据框
- nuxt.js - Vercel 上的 NUXT SSR(现在是时代)。如何部署?
- swiftui - SwiftUI:如何初始化依赖于视图中另一个变量的变量
- linux - Docker 卷绑定时,Chown 权限被拒绝
- c# - ASP.NET MVC 模型数据未更新
- python-3.x - 删除字符串中两个特定单词之间的字母
- scala-breeze - 矩阵乘法:错误:方法 *:* 的参数太多
- kubernetes - 如何将文件/应用程序添加到持久卷以供我的 pod 读取
- java - 集群中 ServletContextListener 的单个实例