我对亚马逊 EC2 现货价格和按需价格有点困惑。
例如,按需 Windows 实例的价格为每小时 0.07 美元。如果我竞标“现货请求”,我是否要给出低于按需价格的价格?
现货价格可以高于按需价格吗?比如说每小时 0.08 美元如果是这样,为什么我需要以现货价格购买?
是不是因为亚马逊可以保证我在指定的日期以现货价格准备好我的实例,而按需服务无法保证我的实例在那时可用(那时亚马逊没有足够的服务器)??
谢谢!!!
答案1
据我了解,如果少数用户支付高价以在短时间内(通常只有 1 小时)访问大量服务器,则 Spot 实例定价可能高于按需定价。请参阅Spot 实例简介文档:
访问大型计算容量池:Spot 实例可用于帮助您满足对大量计算容量的偶尔需求(请注意,Spot 实例的默认限制为 100,而按需实例的默认限制为 20。)如果您的需求紧急,您可以指定较高的最高价格(甚至可能高于按需价格),这将提高您请求的相对优先级,并允许您在有其他请求和当时可用的 Spot 实例容量的情况下访问尽可能多的即时容量。虽然 Spot 实例通常不适合提供 Web 内容等稳定状态任务,但当应用程序由于意外或短期需求高峰而有紧急计算需求时,它们可以用作稳定状态应用程序的宝贵实例容量来源。
您可以阅读更多关于竞价实例和按需、预留和现货但基本上你的选择如下:
如果你需要长期(1 年或 3 年)始终在线的服务器,请选择预留实例获得“批量折扣”。通过预先付款,Amazon 可以更好地估计容量需求,并保证您的服务器在指定的时间内可用。
如果你需要一个始终在线但使用时间少于 1 年的服务器,请选择一经请求实例作为您的主节点或主节点。这些实例优先于竞价型实例,并且几乎始终在需要时可用(如上所示,最多 20 个)。一旦您的实例开始运行,Amazon 就不会终止它,除非节点出现硬件问题,在这种情况下,您将被移动到另一个节点。
如果您的工作负载可以从额外实例中受益,但您不想支付全额按需价格,那么您可以请求Spot 实例用于辅助节点或从属节点。竞价型实例的定价基于 EC2 过剩供应和竞价型实例需求,两者都是高度动态的。无法保证竞价型实例会运行(即使价格高于按需价格),并且您的服务器实例可能随时被 Amazon 终止(供支付更高的竞价型实例或按需实例使用)。这要求您的流程可重入,并且您经常保存工作。
答案2
格雷格很好地解释了细节,但我只是想根据我对现货定价实例的经验添加一些注释。
如果您使用 Amazon AWS 控制台启动现货价格实例,则有一个链接,您可以在其中查看当前现货价格并查看其随时间波动的情况。在大多数情况下,如果您出价介于当前现货价格和按需价格之间,您将在半小时左右获得您的实例(请注意,根据我的经验,与按需实例相比,获得现货价格实例肯定需要更长的时间)。此方法适用于短期实例,只要您不需要立即使用它们(例如,如果您想启动其他实例来应对网站负载波动,则需要考虑增加的启动时间)。
出价高于按需价格时要谨慎,尤其是当您想要启动多个实例时。您可能认为这可以保证您有一个正在运行的实例,但我见过这种做法实际上推高了当前的现货价格。