購買作業系統授權的軟體承諾使用合約

Compute Engine 提供依資源計算的承諾使用折扣 (CUD),適用於使用適用付費作業系統 (OS) 授權的可預測工作負載。 您可以購買授權的承諾使用合約,執行使用適用 SLES、SLES for SAP 或 RHEL 映像檔的 VM 執行個體。

本文說明如何使用 Google Cloud 控制台、gcloud CLI 或 REST,購買 OS 授權的資源型承諾使用合約。

如要進一步瞭解授權承諾使用合約,包括符合資格的映像檔和折扣費率,請參閱「軟體授權承諾使用合約」。

事前準備

  • 如果尚未設定驗證,請先完成設定。驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上範例的預計用途分頁:

    控制台

    使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,不需要設定驗證。

    gcloud

    1. 安裝 Google Cloud CLI。 安裝完成後,請執行下列指令,初始化 Google Cloud CLI:

      gcloud init

      如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。

  • 設定預設區域和可用區。
  • REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI。

      如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。

    詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。

必要的角色

如要取得購買授權承諾所需的權限,請要求管理員授予您專案的Compute 管理員 (roles/compute.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備 compute.commitments.create 權限,可購買授權承諾使用合約。

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

根據預設,專案擁有者有權購買以資源為準的承諾。不過,擁有者可以建立自訂角色,納入或排除特定使用者。請參閱存取控管,確認您有權購買依資源計算的承諾使用合約。

購買 OS 授權承諾使用合約

使用Google Cloud 控制台、gcloud CLI 或 REST,購買 OS 授權的軟體資源承諾使用合約。

購買承諾後,承諾會在美國和加拿大太平洋時間 (即 UTC-8,日光節約時間實行期間則為 UTC-7) 隔天凌晨 12 點生效。 Compute Engine 會在您購買承諾使用合約的每個專案區域中, 對專案保留留置權。為專案中的任何區域購買新的承諾使用方案時,Compute Engine 會將該區域的防刪除鎖定與新建立的承諾使用方案建立關聯。

購買承諾使用合約後到啟用之前,合約狀態會維持在「NOT_YET_ACTIVE」(Google Cloud 控制台會顯示為「PENDING」)。啟用之後,承諾使用合約的狀態會變更為「有效」ACTIVE。舉例來說,假設您在美國和加拿大太平洋時間 (UTC-8 或 UTC-7) 2024 年 1 月 20 日晚上 10:00 購買承諾使用合約,Compute Engine 會立即建立承諾,狀態為 NOT_YET_ACTIVE。您的承諾使用合約將於 2024 年 1 月 21 日凌晨 12 點 (美國和加拿大太平洋時間,UTC-8 或 UTC-7) 變更為ACTIVE。

控制台

使用 Google Cloud 控制台購買承諾前,請先選取要使用資源並套用 CUD 的專案。如果您為專案的 Cloud Billing 帳戶啟用 CUD 共用,即可從該 Cloud Billing 帳戶為任何專案購買承諾使用合約。

選取專案後,請按照下列步驟操作:

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

    前往「承諾使用折扣」

    系統隨即會顯示「Commitment list」(承諾使用合約清單) 頁面,並顯示「Hardware commitments」(硬體承諾使用合約) 分頁。

  2. 按一下「軟體授權承諾使用合約」。

  3. 按一下「購買承諾」。

    系統隨即會顯示「購買承諾使用折扣」頁面。

  4. 在「Name」(名稱) 欄位中,輸入承諾的名稱。

  5. 在「Region」(區域) 欄位中,選取要以承諾使用折扣價格使用資源的區域。

  6. 在「期限」中,選取「1 年」或「3 年」做為承諾的方案。方案會決定 CUD 費率和預設承諾使用期限。

  7. 在「授權系列」欄位中,選取要購買承諾的 OS 授權。

  8. 在「License type and quantity」(授權類型與數量) 部分,執行下列操作:

    1. 在「類型」中,選取適用的 vCPU 數量。
    2. 在「授權數量」中,輸入您要承諾購買的 OS 授權數量。
  9. 在「摘要」窗格中,查看承諾時間表和詳細資料。

  10. 如要購買承諾,請按照下列步驟操作:

    1. 按一下「購買」。 系統會顯示「購買承諾使用折扣」對話方塊。

    2. 在對話方塊中,詳閱有關月費、約期和服務專屬條款的接受聲明。

    3. 如要確認購買承諾,請按一下「購買」。

gcloud

使用 gcloud CLI 執行 gcloud compute commitments create-license 指令,購買授權承諾。

gcloud compute commitments create-license COMMITMENT_NAME \
    --license LICENSE_URI \
    --amount NUMBER_OF_LICENSES \
    --cores-per-license CORES_PER_LICENSE \
    --plan PLAN \
    --region REGION

更改下列內容:

  • COMMITMENT_NAME:承諾的名稱。
  • LICENSE_URI:授權 URI。 例如:https://www.googleapis.com/compute/v1/projects/myproject/global/licenses/sles-sap-12
  • NUMBER_OF_LICENSES:您打算購買的授權數量。
  • CORES_PER_LICENSE:每個授權的核心數。輸入 1-2、3-4 或 5+。
  • PLAN:輸入方案長度:12-month 或 36-month。
  • REGION:這項約期適用的區域。

舉例來說,如要在 us-central1 區域購買 4 個 SAP 授權的 3 年期方案,每個授權有 3 到 4 個核心,請執行下列指令:

gcloud compute commitments create-license commitment-1 \
    --license=https://www.googleapis.com/compute/v1/projects/myproject/global/licenses/sles-12 \
    --amount=4 \
    --cores-per-license=3-4 \
    --plan=36-month \
    --region=us-central1

舉例來說,如要購買 us-central1 區域中 2 個 SLES for SAP 授權 (每個授權 1 到 2 個核心) 的 1 年承諾使用合約,請執行下列指令:

gcloud compute commitments create-license commitment-2 \
    --license=https://www.googleapis.com/compute/v1/projects/myproject/global/licenses/sles-sap-12 \
    --amount=2 \
    --cores-per-license=1-2 \
    --plan=12-month \
    --region=us-central1

REST

使用 regionCommitments.insert 方法,並加入 licenseResource 欄位,定義授權承諾使用合約的屬性。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments?requestId=OPTIONAL_UNIQUE_ID

{
    "name": "COMMITMENT_NAME",
    "plan": "PLAN",
    "category": "LICENSE",
    "licenseResource": {
      "coresPerLicense": "CORES_PER_LICENSE",
      "amount": "NUMBER_OF_LICENSES",
      "license": "LICENSE_URI"
    }
}

更改下列內容:

  • PROJECT_ID:您要購買約定的專案 ID。
  • OPTIONAL_UNIQUE_ID:選用。專屬要求 ID,有助於避免重複要求。
  • COMMITMENT_NAME:承諾使用合約的名稱。
  • LICENSE_URI:授權 URI。 例如:https://www.googleapis.com/compute/v1/projects/myproject/global/licenses/sles-sap-12
  • NUMBER_OF_LICENSES:您打算購買的授權數量。
  • CORES_PER_LICENSE:每個授權的核心數。輸入 1-2、3-4 或 5+。
  • PLAN:輸入方案長度:12-month 或 36-month。
  • REGION:這項承諾使用合約適用的區域。

舉例來說,如要在 us-central1 區域購買 4 個 SLES for SAP 授權的 3 年期承諾合約,每個授權有 3 到 4 個核心,請發出下列 POST 要求:

POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/commitments

{
    "name": "commitment-3",
    "plan": "THIRTY_SIX_MONTH",
    "category": "LICENSE",
    "licenseResource": {
      "coresPerLicense": "3-4",
      "amount": "4",
      "license": "https://www.googleapis.com/compute/v1/projects/suse-sap-cloud/global/licenses/sles-sap-12"
      }
}