Cloud Quotas API 總覽

透過 Cloud Quotas API,您可以透過程式調整專案層級的配額,並自動提出專案層級的配額調整要求。舉例來說,您可以使用 Cloud Quotas API 執行下列操作:

  • 自動調整配額:您可以根據自己的條件,使用 Cloud Quotas API 要求調整配額。舉例來說,如要避免配額超出錯誤,當 Compute Engine 資源達到可用配額的 80% 時,您可以使用 API 以程式輔助方式要求調整配額。

  • 在專案之間重複使用配額設定:Cloud Quotas API 可在專案之間複製配額設定。如果每個新 Google Cloud 專案都有一組已知的配額需要增加,您可以使用 Cloud Quotas API,在專案的建立邏輯中自動執行這項操作。配額調整要求須經 Google Cloud 核准。

  • 處理客戶配額要求:如果您是與Google Cloud整合的 SaaS 供應商,可能會透過 Google Cloud 主控台以外的客戶入口網站收到配額增加要求。這些要求必須轉寄至 Google Cloud 以供處理。Cloud Quotas API 可自動轉送客戶要求。

  • 啟用用戶端設定版本控管:Cloud Quotas API 具有宣告性。您可以將配額設定視為程式碼,並將設定儲存在自己的版本控管系統中,以便查看記錄和回溯。

限制

Cloud Quotas 具有下列限制:

  • 在大多數情況下,配額調高調整作業必須在專案層級進行。只有少數產品支援機構層級配額調高調整。如要確認 Google Cloud 產品是否支援組織層級的配額提高調整,請參閱該產品的說明文件。

  • 您可以要求調降專案、機構和資料夾層級的配額。

服務端點

服務端點是指定 API 服務網路位址的基準網址。一項服務可能有多個端點。Cloud Quotas API 服務的端點如下,所有 URI 皆以此為基準:

https://cloudquotas.googleapis.com

必要的角色

如要取得存取 cloudquotas_quotaPreferencescloudquotas_quotaInfoscloudquotas_quotaAdjusterSettings 資源所需的權限,請要求管理員授予您專案的 Cloud Quotas 管理員 (cloudquotas.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這個預先定義的角色具備存取 cloudquotas_quotaPreferencescloudquotas_quotaInfoscloudquotas_quotaAdjusterSettings 資源所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要存取 cloudquotas_quotaPreferencescloudquotas_quotaInfoscloudquotas_quotaAdjusterSettings 資源,您必須具備下列權限:

  • cloudquotas.quotas.update
  • cloudquotas.quotas.get
  • monitoring.timeSeries.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

API 資源模型

Cloud Quotas API 資源模型包含兩種資源:QuotaPreferenceQuotaInfo

配額偏好設定

QuotaPreference 資源代表特定維度組合的配額偏好設定。使用這項資源調整專案、資料夾或機構的配額。

為區域設定偏好值

下列範例顯示 CreateQuotaPreference 方法中的 QuotaPreference 資源。

{
    "service": "compute.googleapis.com",
    "quotaId": "GPUS-PER-GPU-FAMILY-per-project-region",
    "quotaConfig": {
        "preferredValue": 100
    },
    "dimensions": {
        "region": "us-central1"
    }
}

preferredValue 為 100 表示要求者希望將 GPUS-PER-GPU-FAMILY-per-project-region 配額設為該值。維度欄位表示偏好設定僅適用於區域 us-central1

確認授予的值

查看配額偏好設定,並查看 grantedValue 欄位,確認獲准的值。

如要使用 Google Cloud CLI 查看配額偏好設定,請在終端機中執行下列指令:

gcloud alpha quotas preferences describe QUOTA_PREFERENCE_ID --project=PROJECT

更改下列內容:

  • QUOTA_PREFERENCE_ID:配額偏好設定的 ID。 這是建立配額偏好設定時指定的值。
  • PROJECT:專案的 ID 或編號。 Google Cloud

如果您提出配額調整要求,且要求部分獲准,grantedValue 欄位後方會顯示 stateDetail 欄位。grantedValue 顯示所做的調整,而 stateDetail 欄位則說明部分核准狀態。

如要查看核准的最終值是否為授予的值,請查看 reconciling 欄位。如果要求仍在評估中,reconciling 欄位會設為 true。如果 reconciling 欄位設為 false 或省略,則核准值為最終值。

以下程式碼片段顯示配額偏好設定物件的範例。他們使用 ID 為 compute_googleapis_com-gpus-us-central1 的試用配額偏好設定。

gcloud

如果您使用 gcloud CLI 查看配額偏好設定,輸出內容會類似於下列範例:

createTime: '2023-01-15T01:30:15.01Z'
dimensions:
    region: us-central1
name: projects/PROJECT_NUMBER/locations/global/quotaPreferences/compute_googleapis_com-gpus-us-central1
quotaConfig:
    granteddValue: '100'
    preferredValue: '100'
    traceId: 123acd-345df23
    requestOrigin: ORIGIN_UNSPECIFIED
service: compute.googleapis.com
quotaId: GPUS-PER-GPU-FAMILY-per-project-region
updateTime: '2023-01-16T02:35:16.01Z'

REST

如果您使用 Cloud Quotas API 查看配額偏好設定,輸出內容會類似於下列內容:

{
    "name": "projects/PROJECT_NUMBER/locations/global/quotaPreferences/compute_googleapis_com-gpus-us-central1",
    "service": "compute.googleapis.com",
    "quotaId": "GPUS-PER-GPU-FAMILY-per-project-region",
    "quotaConfig": {
        "preferredValue": 100,
        "grantedValue": 100,
        "traceId": "123acd-345df23",
        "requestOrigin": "ORIGIN_UNSPECIFIED"
    },
    "dimensions": {
        "region": "us-central1"
    },
    "createTime": "2023-01-15T01:30:15.01Z",
    "updateTime": "2023-01-16T02:35:16.01Z"
}

這項輸出內容包含下列值:

  • PROJECT_NUMBER:系統為專案自動產生的專屬 ID。

回應會顯示 grantedValue 為 100,表示上一個範例中的 preferredValue 已獲准並完成。不同維度的偏好設定是不同的QuotaPreference資源。舉例來說,區域 us-central1us-east1 中的 CPU QuotaPreference 是兩個不同的資源。

必須選取配額偏好設定

QuotaPreference 資源,指出特定配額的偏好值。特定配額的目前值取決於:

  • QuotaPreference您提出的要求。

  • 已核准的配額提高要求 ( Google Cloud)。

  • 由 Google Cloud發起的配額變更。

系統不支援刪除 QuotaPreference。不過,您可以將偏好的配額值設為低於 Google Cloud 核准值,進一步新增防護措施。

如要進一步瞭解 QuotaPreference 資源,請參閱 Cloud Quotas API 參考資料

如要進一步瞭解 QuotaPreference 查詢,請參閱「實作常見用途」。

配額資訊

QuotaInfo 是唯讀資源,可提供特定專案、資料夾或機構的配額資訊。當中會顯示 Google Cloud 服務定義的配額資訊,以及客戶發起的任何已完成配額調整。QuotaInfo 資源包含中繼資料、容器類型和維度等資訊。

依區域設定不同的配額值

下列 QuotaInfo 資源範例顯示,專案的 CPU 配額在 us-central1 區域為 200,在所有其他區域則為 100。

{
    "name": "projects/PROJECT_NUMBER/locations/global/services/compute.googleapis.com/quotaInfos/CPUS-per-project-region",
    "quotaId": "CPUS-per-project-region",
    "metric": "compute.googleapis.com/cpus",
    "containerType": "PROJECT",
    "dimensions": [
        "region"
    ],
    "isPrecise": true,
    "quotaDisplayName": "CPUs per project per region",
    "metricDisplayName": "CPUs",
    "dimensionsInfo": [
        {
            "dimensions": {
                "region": "us-central1"
            },
            "details": {
                "quotaValue": 200,
                "resetValue": 200
            },
            "applicableLocations": [
                "us-central1",
            ]
        },
        {
            "details": {
                "quotaValue": 100,
                "resetValue": 100
            },
            "applicableLocations": [
                "us-central2",
                "us-west1",
                "us-east1"
            ]
        }
    ]
}

這項輸出內容包含下列值:

  • PROJECT_NUMBER:系統為專案自動產生的專屬 ID。

設定全域配額

下列 QuotaInfo 資源範例顯示每分鐘重新整理間隔的速率配額。維度空白,表示這是全域配額。所有沒有區域或可用區維度的配額都是全域配額。

{
    "name": "projects/PROJECT_NUMBER/locations/global/services/compute.googleapis.com/quotaInfos/ReadRequestsPerMinutePerProject",
    "quotaId": "ReadRequestsPerMinutePerProject",
    "metric": "compute.googleapis.com/read_requests",
    "refreshInterval": "minute",
    "containerType": "PROJECT",
    "dimensions": [],
    "isPrecise": false,
    "quotaDisplayName": "Read Requests per Minute",
    "metricDisplayName": "Read Requests",
    "dimensionsInfo": [
        {
            "details": {
                "quotaValue": 100,
                "resetValue": 200
            },
            "applicableLocations": [
                "global"
            ]
        }
    ]
}

這項輸出內容包含下列值:

  • PROJECT_NUMBER:系統為專案自動產生的專屬 ID。

如要進一步瞭解 QuotaInfo 資源,請參閱 Cloud Quotas API 參考資料

如要進一步瞭解 QuotaPreference 查詢,請參閱「實作常見用途」。

配額調整工具設定

QuotaAdjusterSettings 資源 (預覽) 代表特定專案的配額調整器設定。啟用後,配額調整工具會監控指定資源的用量,並在資源用量接近配額值時發出配額調整要求。

  • 如要查看專案目前的配額調整器設定,請使用 GET 作業擷取 QuotaAdjusterSettings 資源。

  • 如要為專案啟用配額調整工具,請使用 PATCH 作業設定下列 QuotaAdjusterSettings 資源選項:

      "quota_adjuster_settings" :{
         "name": "projects/PROJECT_NUMBER/locations/global/quotaAdjusterSettings",
         "enablement": ENABLED,
    }
    

    PROJECT_NUMBER 替換為專案的專屬 ID。

詳情請參閱「啟用配額調整工具」和「停用配額調整工具」。

資源名稱

資源是具名實體,並以資源名稱識別。所有要求和回應都會使用資源名稱,且每個資源都必須有自己的專屬資源名稱。每個資源名稱都是由一組欄位編碼而成。

配額偏好設定資源

QuotaPreference 資源的命名慣例採用下列模式:

projects/PROJECT_NUMBER/locations/global/quotaPreferences/QUOTA_PREFERENCE_ID

建立配額偏好設定時,您可以設定 quotaPreferenceId,否則系統會產生 ID。建議 quotaPreferenceId命名架構編碼服務名稱、配額 ID、位置和其他維度。quotaPreferenceId 在專案、資料夾或機構中不得重複。

舉例來說,以下是編碼配額偏好 ID 的一種模式:quotaPreference

SERVICE_LOCATION_DIMENSION1-VALUES-IN-ORDER

以下範例說明這個模式:

compute_us-central1_nvidia-200

有了資源名稱,您應使用 GET 方法擷取 QuotaPreference。您也可以呼叫 PATCH 方法並啟用 allow_missing 選項,藉此建立或更新 QuotaPreference

配額資訊資源

QuotaInfo 資源的命名慣例採用下列模式:

projects/PROJECT_NUMBER/locations/global/services/SERVICE_NAME/quotaInfos/QUOTA_ID

配額調整工具設定資源

QuotaAdjusterSettings 資源的命名慣例採用下列模式:

projects/PROJECT_NUMBER/locations/global/quotaAdjusterSettings

後續步驟