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

按需产能预留

适用于:✔️ Linux VM ✔️ Windows VM ✔️ 统一规模集 ✔️ 灵活规模集

通过按需容量预留,可将 Azure 地区或可用性区域中的计算容量预留任意一段时间。 与预留实例不同,你无需注册 1 年或 3 年期承诺。 随时可创建和删除预留,并可完全控制预留管理方式。

创建容量预留后,立即可以使用资源。 在删除预留之前,容量将一直预留。

容量预留具有一些始终在创建时定义的基本属性:

  • VM 大小 - 每个预留用于一个 VM 大小。 例如,Standard_D2s_v3
  • 位置 - 每个预留用于一个位置(地区)。 如果该位置具有可用性区域,则预留还可指定其中一个区域。
  • 数量 - 每个预留都有一个要预留的实例数量。

若要创建容量预留,这些参数将作为容量请求传递到 Azure。 如果 Azure 不能提供符合请求的可用容量,预留部署将会失败。 如果你没有足够的订阅配额,部署将会失败。 可以请求更高的配额,或尝试使用不同的 VM 大小、位置或区域组合。

Azure 接受你的预留请求后,具有匹配配置的 VM 就可使用预留。 若要使用容量预留,VM 必须在其属性中指定预留。 否则不会使用容量预留。 这种设计的一个好处是,你可仅使关键工作负载面向预留,其他非关键工作负载可在不使用预留容量的情况下运行。

容量预留的优势

  • 部署后,容量会保留供你使用,并且在适用 SLA 的范围内使用可用
  • 可随时部署和删除它,无需期限承诺
  • 可自动与预留实例组合来享用期限承诺折扣

容量预留的 SLA

请阅读容量预留的 SLA 中的服务级别协议详细信息。

对 SLA 的任何索赔都需要计算预留容量的“不可用分钟数”。 下面是如何计算“不可用分钟数”的示例。

  • 某个按需容量预留的总容量为 5 个预留单位。 按需容量预留最初处于“未使用的容量”状态,其“分配的虚拟机数”为 0 个。
  • 为按需容量预留分配了“支持的部署”数量 5。 其中 3 个虚拟机分配成功,2 个失败并出现虚拟机容量错误。 结果:2 个预留单位开始累积不可用分钟数。
  • 有 20 分钟未执行任何操作。 结果:2 个预留单位各累积不可用分钟数 15。
  • 在第 20 分钟时,尝试支持的部署数量 2。 一个虚拟机成功,另一个虚拟机失败并出现虚拟机容量错误。 结果:一个预留单位的累积不可用分钟数保留为 15。 另一个预留单位恢复累积不可用分钟数。
  • 以 10 分钟间隔进行数量为 1 的额外四次支持部署。 在第四次尝试(首次容量错误后 60 分钟)时部署了虚拟机。 结果:最后一个预留单位增加了 40 分钟的不可用分钟数(4 次尝试 x 每两次尝试间隔 10 分钟),总不可用分钟数为 55。

下面根据此不可用分钟数的示例累积结果计算服务额度。

  • 一个预留单位累积了 15 分钟的停机时间。 正常运行时间百分比为 99.97%。 此预留单位没有资格享受服务额度。
  • 另一个预留单位累积了 55 分钟的停机时间。 正常运行时间百分比为 99.87。 此预留单位有资格享受 10% 的服务额度。

限制和局限

  • 创建容量预留需要配额,方式与创建虚拟机时一样。
  • 创建容量预留目前仅限于特定的 VM 系列和大小。 计算资源 SKU 列表公布了受支持的 VM 大小集。
  • 以下 VM 系列支持创建容量预留:
    • Av2
    • B
    • Bsv2 (Intel) 和 Basv2 (AMD)
    • D 系列 v2 和更高版本;AMD 和 Intel
    • DCsv2 系列
    • DCasv5 系列
    • DCesv5 和 DCedsv5 系列
    • Dplsv5 系列
    • Dpsv 系列 v5 及更高版本
    • Dpdsv6 系列
    • Dplsv6 系列
    • Dpldsv6 系列
    • Dlsv5 及更高系列
    • Dldsv5 及更高系列
    • E 系列所有版本;AMD 和 Intel
    • Eav4 和 Easv4 系列
    • ECasv5 和 ECadsv5 系列
    • ECesv5 和 ECedsv5 系列
    • F 系列所有版本
    • Fasv6 和 Falsv6 系列
    • Fx 系列
    • Lsv3 (Intel) 和 Lasv3 (AMD)
    • 在部署 VM 时,可以根据需要使用虚拟机规模集将容错域 (FD) 计数最大设置为 3。 FD 超过 3 个的部署无法针对容量预留进行部署。
  • 以下 VM 系列产能预留的支持为公共预览版:
    • M 系列,v3
    • NC 系列 V3
    • NV 系列 v3 和更高版本
    • Lsv2
    • 对于上面提到的 N 系列,在 VM 部署中,可以使用虚拟机规模集将容错域 (FD) 计数设置为 1。 FD 超过 1 个的部署将无法针对产能预留进行部署。
  • 目前不支持其他 VM 系列:
    • M 系列,v1 和 v2
    • ND 系列
    • Hb 系列
    • Hc 系列
  • 支持以下部署类型:
    • 单个 VM
    • 采用统一业务流程的虚拟机规模集
    • 采用灵活业务流程的虚拟机规模集(预览版)
  • 不支持以下部署类型:
    • 点 VM
    • Azure 专用主机节点或部署到专用主机的 VM
    • 可用性集
  • 其他部署约束不受支持。 例如:
    • 邻近放置组
    • 更新域
    • 单一放置组设置为“true”的虚拟机规模集
    • UltraSSD 存储
    • 从休眠状态恢复的 VM
    • 需要 VNet 加密的 VM
  • 固定订阅无法使用该功能
  • 只有创建了预留的订阅可以使用该预留。
  • 预留仅适用于 Azure 付费客户。 免费试用版和面向学生的 Azure 等折扣帐户没有资格使用此功能。
  • 容量预留支持的云:
    • Azure 云
    • Azure 政府

定价和计费

容量预留的价格费率与基础 VM 大小相同。 例如,如果为 10 个 D2s_v3 VM 创建了一个预留,则即使未使用该预留,也需要支付 10 个 D2s_v3 VM 的费用。

如果你随后部署了一个 D2s_v3 VM 并指定预留属性,则会使用容量预留。 使用后,你只需为该 VM 付费,而无需为容量预留付费。 假设你针对上述容量预留部署 6 个 D2s_v3 VM。 你的帐单上将显示 6 个 D2s_v3 VM 和 4 个未使用的容量预留的费用,两者都按 D2s_v3 VM 的费率收费。

已使用和未使用的产能预留都有资格享受节省计划和预留实例期限承诺折扣。 在上例中,如果你对同一 Azure 区域中的 2 个 D2s_v3 VM 具有预留实例,则这两个资源(VM 或未使用的容量预留)的计费将归零。其余 8 个 D2s_v3 将正常计费。 可对 VM 或未使用的容量预留应用期限承诺折扣。

按需产能预留与预留实例之间的差异

差异 按需产能预留 预留实例
术语 无需期限承诺。 可以按客户要求创建和删除 固定期限承诺(一年或三年)
计费折扣 按基础 VM 大小的即用即付费率收费* 与即用即付费率相比可显著节省成本
容量 SLA 提供指定位置(区域或可用性区域)的容量保证 不提供容量保证。 客户可以选择“容量优先级”以获得更好的访问,但该选项没有 SLA
区域与可用性区域 可以按区域或可用性区域部署 仅在区域级别可用

*如果单独购买,则可享受预留实例折扣

使用容量预留

在 Azure 区域或可用性区域中为特定 VM 大小创建容量预留。 所有预留是作为容量预留组的一部分创建和管理的。

该组指定 Azure 位置:

  • 该组将设置要在其中创建所有预留的区域。 例如美国东部、北欧或东南亚。
  • 该组将设置合格的区域。 例如 AZ1、AZ2、AZ3 的任意组合。
  • 如果未指定局部区域,Azure 将选择 Azure 区域中的某个位置作为组的位置。 每个预留将指定 Azure 区域,但不一定会设置局部区域。

组中的每个预留用于一种 VM 大小。 如果为组选择了合格的区域,则预留必须用于支持的区域之一。

一个组可以包含每个区域每种 VM 大小的一个预留,如果未选择区域,则包含每种 VM 大小的一个预留。

若要使用容量预留,请指定容量预留组作为 VM 属性之一。 如果组没有与大小和位置匹配的预留,则 Azure 将返回错误消息。

初始部署后,可通过更改容量属性来调整预留的预留数量。 不可对容量预留进行其他更改,例如 VM 大小或位置。 建议的方法是创建一个新的预留,迁移任何现有的 VM,然后删除不再需要的旧预留。

容量预留不对 VM 部署数设定限制。 Azure 支持针对预留分配所需数量的 VM。 由于预留本身需要配额,因此不超过预留数量的 VM 部署省略配额检查。 分配超出预留数量的 VM 称为“过度分配预留”。 SLA 不涵盖过度分配 VM,VM 将接受配额检查,Azure 将满足额外的容量需求。 部署后,这些额外的 VM 实例会导致针对预留分配的 VM 数超过预留数量。 若要了解详细信息,请转到容量预留过度分配

容量预留生命周期

创建预留后,Azure 会在指定位置留出请求的容量实例数:

容量预留图像 1。

通过以下属性跟踪整体预留的状态:

  • capacity = 客户预留的实例总数。
  • virtualMachinesAllocated = 针对产能预留分配且计入使用容量的 VM 的列表。 这些 VM 的状态是“正在运行”或“已停止(已分配)”,或者处于“正在启动”或“正在停止”等过渡状态。 此列表不包含处于“已解除分配”状态的 VM(此状态称为“已停止(已解除分配)”) 。
  • virtualMachinesAssociated = 与产能预留关联的 VM 列表。 此列表包含已配置为使用预留的所有 VM,包括处于“已解除分配”状态的 VM。

在上例中,初始设置是 capacity 为 2,长度为 virtualMachinesAllocatedvirtualMachinesAssociated 为 0。

随后在针对容量预留分配 VM 后,该 VM 将使用其中一个预留容量实例:

容量预留图像 2。

容量预留的状态显示将是 capacity 为 2,长度为 virtualMachinesAllocated,而 virtualMachinesAssociated 为 1。

只有 VM 具有匹配的属性,且至少有一个空的容量实例,针对容量预留的分配就将成功。

根据我们的示例,针对容量预留分配第三个 VM 时,预留会进入过度分配状态。 第三个 VM 将需要未使用的配额且要求 Azure 额外提供容量。 分配第三个 VM 后,容量预留现如下所示:

容量预留图像 3。

capacity 为 2,长度为 virtualMachinesAllocated,而 virtualMachinesAssociated 为 3。

现在假设应用程序纵向缩减到最少两个 VM。 VM 0 需要更新,因此选择它来解除分配。 预留会自动切换到此状态:

容量预留图像 4。

virtualMachinesAllocated 的长度和 capacity 都是 2。 不过,virtualMachinesAssociated 的长度仍然是 3,原因是 VM 0 虽然已解除分配,但仍与产能预留关联。 为了防止配额超限,已解除分配的 VM 0 仍会计入分配给预留的配额。 只要有足够的未使用配额,就可以将新的 VM 部署到容量预留,并从任何未使用的预留容量接受 SLA 保障。 或者,可以删除 VM 0 以防止它占用配额。

容量预留将一直存在,直到被显式删除为止。 若要删除容量预留,首先要在 virtualMachinesAssociated 属性中取消关联所有 VM。 取消关联后,容量预留应如下所示:

容量预留图像 5。

容量预留的状态显示将是 capacity 为 2,长度为 virtualMachinesAssociated,而 virtualMachinesAllocated 为 0。 在此状态中,可删除容量预留。 删除后,你不再为预留付费。

容量预留图像 6。

使用情况和计费

当容量预留为空时,将报告相应 VM 大小和位置的 VM 使用量。 即使未部署 VM,VM 预留实例也将涵盖部分或全部预留容量使用量。

示例

例如,假设创建了一个产能预留,它的预留数量为 2。 订阅有权访问一个大小相同的匹配预留 VM 实例。 结果就是容量预留有两个使用流,其中一个由预留容量涵盖:

容量预留图像 7。

在上图中,向其中一个未使用的实例应用了一个预留 VM 实例折扣,因此该实例的成本将归零。对于其他实例,预留的 VM 大小采用即用即付费率计费。

针对容量预留分配 VM 时,还必须分配其他 VM 组件(例如磁盘、网络、扩展和其他任何请求的组件)。 在此状态中,VM 使用量将反映出一个已分配的 VM 和一个未使用的容量实例。 预留 VM 实例将使该 VM 或未使用的容量实例的费用归零。 帐单上还将显示与分配的 VM 关联的磁盘、网络和其他组件的其他费用。

容量预留图像 8。

在上图中,VM 预留实例折扣应用于 VM 0,这将仅针对磁盘和网络等其他组件收费。 另一个未使用的实例按预留的 VM 大小的即用即付费率收费。

常见问题

  • 按需产能预留的价格是多少?

    按需产能预留的价格和与预留关联的基础 VM 大小的价格相同。 使用容量预留时,无论 VM 是否已预配,我们都将按即用即付费率对你选择的 VM 大小收费。 有关更多详细信息,请访问 WindowsLinux VM 定价页面。

  • 对于按需产能预留和我最终预配后的实际 VM,会分别向我收费吗?

    不会,我们将仅对按需容量预留收费一次。

  • 我是否可以将虚拟机预留实例 (RI) 应用于按需产能预留来节省成本?

    是,你可将现有或未来的 RI 应用于按需容量预留并享受 RI 折扣。 可用 RI 会按应用到 VM 的方式自动应用于容量预留。

  • 虚拟机预留实例 (RI) 和按需产能预留之间有何区别?

    RI 和按需容量预留都适用于 Azure VM。 但是,得益于 1 年或 3 年期承诺,RI 与即用即付费率相比为 VM 提供更优惠的预留费率。 相反,无需作出承诺即可按需容量预留。 你可随时创建或取消产能预留。 但是,不会应用折扣,而且在成功预配容量预留后,将按即用即付费率向你收费。 RI 优先考虑容量但不保证提供,与它不同的是,当你购买按需容量预留时,Azure 会为你的 VM 留出计算容量并提供 SLA 保证。

  • 哪些方案从按需容量预留中获益最大?

    典型方案包括业务连续性、灾难恢复和任务关键型应用程序横向扩展。

后续步骤

开始预留计算容量。 查看相关的其他容量预留文章: