本文档介绍了 Compute Engine 可用区级资源预留的行为、要求、限制,以及结算。如需了解如何创建、查看、使用、管理、删除预留或将预留附加到承诺,请参阅以下内容:
概览
为确保 Compute Engine 资源在需要时可用,请使用预留。预留为获取 Compute Engine 可用区级资源的容量提供了极高保障。您可以使用预留来帮助确保项目拥有资源来应对未来需求的增长,例如:
- 发展
- 计划内或计划外峰值
- 迁移大量虚拟机 (VM) 实例
- 备份和灾难恢复
使用预留时,95% 的虚拟机可在 120 秒内启动。每个预留都为具有相同属性的一个或多个虚拟机提供了保证。创建预留后,预留的资源会立即可用且一直可用,直到您删除预留为止。同样,预留的资源会立即开始计费;当不再需要预留时,您可以删除预留以免继续产生费用。当虚拟机使用预留时,不会额外产生费用。
无论您使用多少预留资源,预留都会阻止任何其他人使用预留资源。由于预留占用的资源与未预留的运行中虚拟机一样,因此预留资源会按照与运行中虚拟机相同的按需费率计费,包括任何适用的折扣。
预留工作原理
本部分介绍预留的工作原理。
创建预留时,请定义以下属性:
- 单项目预留(默认)只能由与预留位于同一项目中的虚拟机使用。
- 共享预留可供预留所在的项目中的虚拟机以及与之共享该预留的其他任何项目中的虚拟机使用。使用共享预留有助于提高预留利用率,并减少需要创建和管理的预留的数量。如需了解详情,请参阅本文档中的共享预留的工作原理。
使用类型(自动或特定)
可选:资源布置政策(紧凑)
- 紧凑布置政策表示虚拟机应尽可能彼此靠近,以缩短虚拟机之间的网络延迟时间。您只能为特定预留指定紧凑布置政策。
此外,您还可以定义预留的虚拟机属性,用于描述要预留的虚拟机的硬件要求。仅当虚拟机的属性和预留的虚拟机属性完全匹配时,虚拟机才能使用预留。如需了解详情,请参阅本文档中的要求。
如果您停止、暂停或删除正在使用预留的虚拟机,则该虚拟机将不再计入预留,并且预留资源将再次可用。
如果删除预留但不删除使用预留资源的虚拟机,则该虚拟机将继续存在,并且您需要照常为资源付费。
共享预留的工作原理
共享预留中的每个虚拟机都可供创建预留的项目(所有者项目)中的虚拟机或与之共享预留的任何项目(使用方项目)中的虚拟机使用。当一个虚拟机停止使用共享预留时,该共享预留可供与之共享该预留的任何项目中的其他虚拟机使用。如果共享预留预留了多个虚拟机,则多个项目中的虚拟机可以同时使用同一共享预留。
默认情况下,项目无法创建和修改共享预留。如需创建和修改项目中的共享预留,则该项目必须添加到共享预留所有者项目 (compute.sharedReservationsOwnerProjects
) 组织政策限制条件的许可名单中。如果您共享预留,则预留会受到其他要求的影响并且与未共享的预留的使用行为略有不同。
使用要求
所有预留都具有以下要求:
只有当虚拟机和预留的以下所有属性完全匹配时,虚拟机实例才能使用预留:
- 项目*
- 可用区
- 机器类型
- 满足最低 CPU 要求的平台
- GPU 类型和数量
- 本地 SSD 类型和数量
- 预留亲和性†
- 紧凑布置政策‡
*项目要求因预留的共享类型而异。
†预留亲和性要求因预留的使用类型而异。
‡仅当预留指定了紧凑布置政策时,紧凑布置政策要求才适用。
您的项目中必须有足够的配额满足要预留的资源。如果预留创建成功,则该资源的配额将产生相应费用。
附加到承诺的预留的其他要求
此外,附加到承诺的预留具有以下要求:
您必须具有足够的承诺使用折扣配额。
若要获得 GPU 和/或本地 SSD 的承诺使用折扣,您必须在购买承诺时创建和附加这些资源的预留。
如需了解详情,请参阅将预留附加到承诺。
通过实例模板创建的预留的其他要求
此外,如果您通过指定实例模板来创建预留,请确保以下各项:
您必须在模板中的资源所在的区域、可用区和项目中创建预留。具体而言:
如果实例模板指定了紧凑布置政策,则必须创建特定预留。然后,在创建虚拟机以使用此预留时,您必须按名称明确指向此预留。否则,虚拟机无法使用此预留。
共享预留的其他要求
此外,共享预留要求您在创建预留的项目和使用预留的所有项目中拥有预留资源的足够配额。因此,共享预留所需的每项资源配额是未与其他项目共享的预留的两倍。系统会对共享预留的每项资源收取两次费用,即使同一项目创建和使用该预留也是如此。
使用紧凑布置政策的预留的其他要求
此外,指定紧凑布置政策的预留具有以下要求:
如果某个预留指定了紧凑布置政策,则虚拟机必须指定同一紧凑布置政策才能使用此预留。
如需在预留中指定紧凑布置政策,您必须创建特定预留。然后,在创建虚拟机以使用此预留时,您必须按名称明确指向此预留。否则,虚拟机无法使用此预留。
您必须在预留中指定的紧凑布置政策的区域内的可用区中预留资源。
限制
所有预留都具有以下限制:
每个预留最多可预留 1,000 个虚拟机实例。
预留仅适用于 Compute Engine、Dataproc 和 Google Kubernetes Engine 服务中的虚拟机使用。
预留不适用于以下资源:
f1-micro
和g1-small
机器类型- 抢占式虚拟机
- 单租户节点
- 之前未列出的其他服务(如 Cloud SQL)
在您创建预留时,Compute Engine 会尝试分配按需资源。如果请求时可用区中资源不足,则预留会失败,并会因为容量不足,出现资源可用性错误。如果预留创建成功,即使您不立即使用它们,资源也可供您使用。
附加到承诺的预留的其他限制
此外,附加到承诺的预留具有以下限制:
在承诺合约到期之前,您无法删除预留。
您只能将预留附加到一个承诺。
您无法修改附加到承诺的预留或调整其大小。请参阅如何替换附加到承诺的预留。
如需了解详情,请参阅将预留附加到承诺。
共享预留的其他限制
此外,共享预留具有以下限制:
您只能同与创建预留的项目在同一组织中的项目共享预留。
每个共享预留可以与 1 到 100 个使用方项目共享。
对于每个组织,您可以为实例属性的每个唯一组合创建最多 100 个共享预留。
您只能列出由特定项目创建的预留。这意味着每个共享预留仅列在创建它的项目中,您无法列出组织中的所有共享预留或与特定项目共享的所有预留。
如果您通过指定实例模板创建共享预留,则只有您项目中的用户才能访问同一实例模板,并使用该模板创建虚拟机实例或其他预留。
创建共享预留时,您无法指定紧凑布置政策。
如果您将使用共享预留的项目移至新组织,其共享预留不会迁移到新组织。使用此项目创建的任何共享预留都会被删除,并且之前组织中与此项目共享的任何预留都无法在新组织中使用。如需了解详情,请参阅本文档中的共享预留的工作原理。
您可以按照共享预留的最佳实践来缓解其中一些要求的限制。
使用紧凑布置政策的预留的其他限制
此外,指定紧凑布置政策的预留存在以下限制:
创建要包含在预留中的紧凑布置政策时,您不能指定固定数量的虚拟机。 否则,创建预留将失败。
指定紧凑布置政策的虚拟机只能使用指定同一紧凑布置政策的预留。
您只能为单项目预留指定紧凑布置政策。不支持共享预留或附加到承诺使用折扣的预留。
您不能在多个预留之间共享紧凑布置政策。而是必须为要创建的每个新的单项目预留创建新的紧凑布置政策。
每个预留最多只能预留 150 个虚拟机实例。
您只能指定紧凑布置政策支持的机器类型。
您只能指定紧凑布置政策。不支持任何其他类型的资源政策,例如实例时间表或快照时间表。
您只能在删除预留后删除预留中指定的紧凑布置政策。
结算
本部分介绍预留的结算方式。
预留与其预留资源按相同的费率计费,包括按需价格和 1 分钟最低费用与未预留的运行中虚拟机相同。与运行中虚拟机一样,持续使用折扣、承诺使用折扣和自定义价格同样适用。
例如,假设情况如下:
us-central1
中有一个包含 3 个 vCPU 的承诺使用合约us-central1-a
中正在运行 5 个 vCPUus-central1-a
中有一个包含 10 个 vCPU 的预留
则计费方式如下:
为云端硬盘设置的保全 | vCPU 的数量 |
---|---|
承诺使用折扣价格 | 3 |
按需价格(2 个 vCPU 已使用的预留 + 5 个 vCPU 未使用的预留) | 7 |
只要预留存在,则无论其资源是否正在使用,预留都会产生预留资源费用。使用预留时,虚拟机不会产生重复的资源费用,因为系统已针对预留资源的费用收取预留的费用。
如需了解详情,请参阅虚拟机实例价格。
共享预留的其他结算信息
使用共享预留不会产生额外费用,其计费价格与单项目 Compute Engine 预留相同。但是,为共享预留付费的项目会随着消费而变化,因为不同的项目可能有资格获得不同的承诺使用折扣。
共享预留的结算项目和价格的管理方式如下:
- 结算项目:默认情况下,所有者项目为共享预留付费。但是,如果共享项目的资源已被使用方项目使用,则预留项目将由使用方项目付费。
- 结算折扣:默认情况下,结算采用按需价格。但是,如果已为正在计费的项目或与该项目关联的结算帐号购买了承诺使用折扣,则将使用承诺使用折扣价格。