确保将AWS Lambda功能限制为指定的预算

时间:2018-10-24 15:02:30

标签: javascript amazon-web-services aws-lambda

我是AWS Lambda(以及一般而言的AWS)的新手。我需要为AWS写一些开发代码。

由于Lambda函数是按执行时间和请求数计费的,因此我想保证,没有失控的函数或路由垃圾邮件会使成本飞涨,使我陷入债务负担。 (这是开发代码,因此我希望会出现错误,并且我不希望它们是昂贵的错误。)

我知道AWS有向您发送电子邮件的预算警报,但这对我来说还不够好,因为可能要花几天/几周的时间,直到我注意到某处消息为止。

如果服务超出预算,是否可以告诉AWS关闭服务?我正在寻找与DigitalOcean相似的东西,您可以在其中设置固定预算。

2 个答案:

答案 0 :(得分:3)

创建一个lambda,其目的是删除已部署的lambda的源代码(s3存储桶)。

然后:

  1. 创建帐单警报
  2. 定义指标,例如:<= 5USD
  3. 创建sns主题
  4. 订阅终结点必须为lambda函数的地方

类似:

enter image description here

答案 1 :(得分:2)

没有内置功能可以让您简单地声明预算并在达到预算时停止预算(在任何AWS服务中)。

您确实有一些“ DIY”选项:

  • 限制并发并始终提供合理的超时-如果您不希望同时调用5个以上的lambda调用,或者完成时间不超过10秒,那么请设置这些限制。随着时间的流逝,将最大的并发成本限制在您需要注意的范围之内。 (docs)
  • 使用Cloudwatch指标和警报。与预算相比,这些反应要快得多(到最近的一分钟)。您可以设置总持续时间/调用次数的警报,以便在一天(或其他)超过X lambda分钟的时间收到通知。 (docs)