Hello大家好,我们今天的课时内容是EC2 Spot实例以及Spot队列。

Spot实例

什么是Spot实例呢?Spot 实例是一种可提供给用户请求目前尚未使用的 EC2 实例,AWS以低于按需价格提供。

这也是AWS最大化利用空闲资源的一种方式。

Spot实例最高可比按需实例的价格节省90%,能够显著降低EC2的使用成本。

购买Spot实例的方式是通过请求Spot实例,提供您愿意为Spot实例支付的每小时最高的价格,如果有可用容量且您请求的每小时价格超过当前Spot的价格,就是您的出价要高于Spot实例的现价,则Spot实例就会运行。

Spot实例的价格是EC2设置的,并根据Spot实例的长期供求趋势逐步调整和变化的,价格不是固定的,一直会变化,但是变化幅度一般不会非常大,我们会在下一张PPT上会看到这一点。

如果 Spot 价格超过您的请求的最高价,或者不再具有可用的容量, EC2 将终止、停止或休眠您的 Spot 实例。 EC2 将会在实例中断之前2分钟提供中断通知。

还有一种请求Spot实例的方式为Spot blocks,可以定义请求的Spot实例在1至6小时间不中断持续运行,您可以配置1,2,3,4,5,6个小时的持续时间。当然AWS也表示在极其罕见的下,如因EC2的容量需求问题,请求持续运行的Spot实例也是会中断的。

那在认证考试中,也经常会出现一些场景想要提高成本效益,让我们判断是否适用于使用Spot实例,所以我们要了解什么样的工作负载适合使用Spot实例。

Spot实例适用于数据分析,批处理作业,后台处理以及一些无状态的应用,或者您能够灵活控制应用程序的运行时间且应用程序可中断的情况,不要把关键的工作和业务运行在Spot实例或者将数据库运行在Spot实例,因为永远要记住,Spot实例可能会随时中断被AWS停止或终止,所以关键业务、工作流不适合运行在Spot实例。

那接下来,我们来看一下Spot实例的定价历史记录,以及一些相关的信息。

看一下这个图,这是我前两天截的,通过访问EC2控制台的“Spot请求”,然后访问“定价历史记录”

这个图是东京区域的三个可用区的 Spot实例类型为m5.2xlarge 的定价历史记录,我日期范围选择的是3个月,所以这个图显示的是从8月到11月的价格记录。

可以看到Spot实例的价格在每个可用区都是不一样的,对应1a、1c、1d可用区价格都是不同的,并且价格随着时间会发生细微的变化。图中这3根线是三个可用区对应我选择的实例类型价格曲线,可以看到这三个月价格的变化幅度非常非常小。

比如当我们请求的最高价格为这根红线对应的价格,如像图中这种情况,Spot的价格低于我请求的价格,我们就会得到这个Spot实例;但是如果后面这个Spot实例的每小时的价格超过我们这根红线的价格,那么这个实例将会被停止、终止或者休眠。

上面这根黑色的线是对应按需实例的价格,可以看到Spot实例的价格还是比按需实例便宜了很多的。

所以如果用户定义的最高出价远高于当前价格的话,在图中的这种情况理论上Spot实例不会被AWS中断,在不考虑容量问题中断的情况下;那如果用户定义的最高出价特别接近当前的价格时,如果Spot实例价格波动的话实例就有可能被中断。

所以当请求Spot实例时,要根据您的实际情况确定请求的价格,且要保证在Spot实例中断前对业务和数据做好处理。

好的,我们继续

Spot队列

那什么是Spot队列呢?Spot 队列是Spot实例和可选的按需实例的集合。

我们可以请求Spot队列来运行我们的工作负载,可以在Spot队列中指定您对目标容量的要求,如总容量需要多少,以及包括多少按需实例,然后,Spot 队列会尝试启动,如果具有可用的容量,并且您指定的最高价格超过当前 Spot 价格,则会完成该请求。如果 Spot 实例中断,Spot 队列还会尝试保持其目标容量队列。

您也可以设置一个您愿意为Spot队列支付的每小时的最高价格,如果Spot队列超出指定的价格即使未达到目标容量,也会停止启动。

另外,可以为请求的Spot队列选择多种实例类型,比如M5.large,C5.xlarge,T2.2xlarge等等,也就是说Spot队列是可以指定多种实例类型和大小的,这样做的好处是指定的实例类型越多,就更有机会更快的达成Spot队列指定的目标容量。这个很好理解,如果只选择一种实例类型,那如果这种实例类型容量不够或者价格没有匹配那Spot队列就会很长时间都无法启动成功。所以在这里我们应该更关注实例的计算能力,而不是实例的类型。

Spot实例除了可以单独启动,还支持AutoScaling组,可以配置AutoScaling组的按需和Spot实例比例;

在使用ECS,创建ECS集群时以及使用AWS Batch 创建由AWS Batch 托管的计算环境时,都可以使用Spot实例。

通过使用Spot实例或者Spot和一定比例的按需实例混合使用的最终目的,还是为了保证满足工作负载的运行,然后通过优化又节省了实例的使用成本,花更少的钱办更多的事情。

最后,Spot 队列的容量限制,每个 Spot 队列或 EC2 队列的目标容量:10000 ;区域中所有 Spot 队列和 EC2 队列的目标容量:100000 ,这些目标容量都是基于VCPU的。

所以,通过Spot 队列可以为我们承载非常巨量的工作负载,参加考试要对这些有所了解。

好的,以上就是我们今天课时的内容,我们介绍了Spot实例以及Spot队列,希望能够给大家带来帮助。

希望此系列教程能为您通过 AWS解决方案架构师认证 Professional 认证考试带来帮助,如您有任何疑问,请联系我们:

  • 如果您想获取本课程全部课时,请扫PPT的二维码加入。
  • AWS爱好者的网址是www.iloveaws.cn,认证视频课程,免费的认证考试仿真题以及认证课程文章,都可以在网站找得到
  • 可以通过扫码加入【AWS爱好者】微信公众号,查看原创的AWS知识点相关文章。
  • 加入【AWS爱好者】微信群,和其他同学一起备考,以及探讨交流AWS相关知识。

我们今天的视频课程就到这里,感谢大家的观看,我们下一课程再见。

2022年12月22日

0 responses on "Spot实例"

Leave a Message

Setup Menus in Admin Panel

error: Content is protected !!