抢占式实例存在多种出价模式,您可以根据实际情况进行选择。本文将对抢占式实例不同出价模式进行对比分析,并提供出价模式最佳实践。
背景信息
抢占式实例是一种按需实例,相对于按量付费实例价格有一定的折扣,旨在为您降低部分场景下使用ECS实例的成本。抢占式实例自身支持以下出价模式:
- 设定您的最高价(SpotWithPriceLimit)
- 使用自动出价(SpotAsPriceGo)
本教程还提供了使用自动出价(SpotAsPriceGo)结合运维编排服务OOS的ACS-ECS-AlarmWhenDiscountAndPriceExceedsThresholdInMultiZoneAndInstanceType
公共模板的组合方案,为您提供成本保障的同时,降低抢占式实例的中断概率。
出价模式对比
- 模式一:设定您的最高价(SpotWithPriceLimit)
该模式下需要您设置一个价格上限,即您愿意为这个实例规格支付的最高价格。如果实例规格在价格波动时超出您设置的价格上限,则对应的ECS实例将会触发中断事件。对该模式的分析如下:
- 优点:严格控制成本,能够保证实例规格的费用不会超出既定的成本。
- 缺点:如果资源价格波动剧烈,则会提升触发实例中断事件的概率,降低实例的稳定性。
- 适用场景:业务对ECS实例的预算以及价格要求极其严格,完全不允许超出预算。
- 模式二:使用自动出价(SpotAsPriceGo)
该模式为跟随当前市场价格的模式,即表示您始终接受实时的市场价格作为实例规格的计费价格。对该模式的分析如下:
- 优点:即使资源价格波动剧烈,也仍能保证实例不会被中断,降低了实例中断的概率,增加了实例的稳定性。
- 缺点:较难控制成本,当资源价格上升时也无法感知到该信息,可能导致成本超支。
- 适用场景:业务成本要求不严格,要求在提升实例稳定性的同时,尽可能的节省成本。
- 模式三:使用自动出价(SpotAsPriceGo)结合运维编排OOS
抢占式实例的使用自动出价(SpotAsPriceGo)模式无法直接感知到资源价格的上升,当结合运维编排OOS的
ACS-ECS-AlarmWhenDiscountAndPriceExceedsThresholdInMultiZoneAndInstanceType
公共模板后,OOS可以根据您自行设置的资源价格阈值,在抢占式实例价格超过阈值时向您推送通知,以提示您进行资源管理。对该模式的分析如下:- 优点:同时具备了资源稳定性以及资源价格上升的感知能力。
- 缺点:需要接入运维编排OOS,存在一定的接入成本。
- 适用场景:业务要求在提升实例稳定性的同时,具备感知成本增加的能力。
三种模式的比较如下表所示:
模式 | 实例被中断概率 | 实例稳定性 | 成本优化程度 | 成本可控性 |
---|---|---|---|---|
设定您的最高价(SpotWithPriceLimit) | 高 | 低 | 高 | 高 |
使用自动出价(SpotAsPriceGo) | 低 | 高 | 较高 | 较低 |
使用自动出价(SpotAsPriceGo)结合运维编排OOS | 低 | 高 | 较高 | 高 |
出价模式最佳实践
抢占式实例自身直接支持以下两种模式,您可以根据业务实际需求选择:
- 如果您需要严格控制预算,实例的稳定性要求不严格。可以选择设定您的最高价(SpotWithPriceLimit)的出价模式。
- 如果您对实例稳定性有较高要求,成本要求不严格。可以选择使用自动出价(SpotAsPriceGo)的出价模式。
如果您希望保障实例稳定性的同时,兼顾业务成本。可以参考以下操作步骤,使用SpotAsPriceGo+OOS
的组合模式,即通过使用自动出价(SpotAsPriceGo)
的出价模式提升实例的稳定性;通过运维编排OOS的ACS-ECS-AlarmWhenDiscountAndPriceExceedsThresholdInMultiZoneAndInstanceType
公共模板监控抢占式实例的价格,当价格超过设置的阈值时,系统会向您发送提示消息。