在做并行运算、机器学习或者大数据处理时,往往临时需要创建大批量的虚拟机,这些虚拟机数量大,但只是临时使用,有没有什么办法可以降低这些虚拟机的成本呢?Preemptible实例来帮您忙。

什么是Preemptible实例
Oracle公有云为了向我们的客户提供足量的计算及相关资源,在我们的数据中心当中留有大量的空闲资源满足客户随时创建实例的需求,而不像某些友商,对比较流行的资源需要提前4小时进行申请。同时,为了满足临时需要大量计算资源或者大数据运算等操作较多的用户的降低成本的诉求,Oracle将公有云中的空闲资源以极低的价格提供给这些需要临时虚机资源的客户。出于公平原则,这些低价提供给客户的资源,Oracle将在需要时进行回收。比如当前该计算中心需要为其他客户提供常规的计算资源,而该中心空余资源临时紧张时,将会回收Preemptible实例所占用的资源。
Preemptible实例的使用与常规计算实例相同,但当其他地方需要时,容量会被回收,并且实例会被终止。如果您的工作负载是容错的,并且可以承受中断,那么Preemptible实例可以降低成本。Preemptible实例允许:
以极低的成本,提供大量的资源。
优化可以容忍中断的工作负载的成本,例如可以停止和稍后恢复的测试。

Preemptible实例如何工作
Preemptible实例是为短期使用而设计的。当其他地方需要时,这些容量就会被回收。虽然您无法预测容量何时被回收,但您应该假定它可能在24小时内被回收。选择Preemptible实例的优势是他的成本与常规实例相比降低50%,而在实例运行期间,实例的算力及其他资源提供,与常规实例完全一致。因此,对于可能被中断的工作负载,可抢占的容量可以大幅降低成本。
如何创建Preemptible实例?您在创建实例时,只需要选择如下选项即可,其他的配置与常规实例一致。您可以根据情况,选择boot volume是否在实例回收时一并删除。如果您日后还想使用该实例当中的内容,建议保留boot volume。

实例创建成功之后,我们发现该实例不能停止、启动或者重启,只能被终止(销毁)。

当Preemptible实例被回收时,实例将被终止。在实例终止开始前30秒,触发一个instancepreemptionaction事件。当此事件发生时,使用Events服务接收通知。
您可以按照如下方式设定邮件通知:
在菜单栏中输入notification,进入notification设定,如下图所示.

创建一个topic,如下图所示。



创建一个订阅,如下所示。

选择邮件提醒。

之后来到邮箱确定该订阅。

在邮箱中确认之后,OCI当中可以查看到该条订阅已经处于激活状态。

接下来我们设定邮件发送规则,在菜单中找到rule。


当Preemptible实例被回收时,实例将被终止。在实例终止开始前30秒,触发一个instance-preemption-action事件。所以我们可以按下图进行设定,为了给大家演示效果,我在Event Type当中加入了instance-Terminate begin,一会儿我们将该实例删除,看看是否可以收到邮件。如果可以收到,那么该实例被系统回收的时候,会触发instance-preemption-action事件,我们也会收到邮件。

接下来我们做个实验,将刚才的实例删除,看看是否可以触发邮件提醒。

立即收到了邮件,如下所示。


Preemptible实例支持的虚拟机型号及计费规则
目前支持如下两个虚拟机型号。
VM.Standard.E3.Flex series (Standard – E3 series)
VM.Standard2 series (Virtual Machine Standard – X7 series)
在所有地区,Preemptible实例成本比常规实例低50%。
编辑:殷海英





