是否可以使用AWS Lambda运行不安全的用户脚本?它应该是:
setInterval(consumeLittleCpu, 500)
。它会有效吗?例如,您可以说5000个不同的脚本,每个脚本每1-30秒执行一次?
与使用常规AWS实例相比,需要多少钱?数量级的精度可以很好,就像说“它将花费你不超过通常的AWS实例上的10倍相同”就足够了。
答案 0 :(得分:2)
这对我来说听起来不是一个很好的用例。
Lambda容器获取reused。通常,您可以使用编程语言提供的所有功能,包括计时器。他们将在执行之间冻结,但可能会在重用时恢复。某些语言可能允许您限制脚本内容。我记得PHP服务器可以禁止调用某些功能,但我认为你无法使用Lambda进行配置。 如果您想要真正的隔离,则必须为每个脚本设置一个Lambda函数。这可以自动完成,但对我来说听起来仍然是一团糟。如果您隔离每个脚本,则必须考虑第一次执行所需的时间(可能很慢)以及Lambda函数暂时未调用所需的时间。
Lambda有一些limits,其中一些可以增加,有些则不能。你可以点击可增加的并发执行。
不知何故,你必须触发你的Lambdas。您可以使用Cloudwatch。
正如您已经发现的那样,您可以限制内存和执行时间。价格方面你只需支付你实际使用的费用,这通常比大多数时间实例半空闲的便宜得多。如果您充分利用EC2 / Elastic Beanstalk实例,它们会更便宜。
更新: Pricing是每GB每秒0.00001667美元,以100毫秒的方式收费,加上每100万个请求后的请求费为0.20美元。