亚马逊网络服务(AWS)现货舰队是AWS现货实例这些服务器来自亚马逊的备用容量池,折扣最高可达90%。需要仔细管理现货实例,因为当市场价格接近您的投标价格时,亚马逊会在短时间内终止现货实例。
应用程序可以通过Spot Fleet应用程序编程接口(API)或命令行接口(CLI)请求Spot Fleet。由于现货实例定价经常变化,EC2不断尝试根据预定义的值来平衡容量。
要请求Spot Fleet,需要定义每实例小时的最大价格和所需的目标容量。您还需要输入启动规范、定义实例类型、所需实例的数量以及选择可用分区。
当AWS需要利用备用EC2容量为购买了预留实例、节省计划或按需实例的客户提供服务时,他们将终止现有实例并启动替换实例。
在完成现货舰队请求时,AWS现货舰队会自动选择价格最低的实例。一旦Spot fleet启用,系统就会自动管理所有已供应的实例集合。
这是我们系列文章的一部分AWS自动缩放.
在这篇文章中,你将学到:
现场实例的基本问题是它们可以在短时间内终止。对于许多类型的应用程序,特别是任务关键型应用程序,这可能是一个问题。应用程序必须能够承受在现场实例上运行的任何组件的故障,平稳地将该组件移动到另一个现场实例或按需实例。
另一个挑战是现货实例可用性非常不稳定。如果组织为其定点实例指定了一种实例类型和可用性区域,那么就有很高的风险,即特定类型的定点实例将无法在需要时保持可用。但是,通过混合实例类型和提供几种可能的可用性区域,更有可能保持实例可用性。
Spot Fleet背后的想法是让亚马逊用户:
Spot fleet还允许开发人员指定在实例终止时应该运行的脚本。以前,这将由一个控制器应用程序完成,它代表一个单点故障。现在,开发人员可以将现场实例终止的管理交给Amazon服务。
要创建一个Spot Fleet,你需要发出一个Spot Fleet请求,指定:
有两种类型的现货舰队请求:
在发出Spot Fleet请求之前,您应该仔细考虑哪种实例类型将满足您的应用程序需求,以及舰队的哪一部分应该是按需实例,以确保在Spot实例终止时,至少有一些实例将保持活动状态。
自动扩展允许您根据当前需求自动增加或减少现货舰队的目标容量。Spot Fleet可以基于几种扩展策略之一,在指定范围内启动额外的实例(向外扩展)或终止实例(向内扩展)。
现货舰队支持以下类型的自动缩放:
AWS Spot Fleet是对以前管理现货实例方法的重大改进,但仍有不足之处。
以下是spot Fleet不提供的与spot实例管理相关的关键特性。
NetApp的Spot允许您在EC2 Spot实例上可靠地运行关键任务和生产工作负载。使用预测性再平衡算法,可以提前一小时检测到现场实例中断,并主动替换处于风险中的实例。如果没有可用的现场实例,就会退回到按需实例,从而保证工作负载的连续性。如果有可用的、未使用的储蓄计划或ri, Spot by NetApp将在启动新的Spot实例之前利用这些计划,以确保最大的成本效益。
了解更多关于这两者使用现场实例的信息非负载以及容器化和Kubernetes工作负载.