for AWS步骤函数中的循环

时间:2017-03-08 15:57:15

标签: amazon-web-services aws-lambda

我们有20个AWS账户,我们在每个账户的10个地区创建资源。我们希望确保AWS资源 - ELB,AMI和EBS快照被正确标记。我们希望有一个定期运行的服务来扫描帐户并删除任何未正确标记的上述资源。我们希望这是无服务器的,我们正在考虑使用Lambda。但是,Lambda存在两个问题:

  1. Lambda超时 - 目前是5分钟。
  2. 限制错误
  3. 我们需要确保在第一个帐户处理完成后处理下一个帐户(我们可以暂时休息几分钟,然后开始处理下一个帐户)。

    是否有人遇到类似的情况,如果有,它是如何实现的?

    最糟糕的情况:我们将使用ECS。

1 个答案:

答案 0 :(得分:0)

首先,你的最内层任务可以在5分钟内完成吗?如果是这样,Lambda非常适合。你的情况看起来很合适。

接下来,通过支持服务单请求更高的限制可以轻松提高限制。

最后,尝试将其分解为几个较小的函数。也许是这样的:

  • delete-resource - 删除单个未标记的资源
  • get-untagged-resources - 在帐户中获取未标记的资源并调用" delete-resource"在async.each循环中
  • get-accounts - 获取帐户列表并调用" get-untagged-resources"在async.each循环中

我实际上更喜欢让我的功能由SNS触发而不是直接调用它们,但你明白了。希望这可以帮助。