我正在创建一堆EBS快照作为AWS Lambda的一部分。我需要在这些快照完成时捕获事件,以便我可以基于这些创建一个ec2实例。
我可以使用snapshot waiter但是这个民意调查有时快照创建需要很长时间。我不希望Lambda继续运行一段时间,加上Lambda的最长时间似乎是五分钟。我查看了CloudWatch和AWS Config,看看我是否可以捕获快照事件但没有运气。
答案 0 :(得分:2)
在AWS Cloudwatch Events中完成快照时,现在有一个新事件:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-cloud-watch-events.html
答案 1 :(得分:1)
您是正确的 - 没有通知事件表示EBS快照已完成。相反,您需要检查状态,直到状态更改为completed
。
AWS Lambda函数可以运行最多5分钟,并且让Lambda函数等待外部进程并不是一个好的架构,这也是正确的。
相反,您可以拆分架构:
completed
,请执行流程中的下一步缺点是,即使队列中没有消息,预定的Lambda函数也会触发。 Lambda函数将很快退出(成本:100ms)。
另一种方法是在Amazon EC2实例(或连接到Internet的任何计算机上)运行cron
脚本。 t2.nano
实例每天大约15.6c,这可能比计划Lambda函数更昂贵。如果您已经使用了实例,则不会产生额外费用。