我们正在使用EC2现场实例来抓取数据。 在任何时候,我们需要运行20个实例。 我们的目标是实现高可用性和成本优化。
我们要遵循的scheme如下:我们以非常高的出价(5美元)启动20个现货实例,以避免终止。 我们继续监测现货价格,当我们发现现货价格高于2美元并且在那里保持超过N小时时,我们启动20个按需实例,然后终止所有现货实例。
再次监测现货价格,当现货价格稳定下来时,启动20个现货实例并终止按需实例。
为了简单起见,我们正在寻找一种现成的工具来处理这个问题。 我可以使用自动缩放或其他工具来做到这一点吗?
我不知道有任何工具会为你做这个。 您可以使用自动缩放来获取实例实例,但是除了可以轻松控制当前正在运行的实例的数量之外,不会执行您在此处描述的操作。
在我工作的地方,我们尝试了类似的设置,我们也是这样想的。 build立一个高出价,我们将永远不会破坏实例。 让我告诉你,即使是高出价,你会得到终止的实例,如果你很不幸,你将不得不支付非常高的出价。 大约在一年前,有很多人这样做,有些人会为了某些事情而疯狂地出价高达100美元,并且不得不为此付出代价。
如果你看价格的历史,有很多的例子。 看看美东1-5的c1.medium,你可以看到1月24日的价格从0.018跳到了0.165美元。 这将有效地终止所有您没有任何通知运行的实例。 我会提醒你,这个设置是有风险的。
但是,这种模式可以节省大量的成本,有一些成功的公司能够实现这一目标,但这并不容易,也没有简单的工具(我知道)会为您做到这一点。 这真的取决于你的用例。 如果你需要100%的正常运行时间,这是不是一个好的解决scheme,除非你有某种混合系统,你总是有按需实例运行,以防现场实例中出现某种故障。
我们决定在完成100%的正常工作后,变得非常痛苦。 对于我们来说,最便宜的解决scheme是使用保留实例,它们比按需实例要便宜得多,而且对于保留实例,我确定可以find适合您的用例的新定价模型,现在您可以使用Light中型或重型预留实例。