修改預訂


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

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

限制

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

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

  • 只有在符合下列條件後,您才能修改自動建立的預訂:

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

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

  • 您只能在 AI 超級電腦中修改自動建立的預留資源,允許或禁止 Vertex AI 作業使用預留資源

事前準備

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

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

      1. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      2. Set a default region and zone.
      3. REST

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

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。

必要的角色

如要取得修改預訂項目所需的權限,請要求管理員授予您專案的Compute 管理員 (roles/compute.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

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

所需權限

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

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

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

修改預訂

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

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

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

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

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

  • 停用自動刪除選項。

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

主控台

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

    前往「預留項目」頁面

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

    系統會開啟預訂詳細資料頁面。

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

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

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

      1. 如果自動刪除選項尚未啟用,請將「啟用自動刪除」切換鈕設為開啟。

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

    • 否則,請按一下「啟用自動刪除功能」切換鈕,將其切換至關閉位置。

  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 說明文件中的「在組織資源之間遷移專案」一文。

修改可使用共用預留項目的消費者專案後,預留項目的使用情況可能會有所變更。舉例來說,移除任何消費者專案後,該專案就會停止使用預留資源。此外,如果保留項目已設為自動供符合保留項目屬性的 VM 使用 (預設行為),則任何新增的消費者專案都可能會開始使用保留項目的資源。如要監控保留項目的用量,請參閱驗證保留項目用量

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

主控台

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

    前往「預留項目」頁面

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

    系統會開啟預訂詳細資料頁面。

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

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

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

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

      1. 按一下「新增專案」

      2. 從擁有者專案的機構中,找出要共用預算的專案,然後勾選對應的核取方塊。

      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

    • 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

REST

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

如要修改共用預留項目的用戶專案,請選取下列其中一種方法:

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

    舉例來說,如要允許兩個專案使用共用預留項目,請發出下列 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",
      "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 是您要停止共用預訂的對象。

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

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

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

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

    • 刪除執行個體

    • 停止暫停執行個體

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

主控台

  1. 在 Google Cloud 控制台,前往「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」(預留項目) 頁面。

    前往「預留項目」頁面

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

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

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

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

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

  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. 如果不再需要原始預訂,請刪除預訂

疑難排解

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

後續步驟