修改未來預留要求

本文說明如何修改未來的預訂要求。

只要未取消或待核准,你可以在預約開始時間前隨時修改未來的預約要求。如果容量需求有變,例如想增加預留的虛擬機器 (VM) 執行個體數量或變更預留期間,修改未來的預留要求就很有用。如要修改共用的未來預留項目要求,必須使用擁有者專案修改要求。

如要在預留期間結束後修改自動建立的預留項目,請參閱「修改預留項目」。

事前準備

  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 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 Future Reservation Admin」(Compute 未來預留項目管理員) (roles/compute.futureReservationAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備 compute.futureReservations.update 權限,可修改未來的預留項目要求。

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

可修改的屬性

未來預留項目要求有多項屬性,可定義預留項目、決定其行為,以及指定要預留的資源。您可以按照下列各節的說明修改這些屬性。

建立後

建立未來預留項目要求後,您無法修改下列屬性:

  • 未來預留項目要求的名稱。

  • 建立未來預留項目要求的專案。

  • 未來預留項目要求所在的區域。

  • 要使用的執行個體範本,以及執行個體範本中指定的 VM 屬性。

如要在未來預留項目要求進入鎖定時間前修改任何這些屬性,請建立新要求

提交前

將未來預留項目要求提交給 Google Cloud 審查前,或在提交審查後遭到拒絕時,您可以修改下列屬性:

  • 自動刪除選項

  • 說明

  • GPU 和 GPU 類型

  • 本機 SSD 磁碟和磁碟介面類型

  • 機器系列和機型

  • 最低 CPU 平台

  • 名稱前置字串

  • 共用設定

  • 預留期間的開始和結束時間

  • 總數 (VM 數量)

修改草擬未來預留項目要求狀態後,系統會立即套用變更,且修改次數不限。如要修改遭拒 (DECLINED) 的未來預留項目要求,必須重新送審,才能修改要求。

核准後

未來預留項目獲得核准後,您可以在未來預留項目達到「佈建」採購狀態 (PROVISIONING) 前修改該項目。具體來說,您可以修改下列屬性: Google Cloud

  • 隨時修改未來預留項目

    • 自動刪除選項

    • 說明

    • 名稱前置字串

  • 在開始時間前 72 小時內提出修改要求

    • GPU 和 GPU 類型*

    • 本機 SSD 磁碟和磁碟介面類型*

    • 機器系列和機器類型*

    • 最低 CPU 平台*

    • 共用設定

    • 預留期間的開始和結束時間

    • 總數 (VM 數量)*

* 如果您要求變更任何 VM 屬性,或在預訂生效時間的 14 天內大幅增加或減少總數, Google Cloud 可能會拒絕您的修改要求。

修改未來預留項目要求

修改未來預留項目要求前,請先查看可修改的屬性

如果您想將透過執行個體範本建立的單一專案未來預留項目要求,修改為共用未來預留項目要求,則無法使用相同範本建立 VM,這些 VM 會在建立共用未來預留項目要求的專案外部,耗用自動建立的預留項目。對於未來預留項目共用的專案,您必須在這些專案中建立類似的執行個體範本,或直接指定屬性來建立 VM。

如要修改未來的預留要求,請選取下列其中一個選項:

控制台

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

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

  2. 點選「Future reservations」(未來預留項目) 分頁標籤

  3. 在「名稱」欄中,按一下要修改的未來預留項目要求名稱。

    系統會開啟所選未來預留要求詳細資料頁面。

  4. 如要修改已核准未來預留項目的自動刪除選項、說明或名稱前置字元,請執行下列一或多項操作:

    • 如要修改自動刪除選項,請在「Auto-created reservations auto-delete time」(自動刪除自動建立的預留項目時間) 列中,按一下 「Edit」(編輯),然後執行下列操作:

      1. 如要啟用、停用或修改自動刪除選項,請執行下列其中一項操作:

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

          1. 按一下「Enable auto-delete」(啟用自動刪除功能) 切換鈕,將切換鈕設為開啟。

          2. 選用:在「Auto-delete time」(自動刪除時間) 部分,輸入要刪除自動建立預留項目的新日期和時間。日期和時間必須晚於預留期間的結束時間。若將這個欄位留空,自動建立的預留項目就會在預留期間結束後的兩小時內刪除。

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

      2. 按一下「提交」

    • 如要修改名稱前置字元,請在「前置字元」列中按一下「編輯」,然後執行下列操作:

      1. 在「Prefix」(前置字串) 部分,輸入新的名稱前置字串。

      2. 按一下「提交」

    • 如要修改說明,請在「說明」列中按一下「編輯」,然後執行下列操作:

      1. 在「說明」中,輸入新的說明。

      2. 按一下「提交」

  5. 按一下「編輯」或「編輯草稿」

    系統會開啟頁面,供您編輯所選的未來預留項目要求。

  6. 如要修改未來預留項目要求並提交給Google Cloud 審查,或儲存草稿要求,請執行下列一或多項操作:

    • 在「Prefix」(前置字串) 部分,輸入新名稱前置字串,做為這項未來預留項目要求佈建的自動建立預留項目名稱開頭。

    • 在「說明」中,輸入新的說明。

    • 修改未來預訂要求的「開始時間」或「結束時間」。請確認您做到了以下各項:

      • 將未來預留項目要求送審後,從這個日期和時間起算,開始時間不得晚於之後一年。

      • 指定開始時間的建議值,確保未來預留項目進入鎖定時間前,您有足夠時間處理。

      • 將要求送審後,為了提高 Google Cloud 核准的可能性,請指定建議的預留期間下限

    • 在「Share type」(共用類型) 部分,選取「Local」(本機) 或「Shared」(共用)。如果選取「共用」,您可以新增或移除專案,與這些專案共用未來預留項目要求。最多可納入 100 個專案。

    • 在「Number of VM instances」(VM 執行個體數量) 部分,輸入要預留的 VM 總數。

    • 如果您要修改的未來預留項目並非透過執行個體範本建立,則可以在「機器設定」部分變更下列項目:

      • 預留 VM 中使用的機器系列和機型。

      • 要附加至預留 VM 的 GPU。

      • 預留 VM 的本機 SSD 磁碟和磁碟介面類型。

    • 在「Auto-generated reservations auto-delete」(自動刪除系統自動產生的預留項目) 部分,您可以啟用或停用自動刪除功能,自動刪除因未來預留項目要求而自動建立的預留項目。

  7. 視要修改的未來預留項目要求採購狀態而定,請執行下列其中一項操作:

    • 如要修改草擬的未來預留項目要求,請採取下列任一步驟:

      • 如要儲存變更,請按一下「儲存草稿」

      • 如要將草擬的未來預留項目要求提交給Google Cloud 審查,請按一下「提交」

    • 如無問題,請按一下「提交」

提交修改要求後,系統會開啟「預留項目」頁面。 否則,系統會開啟未來預留項目的詳細資料頁面。

gcloud

如要修改未來預留項目要求,請使用 gcloud compute future-reservations update 指令

gcloud compute future-reservations update FUTURE_RESERVATION_NAME \
    --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \
    --description="DESCRIPTION" \
    --local-ssd=size=375,interface=INTERFACE \
    --machine-type=MACHINE_TYPE \
    --min-cpu-platform=MIN_CPU_PLATFORM \
    --name-prefix=NAME_PREFIX \
    --planning-status=PLANNING_STATUS \
    --share-setting=SHARE_SETTING \
    --share-with=CONSUMER_PROJECT_IDS \
    --start-time=START_TIME \
    --end-time=END_TIME \
    --total-count=TOTAL_COUNT \
    --zone=ZONE

更改下列內容:

  • FUTURE_RESERVATION_NAME:未來預留項目要求的名稱。

  • PLANNING_STATUS:未來預留項目要求的規劃狀態。請指定下列其中一個值:

    • 如要修改草擬的未來預留項目要求,但不想提交審查:DRAFT

    • 如要將未來預留項目要求送交審查,請按一下 SUBMITTED

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

替換下列一或多個預留位置,或移除這些預留位置和對應的旗標:

  • 如要啟用 Compute Engine,在預留期間結束後自動刪除自動建立的預留項目,請執行下列任一操作:

    • 如要在結束時間後的兩小時內刪除預留項目 (預設),請加入 --auto-delete-auto-created-reservations 旗標。

      gcloud compute future-reservations update FUTURE_RESERVATION_NAME \
          --auto-delete-auto-created-reservations \
          --planning-status=PLANNING_STATUS \
          --zone=ZONE
      
    • 如要在預留期間結束後的特定時間刪除自動建立的預留項目,請加入 --auto-delete-auto-created-reservations--auto-created-reservations-delete-time 旗標。

      gcloud compute future-reservations update FUTURE_RESERVATION_NAME \
          --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME \
          --auto-delete-auto-created-reservations \
          --planning-status=PLANNING_STATUS \
          --zone=ZONE
      

      請將 AUTO_CREATED_RESERVATIONS_DELETE_TIME 替換為以 RFC 3339 時間戳記格式設定的日期和時間。

    • 如要在預留期間結束後的特定時間刪除自動建立的預留項目,請加入 --auto-delete-auto-created-reservations--auto-created-reservations-duration 旗標。

      gcloud compute future-reservations update FUTURE_RESERVATION_NAME \
          --auto-created-reservations-duration=DURATION_BEFORE_DELETE \
          --auto-delete-auto-created-reservations \
          --planning-status=PLANNING_STATUS \
          --zone=ZONE
      

      DURATION_BEFORE_DELETE 替換為天數、小時數、分鐘數或秒數。舉例來說,指定 30m 代表 30 分鐘,指定 1d2h3m4s 則代表 1 天 2 小時 3 分鐘 4 秒。

  • 如要停用 Compute Engine,不要自動刪除因這項未來預留項目要求而自動建立的預留項目,請加入 --no-auto-delete-auto-created-reservations 標記。

    gcloud compute future-reservations update FUTURE_RESERVATION_NAME \
        --no-auto-delete-auto-created-reservations \
        --planning-status=PLANNING_STATUS \
        --zone=ZONE
    
  • 如要新增或移除附加至預留 N1 VM 的 GPU,或更新 GPU 類型,請執行下列其中一項操作:

    • 如要變更 GPU 數量和類型,請替換下列項目:

    • 如要移除所有已連結至預留 N1 VM 的 GPU,請將 --accelerator 旗標替換為 --clear-accelerator 旗標。

  • DESCRIPTION:未來預訂要求的新說明。

  • 如要從預留 VM 新增或移除本機 SSD 磁碟,或編輯本機 SSD 磁碟介面類型,請執行下列其中一項操作:

    • 如要新增本機 SSD 磁碟或編輯磁碟介面類型,請將 INTERFACE 替換成下列其中一個值:

      加入 --local-ssd 旗標,新增所需數量的本機 SSD 磁碟。最多可以指定 24 個本機 SSD 磁碟。

    • 如要移除所有附加至預留 VM 的本機 SSD 磁碟,請移除所有 --local-ssd 旗標,並加入 --clear-local-ssd 旗標。

  • MACHINE_TYPE:每個預留 VM 要使用的新機型。如果變更機型,請一併指定新機器系列的建議最短預留期限。否則 Google Cloud 可能會拒絕您的修改要求。

  • MINIMUM_CPU_PLATFORM:每個預留 VM 的新 CPU 平台基本要求。

  • NAME_PREFIX:為未來預留項目要求自動建立的預留項目,指定新的名稱前置字元。

  • SHARE_SETTING:未來預訂要求的新分享類型。請指定下列其中一個值:

    • 單一專案的未來預留項目要求:local。為避免發生錯誤,您也必須將 --share-with 標記換成 --clear-share-settings 標記。

    • 共用的未來預留項目要求:projects。為避免發生錯誤,您也必須在 --share-with 標記中指定至少一個消費者專案。

  • CONSUMER_PROJECT_IDS:以半形逗號分隔的專案 ID 清單,您要與這些專案分享日後的未來預留項目要求,例如 project-1,project-2。最多可指定 100 個消費者專案。

  • START_TIME:預訂期間的新開始時間,格式為 RFC 3339 時間戳記。將修改要求送審後,從這個日期和時間起算,開始時間不得晚於之後一年。為了確保有足夠時間在未來預留項目獲得核准後,選擇性取消、刪除或修改該項目,請指定開始時間的建議值

  • END_TIME:預訂期間的新結束時間,格式為 RFC 3339 時間戳記。將要求送審後,為了提高Google Cloud 核准的可能性,請指定建議的預留期間下限。如要指定時間長度而非結束時間,請將 --end-time 旗標改為 --duration=END_DURATION 旗標。將 END_DURATION 替換為預訂期間長度 (以秒為單位)。例如,如要指定 1,209,600 秒 (14 天),請使用 1209600

  • TOTAL_COUNT:您要在這個未來預留項目要求中,為指定期間、VM 設定和專案預留的 VM 總數。如要增加總數,請確認您有足夠的配額,可預留需要的資源。否則 Google Cloud 會拒絕你的修改要求。

舉例來說,假設草擬的共用未來預留項目要求名為 fr-03,且位於 us-central1-a 區域。假設您想進行下列變更,修改這項共用未來預留項目要求:

  • 將要求轉換為單一專案的未來預留項目要求。

  • 停用自動刪除選項。

  • 預留 100 個 VM。

  • 將未來預留項目要求送交 Google Cloud 審查。

如要修改 fr-03,請執行下列指令:

gcloud compute future-reservations update fr-03 \
    --clear-share-settings \
    --no-auto-delete-auto-created-reservations \
    --planning-status=SUBMITTED \
    --share-setting=local \
    --total-count=100 \
    --zone=us-central1-a

REST

如要修改未來預留項目要求,請對 futureReservations.update 方法發出 PATCH 要求

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=UPDATE_FIELDS

{
  "autoDeleteAutoCreatedReservations": "AUTO_DELETE_AUTO_CREATED_RESERVATIONS",
  "description": "DESCRIPTION",
  "name": "FUTURE_RESERVATION_NAME",
  "namePrefix": "NAME_PREFIX",
  "planningStatus": "PLANNING_STATUS",
  "shareSettings": {
    "projects": [
      "CONSUMER_PROJECT_ID_1",
      "CONSUMER_PROJECT_ID_2"
    ],
    "shareType": "SHARE_TYPE"
  },
  "specificSkuProperties": {
    "instanceProperties": {
      "guestAccelerators": [
        {
          "acceleratorCount": NUMBER_OF_ACCELERATORS,
          "acceleratorType": "ACCELERATOR_TYPE"
        }
      ],
      "localSsds": [
        {
          "diskSizeGb": "375",
          "interface": "INTERFACE_1"
        },
        {
          "diskSizeGb": "375",
          "interface": "INTERFACE_2"
        }
      ],
      "machineType": "MACHINE_TYPE",
      "minCpuPlatform": "MINIMUM_CPU_PLATFORM"
    },
    "totalCount": "TOTAL_COUNT"
  },
  "timeWindow": {
    "endTime": "END_TIME",
    "startTime": "START_TIME"
  }
}

更改下列內容:

  • PROJECT_ID:未來預訂要求所在的專案 ID。

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

  • FUTURE_RESERVATION_NAME:未來預留項目要求的名稱。

  • UPDATE_FIELDS:以半形逗號分隔的欄位清單,用於更新要求主體。您必須將每個半形逗號編碼為 %2C。如果您在 updateMask 查詢參數和要求主體中指定欄位,系統就會更新該欄位的值。否則,如果您只在 updateMask 查詢參數中指定欄位,系統就會刪除該欄位。

    舉例來說,如要更新未來預留項目要求中的 autoDeleteAutoCreatedReservationstotalCountendTime 欄位,請指定下列項目:

    autoDeleteAutoCreatedReservations%2CspecificSkuProperties.totalCount%2CtimeWindow.endTime
    
  • PLANNING_STATUS:未來預留項目要求的規劃狀態。請指定下列其中一個值:

    • 如要修改草擬的未來預留項目要求,但不想提交審查:DRAFT

    • 如要提交修改要求以供審查,請按照SUBMITTED操作。

替換下列一或多個預留位置,或移除預留位置和對應的欄位:

  • AUTO_DELETE_AUTO_CREATED_RESERVATIONS:如果將這個欄位設為 true,Compute Engine 會自動刪除為您未來預留項目要求而自動建立的預留項目。預設情況下,系統會在預留期間結束後的兩小時內刪除預留項目。如要變更這項設定,請採取下列任一做法:

    • 如要在預留期間結束後的特定時間刪除自動建立的預留項目,請將 autoDeleteAutoCreatedReservations 設為 true,並指定 autoCreatedReservationsDeleteTime 欄位。

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDeleteTime%2CplanningStatus
      
      {
        "autoDeleteAutoCreatedReservations": "true",
        "autoCreatedReservationsDeleteTime": "DELETE_TIME",
        "name": "FUTURE_RESERVATION_NAME",
        "planningStatus": "PLANNING_STATUS"
      }
      

      DELETE_TIME 替換為 Compute Engine 刪除預留項目的日期和時間。日期和時間必須格式化為 RFC 3339 時間戳記

    • 如要在預留期間開始後的特定時間刪除自動建立的預留項目,請將 autoDeleteAutoCreatedReservations 設為 true,並指定 autoCreatedReservationsDuration 欄位。

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDuration%2CplanningStatus
      
      {
        "autoDeleteAutoCreatedReservations": "true",
        "autoCreatedReservationsDuration": {
          "seconds": "DURATION_BEFORE_DELETE"
        },
        "name": "FUTURE_RESERVATION_NAME",
        "planningStatus": "PLANNING_STATUS"
      }
      

      DURATION_BEFORE_DELETE 改為以秒為單位的時間長度。例如,如要指定 604,800 秒 (7 天),請使用 604800

  • DESCRIPTION:未來預訂要求的新說明。

  • NAME_PREFIX:為未來預留項目要求自動建立的預留項目,指定新的名稱前置字元。

  • CONSUMER_PROJECT_ID_1CONSUMER_PROJECT_ID_2:您要與之共用未來預留項目要求的專案 ID。專案必須與擁有者專案位於同一個機構。最多可指定 100 個消費者專案。

  • SHARE_TYPE:未來預訂要求的新分享類型。執行下列其中一個步驟:

    • 如要指定單一專案的未來預留項目要求,請執行下列操作:

      • 指定 LOCAL

      • 移除 shareSettings.projects 欄位。

    • 如要指定共用的未來預留項目要求,請按照下列步驟操作:

      • 指定 SPECIFIC_PROJECTS

      • shareSettings.projects 欄位中指定至少一個消費端專案。用戶專案必須與擁有者專案位於同一個機構。最多可指定 100 個消費者專案。

  • 如要變更要附加至預留 N1 VM 的 GPU 數量和類型,請替換下列項目:

  • INTERFACE_1INTERFACE_2:附加至每個預留 VM 的本機 SSD 磁碟介面類型。請指定下列其中一個值:

  • MACHINE_TYPE:每個預留 VM 要使用的新機型。如果變更機型,請一併指定建議的最低預留期限,以適用於新的機器系列。否則 Google Cloud 不太可能核准您的修改要求。

  • MINIMUM_CPU_PLATFORM:每個預留 VM 的新 CPU 平台基本要求。

  • TOTAL_COUNT:您要在這個未來預留項目要求中,為指定期間、VM 設定和專案預留的 VM 總數。如要增加總數,請確認您有足夠的配額,可預留需要的資源。否則 Google Cloud 會拒絕你的修改要求。

  • START_TIME:預訂期間的新開始時間,格式為 RFC 3339 時間戳記。將修改要求送審後,從這個日期和時間起算,開始時間不得晚於之後一年。為了確保有足夠時間在未來預留項目獲得核准後,選擇性取消、刪除或修改該項目,請指定開始時間的建議值

  • END_TIME:預訂期間的新結束時間,格式為 RFC 3339 時間戳記。將要求送審後,為了提高Google Cloud 核准的可能性,請指定最短預留期間。如要指定時間長度而非結束時間,請將 endTime 欄位換成 duration 欄位:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=timeWindow.duration%2CplanningStatus
    
    {
      "name": "FUTURE_RESERVATION_NAME",
      "planningStatus": "PLANNING_STATUS",
      "timeWindow": {
        "duration": {
          "seconds": "END_DURATION"
        }
      }
    }
    

    END_DURATION 替換為以秒為單位的時間長度。舉例來說,如要指定 1,209,600 秒 (14 天),請輸入 1209600

舉例來說,假設草擬的共用未來預留項目要求名為 fr-03,且位於 us-central1-a 區域。假設您想進行下列變更,修改這項共用未來預留項目要求:

  • 將要求轉換為單一專案的未來預留項目要求。

  • 停用自動刪除選項。

  • 預留 100 個 VM。

  • 將未來預留項目要求送交 Google Cloud 審查。

如要修改 fr-03,請發出 PATCH 要求,如下所示:

PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/futureReservations/fr-03?updateMask=autoDeleteAutoCreatedReservations%2CplanningStatus%2CshareSettings.shareType%2CspecificSkuProperties.totalCount

{
  "autoDeleteAutoCreatedReservations": false,
  "name": "fr-03",
  "planningStatus": "SUBMITTED",
  "shareSettings": {
    "shareType": "LOCAL"
  },
  "specificSkuProperties": {
    "totalCount": "100"
  }
}

修改未來預留項目要求後,您可以查看未來預留項目要求的詳細資料,監控採購或更新狀態。

變更未來預留項目要求中的其他屬性

如要變更建立未來預留項目要求後無法修改的屬性,且要求尚未獲得核准並進入鎖定時間,請按照下列步驟操作:

  1. 如要停止未來預留項目要求,限制您在專案中或與未來預留項目要求共用的專案中建立的未來預留項目要求類型,請刪除未來預留項目要求

  2. 建立新的單一專案共用未來預留項目要求,並套用所需更新。

疑難排解

如果修改未來預留項目要求時發生錯誤,請參閱未來預留項目要求疑難排解

如果排解問題後仍遇到問題,請聯絡您的帳戶代表或Google Cloud 支援團隊

後續步驟