【问题标题】:Guarantee limiting AWS Lambda functions to specified budget保证将 AWS Lambda 函数限制在指定的预算范围内
【发布时间】:2018-10-30 23:28:13
【问题描述】:

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

由于 Lambda 函数是按执行时间和请求数量计费的,我想保证任何失控的函数或路由垃圾邮件都不会使成本超出我的预算并让我负债累累。 (这是开发代码,所以我预计会有错误,我不希望它们是昂贵的。)

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

如果服务超出预算,有没有办法告诉 AWS 关闭服务?我正在寻找类似于 DigitalOcean 所做的事情,您可以在其中设置固定预算。

【问题讨论】:

  • AWS Lambda 是一项成本极低的服务。例如,如果你为你的函数分配了 128MB 的内存,一个月内执行了 3000 万次,每次运行 200ms,你的费用是 5.84 美元。在收到账单提醒期间,您不太可能会花费大量费用。

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


【解决方案1】:

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

然后:

  1. 创建计费警报
  2. 定义您的指标 例如:
  3. 创建 sns 主题
  4. 订阅端点必须是 lambda 函数

有些喜欢:

【讨论】:

    【解决方案2】:

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

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

    • 限制并发并始终提供合理的超时时间 - 如果您不希望对 lambda 进行超过 5 个同时调用,或者不应该花费超过 10 秒的时间来完成,那么请设置这些限制。那随着时间的推移,将限制您承受最大并发成本的风险。 (docs)
    • 使用 Cloudwatch 指标和警报。这些比预算更具反应性(到最近的分钟)。您可以设置总持续时间/调用的警报,以便在您每天(或其他时间)超过 X lambda 分钟时收到通知。 (docs)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-25
      • 1970-01-01
      • 2017-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多