通过批量创建虚拟机实例,您可以创建大量相同且独立的虚拟机。批量创建虚拟机时,您可以执行以下操作:
最大限度地减少 API 速率限制消耗。批量创建虚拟机的请求会消耗 API 速率限制,就像创建单个虚拟机一样。
跨一个区域中的多个可用区分布虚拟机创建。 对于区域性请求,Compute Engine 会根据可用硬件所在的可用区确定要创建虚拟机的可用区,并将每个可用区的可用容量以及您的任何reservations考虑在内。
Compute Engine 不管理批量创建的虚拟机。如需创建一组代管虚拟机,请使用代管实例组。
批量创建虚拟机与批处理 API 请求
批量创建虚拟机与使用 instances.insert
方法批处理 API 请求不同。下表比较了这两种创建多个虚拟机的方法:
功能 | 批处理 API 请求 | 批量创建虚拟机 |
---|---|---|
可用区选择 根据诸如资源可用性和配额之类的考虑自动选择 |
手动 | 使用区域级端点时自动运行 |
预先验证 如果无法执行请求,请求会立即失败 |
否 | 包含容量和配额 |
虚拟机名称生成 根据指定的名称模式自动生成 |
手动 | (可选)自动生成 |
自动回滚 如果 Compute Engine 无法创建目标虚拟机数量,请求将自动回滚 |
否 | (可选)启用 |
API 速率限制 请求如何影响 API 速率限制 |
每个虚拟机一个请求 | 每个批量操作一个请求 |
限制
以下列表介绍了批量创建虚拟机时适用的限制:
磁盘。您无法创建具有受客户提供的加密密钥 (CSEK) 保护的虚拟机。
全球 DNS。如果您使用的是全球 DNS,则可能存在名称冲突,因为完全限定域名 (FQDN) 不包含可用区。为了避免出现这种情况,请使用可用区级 DNS。如果您无法切换到可用区级 DNS,请避免在不同区域中使用相同名称模式。如需了解详情,请参阅内部 DNS 名称的类型。
机器映像。您无法通过机器映像创建虚拟机。
虚拟机数量。每次调用最多可以创建 5,000 个虚拟机。此外,您可以随时同时创建最多 8,000 个实例。此并发操作限制在
instances.insert
和instances.bulkInsert
之间共享。单租户节点。您无法创建使用单租户节点亲和性标签的虚拟机。
虚拟机属性。所有虚拟机属性(其名称和自定义主机名除外)都必须相同。您不能使用虚拟机之间互斥的虚拟机属性,包括但不限于静态外部 IP 地址和静态内部 IP 地址。
审核日志
进行 API 调用和 API 调用完成时,Compute Engine 会将有关批量虚拟机创建的信息记录到管理员活动审核日志中。
Compute Engine 还会为每个虚拟机创建单独的审核日志。您可以通过匹配 protoPayload.resourceName
的值与由请求指定的命名模式生成的虚拟机名称来查找单个虚拟机的审核日志。
价格
使用批量虚拟机创建功能不会产生额外的费用。与创建单个虚拟机一样,在您创建虚拟机时开始计费。
您无需为 Compute Engine 无法创建的任何虚拟机付费。