修改預訂

本文說明如何修改預訂。如要修改附加至承諾的預留項目,請改為參閱「更換附加至承諾的預留項目」。

舉例來說,如果容量需求有變,或是想變更可使用預留容量的工作負載,就可以修改預留容量。

限制

修改預訂前,請先考量下列事項:

  • 您只能在建立共用預留項目的專案中修改該項目。

  • 只有在符合下列條件時,您才能修改自動建立的預留項目:

    • 如果是透過 AI Hypercomputer 建立的未來預留項目,只能在開始時間過後修改。

    • 如果是透過 Compute Engine 建立的未來預留項目,您只能在結束時間過後修改預留項目。

  • 您只能在 AI Hypercomputer 中修改未來預留項目自動建立的預留項目,允許或禁止 Vertex AI 作業使用該預留項目

事前準備

  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 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 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備修改預訂所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要修改預留項目,您必須具備下列權限:

  • 如要修改預留項目的自動刪除選項、共用預留項目中的消費者專案,或 Vertex AI 工作是否可使用附加 GPU 的執行個體預留項目,請: compute.reservations.update 在專案中
  • 如要修改預訂項目中的執行個體數量,請按照下列步驟操作: compute.reservations.resize 專案

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

修改預訂

根據您要在預訂中修改的屬性,使用下列其中一種方法:

如要變更這份清單未提及的任何屬性,請建立新的預訂。如需操作說明,請參閱本文的「變更預訂中的其他屬性」一節。

修改預留項目的自動刪除設定

如要修改 Compute Engine 自動刪除現有預留項目的時間,請執行下列任一操作:

  • 啟用自動刪除選項,或變更自動刪除預留項目的時間。

  • 停用自動刪除選項。

如要修改預留項目的自動刪除設定,請選取下列任一選項:

控制台

  1. 前往 Google Cloud 控制台的「Reservations」(預留項目) 頁面。

    前往「Reservations」(預留項目) 頁面

  2. 在「On-demand reservations」(隨需預留項目) 分頁 (預設),按一下「Name」(名稱) 欄中要修改的預留項目名稱。

    預訂詳細資料頁面隨即開啟。

  3. 在「自動刪除時間」列中,按一下 「編輯自動刪除時間」

  4. 在「更新預訂」窗格中,執行下列任一操作:

    • 如要在特定日期和時間刪除預留項目,請按照下列步驟操作:

      1. 如果尚未啟用自動刪除選項,請點按「Enable auto-delete」(啟用自動刪除功能) 切換鈕,將切換鈕設為開啟。

      2. 在「Auto-delete time」(自動刪除時間) 欄位中,輸入 Compute Engine 自動刪除預留項目的日期和時間。

    • 否則,請按一下「Enable auto-delete」(啟用自動刪除功能) 切換鈕,將切換鈕設為關閉。

  5. 按一下「提交」

    修改預訂可能需要幾秒鐘才能完成。

gcloud

啟用預留項目的自動刪除選項後,您可以指定預留項目的刪除日期和時間,也可以指定預留項目的刪除時間間隔。

如要啟用自動刪除選項或變更預留項目的刪除時間,請執行下列任一操作:

  • 如要刪除特定日期和時間的預留項目,請使用 gcloud beta compute reservations update 指令並搭配 --delete-at-time 旗標。

    gcloud beta compute reservations update RESERVATION_NAME \
        --delete-at-time=DELETE_AT_TIME \
        --zone=ZONE
    

    更改下列內容:

    • RESERVATION_NAME:現有預訂的名稱。

    • DELETE_AT_TIME:以 RFC 3339 時間戳記格式表示的日期和時間。

    • ZONE:預留項目所在的可用區。

  • 如要在特定時間後刪除預訂項目,請使用 gcloud beta compute reservations update 指令搭配 --delete-after-duration 旗標。

    gcloud beta compute reservations update RESERVATION_NAME \
        --delete-after-duration=DELETE_AFTER_DURATION \
        --zone=ZONE
    

    更改下列內容:

    • RESERVATION_NAME:現有預訂的名稱。

    • DELETE_AFTER_DURATION:預留項目自動刪除前的一段時間,以天、小時、分鐘或秒為單位。 舉例來說,指定 30m 代表 30 分鐘,指定 1d2h3m4s 代表 1 天 2 小時 3 分鐘 4 秒。

    • ZONE:預留項目所在的可用區。

如要停用自動刪除選項,請使用 gcloud beta compute reservations update 指令搭配 --disable-auto-delete 旗標。

gcloud beta compute reservations update RESERVATION_NAME \
    --disable-auto-delete \
    --zone=ZONE

更改下列內容:

  • RESERVATION_NAME:現有預訂的名稱。

  • ZONE:預留項目所在的可用區。

REST

啟用預留項目的自動刪除選項後,您可以指定預留項目的刪除日期和時間,也可以指定預留項目的刪除時間間隔。

如要啟用自動刪除選項或變更預留項目的刪除時間,請執行下列任一操作:

  • 如要在特定日期和時間刪除預留項目,請對 beta.reservations.update 方法發出 PATCH 要求。在要求網址中,加入設為 deleteAtTimepaths 查詢參數。

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=deleteAtTime
    
    {
      "name": "RESERVATION_NAME",
      "deleteAtTime": "DELETE_AT_TIME"
    }
    

    更改下列內容:

    • PROJECT_ID:預訂項目所在的專案 ID。

    • ZONE:預留項目所在的可用區。

    • RESERVATION_NAME:現有預訂的名稱。

    • DELETE_AT_TIME:以 RFC 3339 時間戳記格式表示的日期和時間。

  • 如要在特定時間後刪除預留項目,請對 beta.reservations.update 方法發出 PATCH 要求。在要求網址中,加入設為 deleteAfterDuration.secondspaths 查詢參數。

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=deleteAfterDuration.seconds
    
    {
      "name": "RESERVATION_NAME",
      "deleteAfterDuration": {
        "seconds": "DELETE_AFTER_DURATION"
      }
    }
    

    更改下列內容:

    • PROJECT_ID:預訂項目所在的專案 ID。

    • ZONE:預留項目所在的可用區。

    • RESERVATION_NAME:現有預訂的名稱。

    • DELETE_AFTER_DURATION:預留項目自動刪除前的一段時間,單位為秒。舉例來說,如要指定 86,400 秒 (1 天),請使用 86400

如要停用自動刪除選項,請對 beta.reservations.update 方法發出 PATCH 要求。 在要求中指定 paths=deleteAtTime&paths=deleteAfterDuration 查詢參數,並省略要求主體。

PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=deleteAtTime&paths=deleteAfterDuration

更改下列內容:

  • PROJECT_ID:預訂項目所在的專案 ID。

  • ZONE:預留項目所在的可用區。

  • RESERVATION_NAME:現有預訂的名稱。

修改共用預留項目中的消費者專案

如要避免修改共用預留項目的消費者專案時發生錯誤,請注意下列事項:

  • 移除專案:只有在這些專案中沒有任何運算執行個體使用保留項目時,您才能禁止個人專案使用共用保留項目。如要停止執行個體使用預留項目,請停止刪除執行個體

  • 新增專案:只有當用戶專案與擁有者專案位於相同機構時,您才能允許用戶專案使用共用預留項目。如要將專案遷移至擁有者專案的機構,請參閱 Resource Manager 說明文件中的「在組織資源之間遷移專案」。

修改共用預留項目的消費者專案後,預留項目的用量可能會變更。舉例來說,如果您將預留項目設定為允許任何相符的執行個體使用 (預設設定),則任何新加入的消費者專案可能會立即開始使用預留項目。如要進一步瞭解專案會先使用哪些相符的預留項目,請參閱預留項目使用順序

如要修改可使用共用預留項目的消費者專案,請選取下列任一選項:

控制台

  1. 前往 Google Cloud 控制台的「Reservations」(預留項目) 頁面。

    前往「Reservations」(預留項目) 頁面

  2. 在「On-demand reservations」(隨需預留項目) 分頁 (預設),按一下「Name」(名稱) 欄中要說明的預留項目名稱。

    預訂詳細資料頁面隨即開啟。

  3. 按一下「Edit」(編輯)

  4. 在「所選專案」部分中,執行下列其中一個步驟:

    • 如要停止與特定消費者專案共用預訂項目,請按一下 「刪除」

    • 如要開始與一或多個特定專案共用預留項目,請按照下列步驟操作:

      1. 按一下 「新增專案」

      2. 從擁有者專案的機構中,找出要共用預留資源的專案,然後勾選對應的核取方塊。您最多可與 100 個用戶專案共用共用預留項目。

      3. 按一下「選取」

  5. 如要確認變更,請按一下「儲存」

    修改預訂可能需要幾秒鐘才能完成。

gcloud

修改共用預留項目的用戶專案時,您必須指定以逗號分隔的專案 ID 清單,允許或停止允許這些專案使用共用預留項目。這些專案必須與擁有者專案位於同一個機構。請勿在清單中指定擁有者專案。根據預設,系統已允許使用共用預留項目。

如要修改共用預留項目的消費者專案,請執行下列任一操作:

  • 如要允許一或多個專案使用共用預留項目,請使用 gcloud compute reservations update 指令並加上 --add-share-with 旗標。

    gcloud compute reservations update RESERVATION_NAME \
        --add-share-with=CONSUMER_PROJECT_IDS \
        --zone=ZONE
    

    更改下列內容:

    • RESERVATION_NAME:現有共用預留項目的名稱。

    • CONSUMER_PROJECT_IDS:以半形逗號分隔的專案 ID 清單,這些專案會共用預留項目,例如 project-1,project-2。共用預留項目最多可與 100 個用戶專案共用。

    • ZONE:共用預留項目所在的可用區。

  • 如要停止允許一或多個專案使用共用預留項目,請使用 gcloud compute reservations update 指令並搭配 --remove-share-with 旗標。

    gcloud compute reservations update RESERVATION_NAME \
        --remove-share-with=CONSUMER_PROJECT_IDS \
        --zone=ZONE
    

    更改下列內容:

    • RESERVATION_NAME:現有共用預留項目的名稱。

    • CONSUMER_PROJECT_IDS:以半形逗號分隔的專案 ID 清單,您要停止與這些專案共用預留空間,例如 project-1,project-2

    • ZONE:共用預留項目所在的可用區。

  • 如要取代可使用共用預留項目的專案清單,請使用 gcloud beta compute reservations update 指令並加上 --share-with 旗標。

    gcloud beta compute reservations update RESERVATION_NAME \
        --share-with=CONSUMER_PROJECT_IDS \
        --zone=ZONE
    

    更改下列內容:

    • RESERVATION_NAME:現有共用預留項目的名稱。

    • ZONE:共用預留項目所在的可用區。

    • CONSUMER_PROJECT_IDS:以半形逗號分隔的專案 ID 清單,這些專案會共用預留項目,例如 project-1,project-2。共用預留項目最多可與 100 個用戶專案共用。

REST

修改共用預留項目的消費者專案時,您必須指定要允許或停止允許使用共用預留項目的專案 ID。這些專案必須與擁有者專案位於同一個機構。請勿指定擁有者專案。根據預設,系統已允許使用共用預留項目。

如要修改共用預留項目的消費者專案,請執行下列任一操作:

  • 如要允許一或多個專案使用共用預留項目,請對 reservations.update 方法發出 PATCH 要求。在要求網址中,為每個要共用預訂的專案加入 paths=shareSettings.projectMap.PROJECT_ID 查詢參數。

    舉例來說,如要允許兩個專案使用共用預留項目,請發出下列 PATCH 要求。共用預留項目最多可與 100 個用戶專案共用。

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=shareSettings.projectMap.CONSUMER_PROJECT_ID_1&paths=shareSettings.projectMap.CONSUMER_PROJECT_ID_2
    
    {
      "name": "RESERVATION_NAME",
      "shareSetting": {
        "projectMap": {
          "CONSUMER_PROJECT_ID_1": {
            "projectId": "CONSUMER_PROJECT_ID_1"
          },
          "CONSUMER_PROJECT_ID_2": {
            "projectId": "CONSUMER_PROJECT_ID_2"
          }
        }
      }
    }
    

    更改下列內容:

    • PROJECT_ID:擁有者專案的 ID,也就是用於建立共用預留資源的專案。

    • ZONE:共用預留項目所在的可用區。

    • RESERVATION_NAME:現有共用預留項目的名稱。

    • CONSUMER_PROJECT_ID_1CONSUMER_PROJECT_ID_2:要共用預留項目的兩個專案 ID。

  • 如要停止允許一或多個專案消耗共用預留項目,請對 reservations.update 方法發出 PATCH 要求。在要求網址中,針對要停止共用預留資源的每個專案,加入 paths=shareSettings.projectMap.PROJECT_ID 查詢參數。此外,您也必須從要求主體中省略 shareSetting 欄位。

    舉例來說,如要停止允許兩個專案使用共用預留項目,請發出 PATCH 要求,如下所示:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=shareSettings.projectMap.CONSUMER_PROJECT_ID_1&paths=shareSettings.projectMap.CONSUMER_PROJECT_ID_2
    
    {
      "name": "RESERVATION_NAME"
    }
    

    更改下列內容:

    • PROJECT_ID:擁有者專案的 ID,也就是用於建立共用預留資源的專案。

    • ZONE:共用預留項目所在的可用區。

    • RESERVATION_NAME:現有共用預留項目的名稱。

    • CONSUMER_PROJECT_ID_1CONSUMER_PROJECT_ID_2:要停止共用預留資源的兩個專案 ID。

修改預留項目中的預留執行個體數量

您可以增加或減少預訂中的預留運算執行個體數量。不過,修改執行個體數量前,請先考慮下列事項,以免發生錯誤:

  • 如要增加任何預訂中的執行個體數量,請確認下列事項:

    • 不得超過預訂的執行個體數量上限

    • 您必須有足夠的未使用配額,才能預留額外資源。如要提高配額,請參閱 Cloud Quotas 說明文件中的「查看及管理配額」。

    • 保留項目所在區域必須有足夠的可用資源。 如果沒有,要求就會失敗,並顯示資源可用性錯誤。如要排解這項錯誤,請參閱「排解資源可用性錯誤」。

  • 如要減少特定預留項目中的執行個體數量,請確認使用預留項目的執行個體數量未超過新的較小數量。如果超過,請對超出新數量上限的執行個體採取下列其中一項做法:

    • 刪除執行個體

    • 停止暫停執行個體

如要修改預留執行個體數量,請選取下列任一選項:

控制台

  1. 前往 Google Cloud 控制台的「Reservations」(預留項目) 頁面。

    前往「Reservations」(預留項目) 頁面

  2. 在「On-demand reservations」(隨需預留項目) 分頁 (預設),按一下「Name」(名稱) 欄中要修改的預留項目名稱。

    預訂詳細資料頁面隨即開啟。

  3. 按一下「Edit」(編輯)

  4. 在「Number of VM instances」(VM 執行個體數量) 欄位中,輸入要預留的執行個體更新數量。

  5. 按一下「儲存」確認操作。

    修改預訂可能需要幾秒鐘才能完成。

gcloud

如要修改預留項目中的預留執行個體數量,請使用 gcloud compute reservations update 指令

gcloud compute reservations update RESERVATION_NAME \
    --vm-count=NUMBER_OF_VMS \
    --zone=ZONE

更改下列內容:

  • RESERVATION_NAME:現有預訂的名稱。

  • NUMBER_OF_VMS:要預留的新執行個體數量。

  • ZONE:預留項目所在的可用區。

REST

如要修改預留項目中的預留執行個體數量,請對 reservations.resize 方法發出 POST 要求。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME/resize

{
  "specificSkuCount": "NUMBER_OF_VMS"
}

更改下列內容:

  • PROJECT_ID:預訂項目所在的專案 ID。

  • ZONE:預留項目所在的可用區。

  • RESERVATION_NAME:現有預訂的名稱。

  • NUMBER_OF_VMS:要預留的新執行個體數量。

修改預訂的共用政策

修改 GPU 運算執行個體預留項目的共用政策時,您可以控管 Vertex AI 訓練或預測工作是否使用預留項目。

禁止 Vertex AI 工作使用預留項目之前,請先停止使用該預留項目的所有 Vertex AI 工作。否則會發生錯誤。

如要修改 GPU 執行個體預留項目的共用政策,請選取下列其中一個選項:

控制台

  1. 前往 Google Cloud 控制台的「Reservations」(預留項目) 頁面。

    前往「Reservations」(預留項目) 頁面

  2. 在「On-demand reservations」(隨需預留項目) 分頁 (預設),按一下「Name」(名稱) 欄中要修改的 GPU 執行個體預留項目名稱。系統會顯示預訂詳細資料頁面。

  3. 在「與其他 Google Cloud 服務共用」列中,按一下 「編輯服務共用設定」

  4. 在「預訂分享」窗格中,執行下列任一操作:

    • 如要允許 Vertex AI 工作使用預留項目,請選取「共用預留項目」

    • 如要禁止 Vertex AI 工作使用預留項目,請選取「Don't share reservation」(請勿共用預留項目)

  5. 按一下 [儲存]

    修改預訂可能需要幾秒鐘才能完成。

gcloud

如要修改 GPU 執行個體預留項目的共用政策,請使用 gcloud compute reservations update 指令搭配 --reservation-sharing-policy 旗標。

gcloud compute reservations update RESERVATION_NAME \
    --reservation-sharing-policy=SHARING_POLICY \
    --zone=ZONE

更改下列內容:

  • RESERVATION_NAME:現有預訂的名稱。

  • SHARING_POLICY:預訂的共用政策。請指定下列其中一個值:

    • 如要允許 Vertex AI 工作使用預留項目: ALLOW_ALL

    • 如要禁止 Vertex AI 工作使用預訂項目,請執行下列步驟:DISALLOW_ALL

  • ZONE:預留項目所在的可用區

REST

如要修改 GPU 執行個體預留項目的共用政策,請對 reservations.update 方法發出 PATCH 要求。在要求網址中,加入設為 reservationSharingPolicy.serviceShareTypepaths 查詢參數。

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=reservationSharingPolicy.serviceShareType

{
  "name": "RESERVATION_NAME",
  "reservationSharingPolicy": {
    "serviceShareType": "SHARING_POLICY"
  }
}

更改下列內容:

  • PROJECT_ID:預留項目所在的專案 ID。

  • ZONE:預留項目所在的可用區。

  • RESERVATION_NAME:現有預訂的名稱。

  • SHARING_POLICY:預訂的共用政策。請指定下列其中一個值:

    • 如要允許 Vertex AI 工作使用預留項目: ALLOW_ALL

    • 如要禁止 Vertex AI 工作使用預訂項目,請執行下列步驟:DISALLOW_ALL

變更預訂中的其他屬性

如要修改「修改預訂」部分未提及的屬性,則必須改為建立替代預訂。

如要替換預留項目,但又不想非預期減少預留容量,請按照下列步驟操作:

  1. 建立新的單一專案共用預留項目,並更新屬性。

  2. 如果不再需要原始預訂,請刪除預訂

疑難排解

瞭解如何排解預訂更新問題

後續步驟