本文档介绍了 Compute Engine 的并发操作配额。
并发操作配额
并发操作配额用于定义在任意时间点可以发生的正在运行或并发操作的数量。任何创建、修改或删除 Compute Engine 资源的 API 请求都会受到并发操作限制检查,以确保任何时间点正在进行的操作总数不超过为该操作指定的限制。
“已超出并发操作限制”错误
如果您的项目超出任何运行中操作的并发操作限制,则会收到 403
错误,原因为 rateLimitExceeded
。
此错误的 API 响应类似于以下内容:
"error": { "code": 403, "message": "Rate Limit Exceeded", "errors": [ { "message": "Rate Limit Exceeded", "domain": "usageLimits", "reason": "rateLimitExceeded", ... ... } ], "details": [ { "@type": "type.googleapis.com/google.rpc.ErrorInfo", "reason": "CONCURRENT_OPERATIONS_QUOTA_EXCEEDED", "domain": "compute.googleapis.com", "metadatas": { "containerType": "PROJECT", "containerId": "PROJECT_ID", "quotaMetric": "QUOTA_METRIC", "quotaLimit": "QUOTA_LIMIT", "operationType": "OPERATION_TYPE", "location": "global | REGION" } }, { "@type": "type.googleapis.com/google.rpc.Help", "links": [ { "description": "Concurrent operations quota documentation.", "url": "https://cloud.google.com/compute/operations-quota#concurrent_operation_limits" } ] }, ... ...
错误详情包含以下值:
PROJECT_ID
:配额超出限制的项目的 ID。QUOTA_METRIC
:超过限制的并发配额的指标。可以是下列选项之一:compute.googleapis.com/global_concurrent_operations
compute.googleapis.com/regional_concurrent_operations
QUOTA_LIMIT
:并发配额的限制名称。 可以是下列选项之一:GlobalConcurrentOperationsPerProject
GlobalConcurrentOperationsPerProjectOperationType
RegionalConcurrentOperationsPerProject
RegionalConcurrentOperationsPerProjectOperationType
OPERATION_TYPE
:配额超出的全球或区域操作。如需查看操作列表,请参阅并发操作配额组。location
可以是下列选项之一:global
:指定已超出全球操作配额的限制REGION
:指定操作配额超出限制的区域
详细的错误日志仅通过 API 响应返回。日志浏览器中的错误类似于以下内容:
"protoPayload":{ "@type": "type.googleapis.com/google.cloud.audit.AuditLog", "status": { "message": "Rate Limit Exceeded" } "serviceName": "compute.googleapis.com", "methodName": "METHOD_NAME", ... ... "response": { "error": { "message": "Rate Limit Exceeded", "code": 403, "errors": [ { "message": "Rate Limit Exceeded", "reason": "rateLimitExceeded", "domain": "usageLimits" } ] }, "@type": "type.googleapis.com/error" }, ... ...
错误中的 METHOD_NAME
表示超出速率限制的 API 方法。例如 v1.compute.instances.stop
。
并发操作配额组数
本部分介绍各种 Compute Engine 运行中或并发操作的限制。
全球操作配额
并发全球操作会使用为每个项目的操作类型指定的全球性限制。下表列出了正在运行的操作的全球配额及相应的指标。
您可以使用 Google Cloud 控制台、Google Cloud CLI 和 Service Usage API 查看全球操作的配额。如需了解详情,请参阅查看并发操作配额和限制。
配额名称 说明 |
指标名称 | 消耗此配额的方法 |
---|---|---|
Concurrent global operations per project 限制项目的并发全局操作总数。 |
|
所有全局方法 在这些方法中,HTTP 请求网址包含 |
Concurrent global operations per project operation type 限制每个项目每种类型的并发操作数。 |
|
所有全局方法 默认并发操作配额为每个项目
|
区域操作配额
并发区域操作使用为给定区域中每个项目的操作类型指定的区域限制。
下表列出了运行中操作的区域配额和相应指标。
您可以使用 Google Cloud 控制台、Google Cloud CLI 和 Service Usage API 查看区域操作的配额。如需了解详情,请参阅查看并发操作配额和限制。
配额名称 说明 |
指标名称 | 消耗此配额的方法 |
---|---|---|
Concurrent regional operations per project
限制项目的并发全球操作总数。 |
|
所有区域方法。 HTTP 请求网址包含这些方法的 |
Concurrent regional operations per project operation type
限制每个项目每种操作类型的并发区域操作数。 |
|
所有区域方法。 默认并发操作配额是每个区域每个项目
|
查看并发操作配额和限制
如需查看项目中的配额用量和限制,请执行以下操作:
控制台
在 Google Cloud 控制台中,转到配额页面。
配额页面列出了项目的所有配额用量和限制。 默认情况下,列表会将您用量最高的配额显示在最前面,便于您发现哪些资源用量有超出限制的风险。
如需过滤列表并查看任何特定配额的用量和限制,请在过滤条件字段中选择配额或指标。
例如,选择配额
Concurrent global operations per project operation type
可查看每种操作类型的全局方法的配额用量。如需过滤特定操作的配额,请将维度添加到过滤条件查询,然后选择 operation_type。例如,选择
firewalls_insert
可查看firewalls.insert
操作的配额用量和限制。
gcloud
您可以使用 Google Cloud CLI 查看并发操作配额的用量和限制。
如需使用此方法,请确保您已安装 Alpha 版命令组件。如果您使用 Cloud Shell 与 Google Cloud 进行交互,则系统会为您安装 Google Cloud CLI。
如需查看配额,请使用以下命令:
gcloud alpha services quota list \
--service=compute.googleapis.com \
--consumer=projects/PROJECT_ID
将 PROJECT_ID
替换为您要查看其配额的项目的 ID。
最佳做法
以下核对清单总结了减少并发操作限制不足错误的最佳实践:
后续步骤
- 了解 Google Cloud 配额。