你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于虚拟机规模集的 Azure 现成虚拟机

使用规模集上的 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 现成虚拟机实例的定价也不尽相同。 有关详细信息,请参阅针对 LinuxWindows 的定价。

使用可变定价,你可以设置最高价格,以美元 (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 现成虚拟机的规模集

模拟逐出

可以模拟逐出 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 意味着模拟逐出成功。

有关详细信息,请参阅测试模拟逐出通知

后续步骤

有关价格详细信息,请查看虚拟机规模集定价页