【发布时间】:2021-12-10 22:20:05
【问题描述】:
我注册了一个免费级别的 AWS Lambda 账户,并创建了一个简单的公共服务供我和其他人使用。但是,由于我还不知道使用情况如何,所以我现在要小心。否则有人可能会简单地用一百万个请求淹没我的服务,而我会为此付费。我宁愿没有可用的服务。
因此,我想创建一个预算操作,一旦超过 0.01 美元就关闭所有服务。我这样做的方式是我已授予 Lambda 服务角色(在我设置 lambda 服务时自动创建)预算权限 (budgets.amazonaws.com),然后有一个 IAM 操作设置添加AWSDenyAll 超出预算后对角色本身的托管策略。
这似乎不起作用。如果我手动附加 AWSDenyAll 策略,Lambda 服务仍然可用。我对角色/策略系统的理解也可能从根本上是错误的。
如何实现可以从预算警报触发的“完全关闭”操作?
【问题讨论】:
-
“仍然可用” - 你到底是什么意思? Lambda 还能被调用吗?您要将 AWSDenyAll 策略附加到什么?它是否附加到 Lambda 执行角色?您在使用 API 网关吗?另外,关闭是指根本不调用还是不通过 API 网关调用?它有什么不同吗?在这种情况下没有直接关系,但也很高兴知道API GW usage plans
-
抱歉不够清楚。我确实设置了 Lambda 和 API 网关,并希望在发生任何费用后立即将其完全关闭。我手动将 AWSDenyAll 附加到创建 Lambda 服务时自动创建的角色,这是错误的吗?仍然可用:当我期望 403 或其他内容时,它仍然响应(HTTP 200)。我希望全部关闭,包括 API Gateway 和 Lambda,这样就不会产生进一步的成本。
标签: amazon-web-services aws-lambda