修改預訂


本文將說明如何修改預訂。如要修改承諾中附加的保留項目,請參閱「取代承諾中附加的保留項目」一文。

例如,當您的容量需求發生變化,或您想變更哪些工作負載可以使用預訂時,請修改預訂。

限制

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

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

  • 您只能在預留期結束後,修改自動建立的未來預留項目。

事前準備

  • 如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 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.

    REST

    To use the REST API samples on this page in a local development environment, you use the credentials you provide to the 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.

    For more information, see Authenticate for using REST in the Google Cloud authentication documentation.

必要的角色

如要取得修改保留項目所需的權限,請要求管理員為您授予專案的 Compute Admin (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. 在「Update reservation」窗格中,執行下列任一操作:

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

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

      2. 在「自動刪除時間」欄位中,輸入 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:預訂項目所在區域。

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

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

更改下列內容:

  • RESERVATION_NAME:現有預訂的名稱。

  • ZONE:預訂項目所在區域。

REST

在預留項目中啟用自動刪除選項後,您可以指定預留項目的刪除日期和時間,或是指定預留項目的刪除時間長度。

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

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

    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:預留項目自動刪除前,保留時間長度 (以秒為單位)。例如,指定 86400 為 86,400 秒 (1 天)。

如要停用自動刪除選項,請向 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. 在「Selected projects」部分,執行下列其中一個步驟:

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

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

      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:共用預留空間所在的可用區。

  • 如要停止允許一或多個專案使用共用保留空間,請使用帶有 --remove-share-with 標記的 gcloud compute reservations update 指令

    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. 在「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 使用預留項目,請在修改預留項目前,確認沒有任何自訂訓練工作或預測工作正在使用該預留項目。否則會發生錯誤。

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

主控台

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

    前往「預留項目」

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

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

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

  4. 在「共用預訂資訊」窗格中,執行下列任一操作:

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

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

疑難排解

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

後續步驟