AWS Lambda用于node.js的不安全用户脚本吗?

时间:2017-04-08 12:42:03

标签: node.js lambda aws-lambda

是否可以使用AWS Lambda运行不安全的用户脚本?它应该是:

  • 应该有内存限制(好像AWS Lambda有它)。
  • 应该有执行超时(似乎AWS Lambda也有它)。此外,应该无法设置setInterval(consumeLittleCpu, 500)
  • 之类的内容
  • (会很高兴)应该隔离不同的脚本。

它会有效吗?例如,您可以说5000个不同的脚本,每个脚本每1-30秒执行一次?

与使用常规AWS实例相比,需要多少钱?数量级的精度可以很好,就像说“它将花费你不超过通常的AWS实例上的10倍相同”就足够了。

1 个答案:

答案 0 :(得分:2)

这对我来说听起来不是一个很好的用例。

Lambda容器获取reused。通常,您可以使用编程语言提供的所有功能,包括计时器。他们将在执行之间冻结,但可能会在重用时恢复。某些语言可能允许您限制脚本内容。我记得PHP服务器可以禁止调用某些功能,但我认为你无法使用Lambda进行配置。 如果您想要真正的隔离,则必须为每个脚本设置一个Lambda函数。这可以自动完成,但对我来说听起来仍然是一团糟。如果您隔离每个脚本,则必须考虑第一次执行所需的时间(可能很慢)以及Lambda函数暂时未调用所需的时间。

Lambda有一些limits,其中一些可以增加,有些则不能。你可以点击可增加的并发执行。

不知何故,你必须触发你的Lambdas。您可以使用Cloudwatch

正如您已经发现的那样,您可以限制内存和执行时间。价格方面你只需支付你实际使用的费用,这通常比大多数时间实例半空闲的便宜得多。如果您充分利用EC2 / Elastic Beanstalk实例,它们会更便宜。

更新: Pricing是每GB每秒0.00001667美元,以100毫秒的方式收费,加上每100万个请求后的请求费为0.20美元。