本文說明 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",
"metadata": {
"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_operationscompute.googleapis.com/regional_concurrent_operations
QUOTA_LIMIT:並行配額的限制名稱。 可以是下列其中一項:GlobalConcurrentOperationsPerProjectGlobalConcurrentOperationsPerProjectOperationTypeRegionalConcurrentOperationsPerProjectRegionalConcurrentOperationsPerProjectOperationType
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 控制台的「Quotas」(配額) 頁面。
「配額」頁面會列出專案的所有配額用量和限制。根據預設,清單會依照您最常用的配額進行排序,方便您查看有超過上限之虞的項目。
如要篩選清單,並查看任何特定配額的使用量和限制,請在「Filter」(篩選器) 欄位中選取「Quota」(配額) 或「Metric」(指標)。
舉例來說,選取配額
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。
最佳做法
以下檢查清單彙整了減少並行作業限制不足錯誤的最佳做法:
後續步驟
- 進一步瞭解 Cloud Quotas。