本文說明如何修改日後的預訂要求。
只要未來預訂要求尚未取消或處於待核准狀態,您隨時可以在開始時間前修改。當您的容量需求發生變更時,修改未來的預訂要求就很實用,例如您想增加保留的虛擬機器 (VM) 執行個體數量,或變更預訂期間。如要修改共用未來預訂要求,您必須使用擁有者專案修改要求。
如要在預留期間結束後修改自動建立的預留項目,請參閱「修改預留項目」。
事前準備
-
如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 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
-
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.
- 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 Future Reservation Admin (roles/compute.futureReservationAdmin
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這個預先定義的角色包含 compute.futureReservations.update
權限,這是修改未來預訂要求所需的權限。
可修改的屬性
未來預留要求包含多個屬性,用於定義預留項目、決定其行為,以及指定要預留的資源。您可以按照下文所述修改這些屬性。
建立後
建立未來預留要求後,您無法修改下列屬性:
未來預留要求的名稱。
建立未來預留項目要求的專案。
未來預留項目要求所在的區域。
要使用的執行個體範本,以及執行個體範本中指定的 VM 屬性。
如要在未來預留要求進入鎖定時間前修改任何這些屬性,請建立新要求。
提交前
在將未來預留項目要求提交給 Google Cloud 進行審查前,或是在提交未來預留項目要求後,如果要求遭拒,您可以修改下列屬性:
自動刪除選項
說明
GPU 和 GPU 類型
本機 SSD 磁碟和磁碟介面類型
機器系列和機器類型
最低 CPU 平台
名稱前置字串
共用設定
預留期間的開始和結束時間
總數 (VM 數量)
您可以立即修改草稿狀態的未來預訂要求,且修改次數不受限制。如果您要修改遭拒絕 (DECLINED
) 的未來預訂要求,則必須再次提交審查,才能修改要求。
核准後
Google Cloud 核准未來預留項目後,您可以在未來預留項目達到「已佈建」的採購狀態 (PROVISIONING
) 之前修改該項目。具體來說,您可以修改下列屬性:
隨時修改未來預留項目:
自動刪除選項
說明
名稱前置字串
在活動開始時間前 72 小時內提交修改要求:
GPU 和 GPU 類型*
本機 SSD 磁碟和磁碟介面類型*
機器系列和機器類型*
最低 CPU 平台*
共用設定
預留期間的開始和結束時間
總數 (VM 數量)*
* 如果您在未來預留時間的開始時間後 14 天內,要求變更任何 VM 屬性,或大幅增加或減少總數, Google Cloud 可能會拒絕您的修改要求。
修改未來預留要求
修改未來預留要求之前,請先查看可修改的屬性 (如果您尚未查看)。
如果您想將透過執行個體範本建立的單一專案未來預留項目要求修改為共用未來預留項目要求,則無法使用相同範本建立可在建立共用未來預留項目要求的專案之外,使用自動建立的預留項目的 VM。對於未來預留項目共用到的專案,您必須在這些專案中建立類似的執行個體範本,或直接指定屬性來建立 VM。
如要修改未來預留要求,請選取下列其中一個選項:
主控台
在 Google Cloud 控制台,前往「Reservations」(預留項目) 頁面。
點按「Future reservations」(未來預留項目) 分頁標籤。
在「名稱」欄中,按一下要修改的未來預訂要求名稱。
所選未來預留項目要求的詳細資料頁面隨即開啟。
如要修改已核准的未來預留項目的自動刪除選項、說明或名稱前置字串,請執行下列一或多項操作:
如要修改自動刪除選項,請在「自動建立的預留項目自動刪除時間」列中按一下
「編輯」,然後執行下列操作:如要啟用、停用或修改自動刪除選項,請執行下列任一操作:
如要啟用自動刪除選項,或變更 Compute Engine 自動刪除自動建立的預留項目的時間,請按照下列步驟操作:
將「啟用自動刪除功能」切換鈕設為開啟。
選用:針對「自動刪除時間」,輸入要刪除自動建立的預留項目的新日期和時間。日期和時間必須晚於預訂期間的結束時間。如果您將這個欄位留空,系統就會在預留期間結束後的兩小時內刪除自動建立的預留項目。
否則請將「啟用自動刪除」切換鈕設為關閉。
按一下「提交」。
如要修改名稱前置字元,請在「Prefix」列中按一下
「Edit」,然後執行下列操作:在「前置字串」中,輸入新的名稱前置字串。
按一下「提交」。
如要修改說明,請在「Description」列中按一下
「Edit」,然後執行下列操作:在「說明」中,輸入新的說明。
按一下「提交」。
依序按一下
「編輯」或 「編輯草稿」。系統會開啟可編輯所選未來預留項目要求的頁面。
如要修改未來預留項目要求並提交給Google Cloud 進行審查,或儲存草稿要求,請執行下列一或多項操作:
針對「Prefix」,請輸入為這項未來預留要求自動佈建的預留項目的新名稱前置字串。
在「說明」中,輸入新的說明。
變更未來預訂要求的開始時間或結束時間。請確認您做到了以下各項:
在「Share type」部分,您可以選取「Local」或「Shared」。如果選取「共用」,您可以新增或移除要共用未來預留要求的專案。最多可納入 100 個專案。
在「VM 執行個體數量」中,輸入要保留的 VM 總數。
如果您要修改未透過執行個體範本建立的未來預訂,可以在「Machine configuration」部分變更下列項目:
預留 VM 使用的機器系列和機器類型。
要附加至已保留 VM 的 GPU。
保留的 VM 的本機 SSD 磁碟和磁碟介面類型。
在「自動刪除系統自動產生的預留項目」部分,您可以啟用或停用自動刪除系統自動建立的預留項目,以便日後使用預留項目要求。
視您要修改的未來預訂要求採購狀態而定,請執行下列其中一項操作:
如果您要修改未來預留項目要求草稿,請採取下列任一步驟:
如要儲存變更,請按一下「儲存草稿」。
如要將未來預留項目要求草稿提交給Google Cloud 進行審查,請按一下「提交」。
否則請按一下「提交」。
如果提交修改要求,系統會開啟「預訂」頁面。否則,系統會開啟未來預留項目的詳細資料頁面。
gcloud
如要修改未來預訂要求,請使用 gcloud beta compute future-reservations update
指令。
gcloud beta 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 beta 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 beta 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 beta 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
替換為以天、小時、分鐘或秒為單位的時間長度。舉例來說,如果要指定 30 分鐘,請指定30m
;如果要指定 1 天 2 小時 3 分鐘 4 秒,請指定1d2h3m4s
。
如要停用 Compute Engine 自動刪除為此未來預留要求提供的自動建立預留項目,請加入
--no-auto-delete-auto-created-reservations
標記。gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \ --no-auto-delete-auto-created-reservations \ --planning-status=PLANNING_STATUS \ --zone=ZONE
如要新增或移除已連結至預留 N1 VM 的 GPU,或更新 GPU 類型,請執行下列任一操作:
如要變更 GPU 數量和類型,請取代下列項目:
NUMBER_OF_ACCELERATORS
:每個保留的 VM 要新增的 GPU 數量。ACCELERATOR_TYPE
:要新增至已保留 VM 的 GPU 類型。請確認GPU 可在未來預留要求所在的區域使用。否則修改要求會失敗。
如要移除已連接至保留 N1 VM 的所有 GPU,請將
--accelerator
旗標替換為--clear-accelerator
旗標。
DESCRIPTION
:日後預訂要求的新說明。如要在保留的 VM 中新增或移除本機 SSD 磁碟,或編輯本機 SSD 磁碟介面類型,請執行下列任一操作:
如要新增本機 SSD 磁碟或編輯磁碟介面類型,請將
INTERFACE
替換為下列其中一個值:如果開機磁碟映像檔具有最佳化 NVMe 驅動程式:
nvme
。否則:
scsi
。
針對您要新增的所有本機 SSD 磁碟,加入
--local-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
替換為預留期間的時間長度 (以秒為單位)。例如,指定1209600
為 1,209,600 秒 (14 天)。TOTAL_COUNT
:您要在未來保留要求中指定的期間、VM 設定和專案,所需保留的 VM 新總數。如果您想增加總數,請確保您預留的資源有足夠的配額。否則, Google Cloud 會拒絕您的修改要求。
舉例來說,假設有一份名為 fr-03
的共用未來預留項目草稿,位於區域 us-central1-a
。假設您想修改這項共用未來預留項目要求,請進行以下變更:
將要求轉換為單一專案的未來預留項目要求。
停用自動刪除選項。
預訂 100 個 VM。
將未來預留項目要求提交給 Google Cloud 進行審查。
如要修改 fr-03
,請執行下列指令:
gcloud beta 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
如要修改未來預留要求,請對 beta.futureReservations.update
方法發出 PATCH
要求。
PATCH https://compute.googleapis.com/compute/beta/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
查詢參數中指定欄位,系統就會刪除該欄位。舉例來說,如要更新未來預留項目要求中的
autoDeleteAutoCreatedReservations
、totalCount
和endTime
欄位,請指定以下項目: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/beta/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/beta/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
替換為秒數。例如,指定604800
為 604,800 秒 (7 天)。
DESCRIPTION
:未來預訂要求的新說明。NAME_PREFIX
:為日後預訂要求預留的自動建立預訂項目的新名稱前置字串。CONSUMER_PROJECT_ID_1
和CONSUMER_PROJECT_ID_2
:您要與其共用未來預留要求的專案 ID。專案必須與擁有者專案位於相同機構。您最多可指定 100 個消費者專案。SHARE_TYPE
:日後預訂要求的新共用類型。執行下列其中一個步驟:如要指定單一專案的未來預留要求,請執行下列操作:
指定
LOCAL
。移除
shareSettings.projects
欄位。
如要指定共用的未來預留項目要求,請按照下列步驟操作:
指定
SPECIFIC_PROJECTS
。請在
shareSettings.projects
欄位中指定至少一個消費端專案。使用者專案必須與擁有者專案位於相同機構。您最多可以指定 100 個消費者專案。
如要變更要附加至保留 N1 VM 的 GPU 數量和類型,請將下列內容取代為:
NUMBER_OF_ACCELERATORS
:每個預留 VM 要新增的 GPU 數量。ACCELERATOR_TYPE
:要新增至保留 VM 的 GPU 類型。請確認GPU 可在未來預留要求所在的區域使用。否則修改要求會失敗。
INTERFACE_1
和INTERFACE_2
:已連接至每個保留 VM 的本機 SSD 磁碟的磁碟介面類型。請指定下列其中一個值:如果開機磁碟映像檔具有最佳化 NVMe 驅動程式:
NVME
。否則:
SCSI
。您最多可以指定 24 個本機 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/beta/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
替換為以秒為單位的時間長度。例如,將1209600
指定為 1,209,600 秒 (14 天)。
舉例來說,假設有一份名為 fr-03
的共用未來預留項目草稿,位於區域 us-central1-a
。假設您想修改這項共用未來預留項目要求,請進行以下變更:
將要求轉換為單一專案的未來預留項目要求。
停用自動刪除選項。
預訂 100 個 VM。
將未來預留項目要求提交給 Google Cloud 進行審查。
如要修改 fr-03
,請發出 PATCH
要求,如下所示:
PATCH https://compute.googleapis.com/compute/beta/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"
}
}
修改未來預訂要求後,您可以查看未來預訂要求的詳細資料,監控其採購或更新狀態。
變更未來預留要求中的其他屬性
如要變更建立未來預訂要求後,且在要求獲得核准並進入鎖定時間前無法修改的屬性,請按照下列步驟操作:
如要停止讓未來預留項目要求限制您在專案中或與未來預留項目共用的專案中,建立未來預留項目要求的類型,請刪除未來預留項目要求。
建立新的單一專案或共用未來預留項目要求,並加入所需的更新。
疑難排解
如果修改未來預留項目要求時發生錯誤,請參閱如何排解未來預留項目要求問題。
如果在排解問題後仍遇到問題,請與您的帳戶代表或Google Cloud 支援團隊聯絡。
後續步驟
瞭解如何查看未來預留項目要求。
瞭解如何取消或刪除未來的預訂要求。
在預留期間開始後,請瞭解如何使用自動建立的預留項目。
瞭解如何在預留期間結束後修改自動建立的預留項目。