你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用规模集上的 Azure Spot 虚拟机 可以利用我们的空闲容量,从而大量节省成本。 每当 Azure 需要回收容量时,Azure 基础结构就会驱逐 Azure Spot 虚拟机实例。 因此,Azure 现成虚拟机实例非常适合可处理服务中断的工作负载,例如批处理作业、开发/测试环境、大型计算工作负载等。
可用容量可能因大小、区域、一天内的时间等因素而异。 在规模集上部署 Azure 现成虚拟机实例时,Azure 仅在有可用容量但没有这些实例的服务级别协议 (SLA) 的情况下分配实例。 Azure 现成虚拟机规模集部署在单个容错域中,不提供高可用性保证。
限制
Azure 现成虚拟机不支持以下大小:
- B 系列
- 任意大小的促销版本(例如 Dv2、NV、NC、H 促销版)
Azure Spot 虚拟机可以部署到除由 21Vianet 运营的 Microsoft Azure 以外的任何地区。
当前支持以下套餐类型:
- 企业协议
- 即用即付套餐代码 (003P)
- 赞助(0036P 和 0136P)
- 对于云服务提供商 (CSP),请参阅合作伙伴中心或直接联系合作伙伴。
定价
根据地区和 SKU 不同,Azure 现成虚拟机实例的定价也不尽相同。 有关详细信息,请参阅针对 Linux 和 Windows 的定价。
使用可变定价,你可以设置最高价格,以美元 (USD) 为单位,最多可使用五个小数位。 例如,值 0.98765
表示最高价格为 0.98765 美元/小时。 如果将最高价格设置为 -1
,则不会根据价格逐出实例。 实例的价格将是 Azure 现成虚拟机的当前价格或标准实例的价格,只要有可用的容量和配额,价格就会更低。
逐出策略
使用 Azure Spot 虚拟机创建规模集时,可以将逐出策略设置为 Deallocate
(默认)或 Delete
。
Deallocate
策略可将逐出的实例移到已停止-已解除分配状态,以允许重新部署逐出的实例。 但是,不保证分配将成功。 已解除分配的 VM 将计入规模集实例配额,并向你收取基础磁盘的费用。
如果要在实例被逐出时将其删除,可以将逐出策略设置为 Delete
。 将逐出策略设置为 delete
后,可以通过增加规模集实例计数属性来创建新的 VM。 逐出的 VM 会连同其基础磁盘一起删除,因此不会为存储付费。 也可以使用规模集的自动缩放功能来自动尝试并补偿已逐出的 VM,但是,不能保证分配成功。 我们建议仅当逐出策略设置为删除时才对 Azure 现成虚拟机规模集使用自动缩放功能,以免产生磁盘费用和达到配额限制。
用户可以选择通过 Azure Scheduled Events 来接收 VM 内通知。 如果正在逐出 VM,并且在逐出之前有 30 秒的时间完成任何作业并执行关闭任务,则会通知你。
逐出历史记录
你可以在门户中的某个区域查看每个大小的历史定价和逐出速率。 选择“查看定价历史记录并比较附近区域的价格”,查看特定大小的定价图或定价表。 下图中的定价和逐出速率只是示例。
图表:
Table:
尝试还原
平台级功能使用 AI 自动尝试在一定范围内恢复已逐出的 Azure 现成虚拟机实例,以保持目标实例数。
尝试还原功能的优势:
- 尝试还原由于容量原因而逐出的 Azure 现成虚拟机。
- 还原的现成 VM 预计运行持续时间较长,且容量触发逐出的可能性较低。
- 提高 Azure 现成虚拟机生命期,使工作负载运行更长持续时间。
- 帮助虚拟机规模集维持 Azure 现成虚拟机的目标计数,类似于维持即用即付 VM 已有的目标计数功能。
尝试还原功能在使用自动缩放的规模集中处于禁用状态。 规模集中的 VM 数由自动缩放规则驱动。
放置组
放置组是类似于 Azure 可用性集的构造,具有自己的容错域和升级域。 默认情况下,一个规模集包含一个放置组,最大大小为 100 台 VM。 如果规模集属性 singlePlacementGroup
设置为 false
,那么规模集可以由多个放置组组成,并且范围为 0 到 1,000 个虚拟机。
重要
除非将 Infiniband 用于高性能计算,否则强烈建议将规模集属性 singlePlacementGroup
设置为 false
,以启用多个放置组,以便更好地在相关地区或区域中进行缩放。
在规模集中部署 Azure 现成虚拟机
若要在规模集中部署 Azure 现成虚拟机,可将新的 Priority
标志设置为 Spot
。 规模集中的所有 VM 都将设置为 Spot。 若要创建包含 Azure Spot 虚拟机的规模集,请使用以下方法之一:
创建使用 Azure 现成虚拟机的规模集的过程与入门文章中详述的过程一样。 部署规模集时,可以选择设置“现成”标志、逐出类型、逐出策略,如果要尝试还原实例:
模拟逐出
可以模拟逐出 Azure 现成虚拟机,以测试应用程序对突然逐出的响应情况。
将以下内容替换为你的信息:
subscriptionId
resourceGroupName
vmName
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/simulateEviction?api-version=2020-06-01
Response Code: 204
意味着模拟逐出成功。
有关详细信息,请参阅测试模拟逐出通知。
后续步骤
有关价格详细信息,请查看虚拟机规模集定价页。