如何避免在EC2上计算未使用时间?

时间:2011-07-16 02:58:57

标签: python amazon-ec2 distributed

我有一个需要在EC2上运行的定期任务。此任务运行时间不会超过10分钟,我不想最终支付此任务将闲置的其他50分钟。根据我的理解,如果我启动一个实例并运行此任务,无论我是否使用任何资源,我都会收取使用费用。所以我希望每60分钟左右在以下几行做一些事情(只是一个高级草图):

def invokeTimer(i):
   if timer(i) expired:
      copyDataFromNode(i)
      killNode(i)

while True:
   for i in range(1,10):
      startNode(i)
      # Allow the node to boot up
      startScript(i)
      invokeTimer(i)
   sleep(60000)

假设我能够传达我的想法,是否有一种很好的方式以干净的方式实现这一点,或者可能是一个可能有帮助的教程?

2 个答案:

答案 0 :(得分:7)

尝试picloud并按秒付费。

答案 1 :(得分:5)

无论你做什么,你都会支付整整一小时的费用。

一旦启动EC2实例(您将它们称为节点,但这是错误的),您需要支付一小时的费用。任何部分时间都计入一个小时。

如果您拍摄机器的AMI(备用图片),则需要支付EBS卷的费用,因此也需要支付费用。

最好的办法是使用现场实例为常规实例节省一些钱。