自動續約


如果工作負載有可預測的資源需求,您可以透過依資源計算的承諾使用折扣 (CUD) 降低成本。您可以購買 1 年或 3 年期承諾使用合約,取得依資源計算的 CUD。根據預設,以資源為基礎的承諾會在約期結束時到期。承諾產品到期後,您必須購買新的承諾產品,才能繼續接收 CUD。您可以為以資源為基礎的承諾啟用自動續約功能,這樣就不必每次到期時手動重新購買承諾。承諾自動續約功能可讓您無限期延長現有承諾,並繼續接收這些已承諾資源的 CUD。

本文件說明自動續約的運作方式,並說明如何執行下列操作:

  • 購買新承諾時啟用自動續約功能。
  • 啟用及停用現有有效承諾的自動續約功能。

自動續約功能的運作方式

為資源型承諾啟用自動續約功能後,每當承諾到期,Compute Engine 就會自動續約。啟用承諾的自動續約功能後,設定會保持啟用狀態,直到您手動停用為止。

您必須為每個要在專案中自動續約的承諾分別啟用自動續約功能。您可以為新承諾和現有承諾啟用自動續約功能,步驟如下:

  • 對於新承諾,在購買承諾時,您可以選擇是否要自動續約。
  • 如果現有承諾使用合約處於有效狀態,但未啟用自動續約功能,您可以修改承諾使用合約的屬性並啟用自動續約功能。您無法為已過期的承諾啟用自動續約功能。

啟用承諾的自動續約功能後,承諾的目前結束日期就會變成續約日期。承諾的所有其他屬性都會維持不變。在目前結束日期 (續約日) 的美國和加拿大太平洋時間 (即 UTC-8,或日光節約時間實行期間則為 UTC-7) 凌晨 12 點,承諾續約期自動開始。

自動續約承諾的續約期限一律會與承諾方案中定義的預設期限相符,也就是 1 年或 3 年。您也能享有相同的折扣百分比。即使承諾有 自訂約期,Compute Engine 只會以預設的 1 或 3 年期來續約。自訂期限承諾的自動續約期限不會是自訂長度的另一個期限。如需範例,請參閱以下內容:

  • 自訂期限為 1.5 年的承諾,只會續約 1 年。
  • 自訂期限為 5.5 年的合約,只會續約 3 年。

如果您希望自訂期限承諾的有效時間比續約期限長,可以在續約後申請延長期限。在續約期開始時,系統也會重新計算可延長期限的資格時間。對於 1 年承諾方案,續約後的資格窗口將在續約後的 4 個月內開放。對於 3 年承諾,這個時間窗口會在續約後持續開放,最長可達 1 年。

在續約期結束時,Compute Engine 會再次續約新的承諾期,除非您在承諾期內手動停用自動續約功能。

在承諾到期前,您隨時可以為承諾啟用自動續約功能。同樣地,您可以在續約日期前隨時停用承諾的自動續約功能。舉例來說,如果您有 1 年承諾,且該承諾的到期日為 2024 年 1 月 1 日凌晨 12 點 (UTC-8),您可以在 2024 年 1 月 1 日凌晨 12 點 (UTC-8) 前,隨時為該承諾啟用自動續約功能。啟用自動續約功能後,承諾使用合約會在 2024 年 1 月 1 日凌晨 12 點 (協調世界時 -8 小時) 自動續約一年。如要停用自動續約功能,請在 2025 年 1 月 1 日凌晨 12 點 (世界標準時間 -8 小時) 前隨時停用。

啟用承諾自動續約功能即表示您同意以下事項:

  • 在目前的結束日期,系統會自動續約新的約期。
  • 您會繼續在新的期限內支付已承諾的資源費用。

自動續約示例

請考慮 1 年承諾 my-commitment-1 的範例,該承諾不會自動續約。假設您在 2020 年 1 月 1 日購買這項承諾,購買 100 個 N2 vCPU。您的承諾期預計將於 2021 年 1 月 1 日結束。假設您對此承諾執行下列一系列作業:

  1. 您在承諾使用合約結束日期之前啟用自動續約功能。
  2. 承諾使用合約續約 2 次後,您可以停用承諾使用合約的自動續約功能,讓承諾使用合約在新的到期日到期。

下表說明承諾的屬性在整個承諾期間的行為:

原始期限
(啟用自動續約功能前)
原始期限
(啟用自動續約後)
首次自動續約期
(自動續約功能仍處於啟用狀態)
第二個自動續約期
(停用自動續約功能前)
第二個自動續約期
(停用自動續約後)
期限 1 年 1 年 1 年 1 年 1 年
折扣 37% 37% 37% 37% 37%
開始日期* 2020 年 1 月 1 日 2020 年 1 月 1 日 2020 年 1 月 1 日 2020 年 1 月 1 日 2020 年 1 月 1 日
結束日期或續約日期 2021 年 1 月 1 日 2021 年 1 月 1 日 2022 年 1 月 1 日 2023 年 1 月 1 日 2023 年 1 月 1 日
在結束或續訂日期執行的動作 使用承諾的到期日 已排定續約 已排定續約 已排定續約 使用承諾的到期日
延長期限資格申請期間截止時間 2020 年 5 月 1 日 2021 年 5 月 1 日 2021 年 5 月 1 日 2022 年 5 月 1 日 2022 年 5 月 1 日

*承諾開始時間為指定開始日期的美國和加拿大太平洋時間 (UTC-8 或 UTC-7) 凌晨 12 點。
承諾會在指定的結束日期美國和加拿大太平洋時間 (UTC-8 或 UTC-7) 凌晨 12 點到期或續約。
即使承諾期總年數達到 3 年以上,自動續約承諾的折扣百分比仍會維持不變,因為每個任期仍為 1 年。

配額考量事項

您不需要要求額外配額,因為續約承諾會使用與原承諾相同的配額。如要進一步瞭解承諾配額,請參閱「承諾和已承諾資源的配額」。

定價影響

您的承諾使用費用是所有承諾資源折扣價格的總和。續約後,系統會重新計算所有承諾資源的折扣價格,因此價格可能會有所變動。為進行這項重新計算作業,Compute Engine 會使用資源在續約生效當天適用的以量計價價格。在新的合約期間,您仍可保留這些資源的價格,即使以量計價價格有所變動也一樣。

限制

  • 您只能為資源型承諾啟用自動續約功能。
  • 您只能為有效的承諾使用合約啟用自動續約功能。
  • 如要建立會自動續約的承諾,您必須使用 gcloud CLI 和 Compute Engine API。您無法使用 Google Cloud 控制台執行這項操作。不過,您可以使用 gcloud CLI、Compute Engine API 或 Google Cloud 控制台,為已啟用的承諾啟用自動續約功能。

啟用承諾使用合約的自動續約功能

如要讓承諾使用合約在約期結束時自動續約,請透過下列任一方式啟用自動續約功能:

  • 購買新承諾時啟用自動續約功能
  • 為現有承諾啟用自動續約功能

購買新承諾時啟用自動續約功能

您可以使用 gcloud CLI 或 REST,在購買新承諾時啟用自動續約功能。

這項工作需要的權限

如要執行這項工作,您必須具備以下權限

  • 專案的 compute.commitments.create 權限

gcloud

如要購買自動續約的承諾產品,請執行 gcloud commitments create 指令並加入 --auto-renew 旗標。

舉例來說,下列 gcloud CLI 指令會建立 3 年自動續約的承諾。

gcloud compute commitments create COMMITMENT \
    --auto-renew \
    --plan=36-month \
    --region=us-west1 \
    --project=PROJECT_ID \
    --resources=vcpu=4,memory=9

更改下列內容:

  • COMMITMENT:新承諾的名稱。
  • PROJECT_ID:您要建立承諾的專案 ID。

REST

如要購買自動續約的承諾,請向 regionCommitments.insert 方法提出 POST 要求,並將 autoRenew 欄位設為 true

舉例來說,下列 Compute Engine API 要求會建立自動續約的 3 年承諾。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/commitments

{
  "name": "COMMITMENT",
  "plan": "THIRTY_SIX_MONTH",
  "resources": [
    {
      "type": "VCPU",
      "amount": 4
    },
    {
      "type": "MEMORY",
      "amount": 9
    }
  ],
  "autoRenew": true
}

更改下列內容:

  • COMMITMENT:新承諾的名稱。
  • PROJECT_ID:您要建立承諾的專案 ID。

為現有承諾啟用自動續約功能

您可以使用 Google Cloud 控制台、gcloud CLI 或 REST,為現有承諾啟用自動續約功能。

這項工作需要的權限

如要執行這項工作,您必須具備以下權限

  • 專案或機構的 compute.commitments.update 權限

主控台

  1. 前往 Google Cloud 控制台的「Committed use discounts」(承諾使用折扣) 頁面。

    前往「承諾使用折扣」

  2. 在「承諾清單」的「硬體承諾」下方,按一下承諾的「名稱」

  3. 在「硬體承諾詳細資料」頁面中,按一下「自動續約」切換鈕。

gcloud

如要啟用現有承諾的自動續約功能,請執行 gcloud commitments update 指令,並加入 --auto-renew 標記。

gcloud compute commitments update COMMITMENT \
    --auto-renew

COMMITMENT 替換為承諾名稱。

REST

如要啟用現有承諾的自動續約功能,請對 regionCommitments.update 方法發出 POST 要求,並將 autorenew 欄位設為 true

舉例來說,下列 Compute Engine API 要求會啟用 us-west1 區域中承諾方案的自動續約功能。

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/commitments

{
  "name": "COMMITMENT",
  "autoRenew": true
}

更改下列內容:

  • COMMITMENT:要更新的承諾名稱。
  • PROJECT_ID:您要更新承諾的專案 ID。

停用承諾自動續約功能

購買新承諾後,系統會預設停用自動續約功能,除非您特別啟用。如果不想在約期結束後自動續約,可以採取下列其中一項做法:

  • 購買新承諾產品時,請停用自動續訂功能。
  • 停用現有承諾的自動續約功能。

購買新承諾產品時停用自動續約功能

如要瞭解購買預設為停用自動續約功能的新承諾使用合約的詳細步驟,請參閱下列章節。選取與用途相關的選項。

停用現有承諾的自動續約功能

您可以使用 Google Cloud 控制台、gcloud CLI 或 Compute Engine API,停用現有承諾的自動續約功能。

這項工作需要的權限

如要執行這項工作,您必須具備以下權限

  • 專案或機構的 compute.commitments.update 權限

主控台

  1. 前往 Google Cloud 控制台的「Committed use discounts」(承諾使用折扣) 頁面。

    前往「承諾使用折扣」

  2. 在「承諾清單」的「硬體承諾」下方,按一下承諾的「名稱」

  3. 在「硬體承諾詳細資料」頁面中,按一下「自動續約」切換鈕。

gcloud

使用 gcloud commitments update 指令,停用現有承諾的自動續約功能。

gcloud compute commitments update COMMITMENT --no-auto-renew

COMMITMENT 替換為承諾名稱。

REST

使用 regionCommitments.update 方法,停用現有承諾的自動續約功能。

例如,下列 Compute Engine API 要求會停用 us-west1 區域中承諾方案的自動續約功能。

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/commitments

{
  "name": "COMMITMENT",
  "autoRenew": false
}

更改下列內容:

  • COMMITMENT:要更新的承諾名稱。
  • PROJECT_ID:您要更新承諾的專案 ID。

後續步驟