本文說明如何建立單一專案的未來預留項目要求。
如果 Google Cloud 核准您的單一專案未來預留要求,Compute Engine 就會在要求中指定的開始時間,自動建立預留項目,且只有在相同專案中建立的虛擬機器 (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
-
安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:
gcloud init
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
- Set a default region and zone.
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:
gcloud init
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。
必要的角色
如要取得建立單一專案未來預留項目要求所需的權限,請要求管理員授予您專案的Compute Future Reservation User (
roles/compute.futureReservationUser
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。這個預先定義的角色具備建立單一專案未來預留項目要求所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要建立單一專案的未來預留項目要求,必須具備下列權限:
-
如要建立未來預留項目要求:
compute.futureReservations.create
在專案上 -
如要讓 Compute Engine 自動建立預留項目,請在專案中執行下列操作:
compute.reservations.create
-
如要指定執行個體範本:
compute.instanceTemplates.useReadOnly
執行個體範本中的compute.instanceTemplates.useReadOnly
建立草稿要求
建立未來預留項目要求時,您可以將要求儲存為草稿,稍後再提交至 Google Cloud 以供審查,也可以直接提交要求以供審查。Google 建議您先建立草稿要求,因為這樣您就能判斷 Compute Engine 會為要求佈建的 VM 數量,而不必手動估算這個數量,而且您也可以選擇修改要求中的預留 VM 數量,再提交要求以供審查。
如要使用未來預留項目自動建立的預留項目,VM 的屬性必須完全符合該預留項目。如要指定您要透過建立未來預留要求預留的 VM 屬性,請使用下列其中一種方法:
建議:指定執行個體範本
您可以使用現有的執行個體範本,定義未來預留要求中的屬性。使用執行個體範本,您可以在同一處定義未來預留項目的屬性,以及可使用自動建立預留項目的 VM。
-
您可以使用現有 VM 定義未來預留要求中的屬性。使用現有 VM 的屬性,建立與參照 VM 屬性相符的 VM,即可使用為未來預留項目自動建立的預留項目。
-
您可以直接定義未來預留項目要求的屬性。這個方法需要手動確保 VM 和自動建立的預留項目屬性完全相符,否則屬性不符就無法使用預留項目。
未來預留項目自動建立的預留項目,可供任何屬性相符的 VM 自動使用。如要防止 VM 使用任何自動建立的預留項目,請參閱如何建立 VM 而不使用預留項目。
指定執行個體範本
透過指定執行個體範本建立未來預留項目要求時,請注意下列事項:
您必須在與執行個體範本內資源相同的地區和可用區中,建立未來預留項目要求。執行個體範本中指定的任何區域或區域資源 (例如機器類型或永久磁碟),都會將範本的使用限制在這些資源所在的位置。舉例來說,如果執行個體範本在
us-central1-a
區域中指定現有的永久磁碟,則您必須在相同區域中建立未來的預留項目要求。否則建立未來預留項目要求會失敗。如要檢查現有範本是否指定任何資源,將範本繫結至特定區域或可用區,請查看範本詳細資料,並在其中尋找區域或可用區資源的參照。
如要將為未來預留項目佈建的自動建立預留項目附加至承諾方案,請停用自動刪除選項。詳情請參閱「建立後的限制」一節。
建立未來預留要求後,您無法修改要求來覆寫範本的 VM 屬性,也無法指定其他範本。而是必須建立新的未來預留項目要求。
如要指定現有執行個體範本,為單一專案建立未來預留項目,請選取下列任一選項:
主控台
在 Google Cloud 控制台,前往「Reservations」(預留項目) 頁面。
點按「Future reservations」(未來預留項目) 分頁標籤。
點按
「Create future reservation」(建立未來預留項目)。「Create a future reservation」(建立未來預留項目) 頁面會隨即開啟。
在「Name」部分,輸入未來預留要求名稱。
在「Prefix」部分輸入名稱前置字串。根據這項未來預留項目要求自動建立的每個預留項目,名稱開頭都會是這個前置字串。
在「區域」和「可用區」部分,選取要預留資源的區域和可用區。
在「開始時間」中,輸入預訂期間的開始時間。開始時間不得晚於您提交未來預留要求以供審查的日期和時間後一年。為確保有足夠時間在未來預留項目進入鎖定時間前,選擇性修改、取消或刪除該項目,請為開始時間指定建議值。
在「結束時間」部分,輸入預訂期間的結束時間。「預訂時間摘要」部分會顯示預訂時間長度。如要提高 Google Cloud 在您提交預訂要求後核准要求的可能性,請為預訂期間指定建議值。
在「共用類型」部分,選取「本機」(如果尚未選取)。
在「所需總容量」部分,輸入要為這項未來預留要求指定的期間、VM 設定和專案預留的 VM 總數。
Google Cloud在「機器設定」部分,執行下列操作:
選取「使用執行個體範本」。
在「Instance template」(執行個體範本) 中,選取您要使用的執行個體範本。 如果選取區域執行個體範本,就只能在與範本區域相同的區域中預留資源。
在「自動刪除系統自動產生的預留項目」部分,執行下列任一操作:
如要讓 Compute Engine 自動刪除未來預留項目要求自動建立的預留項目,請執行下列操作:
如果「啟用自動刪除」切換鈕尚未設為開啟,請點選該切換鈕。
選用:在「自動刪除時間」中,輸入要刪除自動建立預留項目的日期和時間。日期和時間必須晚於預訂期間的結束時間。如果將這個欄位留空,自動建立的預留項目就會在預留期間結束後的兩小時內刪除。
否則,請按一下「啟用自動刪除功能」切換鈕,將其設為關閉。
如要完成建立未來預留項目要求草稿,請點按「Save a draft」(儲存草稿)。
「預留項目」頁面隨即開啟。建立未來預留項目要求最多可能需要一分鐘。
gcloud
如要指定執行個體範本,建立單一專案的未來預訂要求,請使用
gcloud beta compute future-reservations create
指令。如要建立草稿未來預留項目要求,請指定執行個體範本,但不包含任何選用旗標,並在預留項目期限結束時自動刪除自動建立的預留項目,請執行下列指令:
gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \ --auto-delete-auto-created-reservations \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --start-time=START_TIME \ --end-time=END_TIME \ --total-count=TOTAL_COUNT \ --zone=ZONE
更改下列內容:
FUTURE_RESERVATION_NAME
:未來預訂要求的名稱。MACHINE_TYPE
:每個預留 VM 使用的機器類型。
PROJECT_ID
:您要預留資源的專案 ID,也是執行個體範本所在位置。LOCATION
:執行個體範本的位置。指定下列其中一個值:如果是區域執行個體範本:
regions/REGION
. 將REGION
替換為執行個體範本所在的區域。如果您指定區域執行個體範本,則只能在與範本區域相同的區域內建立未來預留要求。全域執行個體範本:
global
。
INSTANCE_TEMPLATE_NAME
:現有執行個體範本的名稱。
START_TIME
:預訂期間的開始時間,採用 RFC 3339 時間戳記格式,且必須符合下列格式:YYYY-MM-DDTHH:MM:SSOFFSET
更改下列內容:
YYYY-MM-DD
:格式為 4 位數年份、2 位數月份和 2 位數日期的資料,並以連字號 (-
) 分隔。HH:MM:SS
:時間格式為 2 位數的小時 (採用 24 小時制)、2 位數的分鐘和 2 位數的秒數,並以冒號 (:
) 分隔。OFFSET
:時區格式為世界標準時間 (UTC) 的偏移量。 舉例來說,如要使用太平洋標準時間 (PST),請指定-08:00
。或者,如要不使用位移,請指定Z
。
開始時間不得晚於您提交未來預留要求審查的日期和時間後一年。為確保有足夠時間在未來預留要求獲得核准後,以及進入鎖定時間前,選擇取消、刪除或修改要求,請指定建議的開始時間值。
END_TIME
:預訂期間的結束時間,格式為 RFC 3339 時間戳記。為提高Google Cloud 在提交要求後核准要求的可能性,請指定最短預訂時間。如要指定時間長度而非結束時間,請將--end-time
旗標替換為--duration=END_DURATION
旗標。將END_DURATION
替換為以秒為單位的時間長度。舉例來說,如要指定 1,209,600 秒 (14 天),請輸入1209600
。如要提高 Google Cloud 在您提交預留要求以供審查後,核准未來預留要求的可能性,請指定建議的最短時間。
TOTAL_COUNT
:要預留的 VM 總數。ZONE
:預留資源的所在區域。
舉例來說,假設您想在區域
us-central1-a
中建立名為fr-01
的未來預留項目要求草稿,並具備下列屬性:預訂期間為 2024 年 11 月 10 日午夜 (世界標準時間) 至 2024 年 12 月 10 日午夜 (世界標準時間)。
VM 總數為 80 個。
- 區域
us-central1
的區域執行個體範本。
- 已啟用自動刪除選項。自動建立的預留項目會在預留期間結束時刪除。
如要建立
fr-01
,請執行下列指令:gcloud beta compute future-reservations create fr-01 \ --auto-delete-auto-created-reservations \ --source-instance-template=projects/example-project/regions/us-central1/instanceTemplates/example-template \ --start-time=2024-11-10T00:00:00Z \ --end-time=2024-12-10T00:00:00Z \ --total-count=80 \ --zone=us-central1-a
您也可以採取下列做法:
如要在預留期間結束後刪除自動建立的預留項目,請選取下列其中一種方法:
如要在預留項目期間結束後,於特定日期和時間刪除自動建立的預留項目,請加入
--auto-created-reservations-delete-time
標記。gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \ --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME \ --auto-delete-auto-created-reservations \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --start-time=START_TIME \ --end-time=END_TIME \ --total-count=TOTAL_COUNT \ --zone=ZONE
將 AUTO_CREATED_RESERVATIONS_DELETE_TIME 替換為以 RFC 3339 時間戳記格式設定的日期和時間。
如要在預留時間結束後的特定時間刪除自動建立的預留項目,請加入
--auto-created-reservations-duration
標記。gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \ --auto-created-reservations-duration=DURATION_BEFORE_DELETE \ --auto-delete-auto-created-reservations \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --start-time=START_TIME \ --end-time=END_TIME \ --total-count=TOTAL_COUNT \ --zone=ZONE
將 DURATION_BEFORE_DELETE 替換為以天、小時、分鐘或秒為單位的時間長度。例如,指定
30m
代表 30 分鐘,或1d2h3m4s
代表 1 天 2 小時 3 分鐘 4 秒。
如要停用自動建立預留項目的自動刪除選項,請將
--auto-delete-auto-created-reservations
旗標替換為--no-auto-delete-auto-created-reservations
旗標。gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \ --no-auto-delete-auto-created-reservations \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --start-time=START_TIME \ --end-time=END_TIME \ --total-count=TOTAL_COUNT \ --zone=ZONE
如要為自動建立的預留項目指定名稱前置字串,請加入
--name-prefix
旗標。gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \ --auto-delete-auto-created-reservations \ --name-prefix=NAME_PREFIX \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --start-time=START_TIME \ --end-time=END_TIME \ --total-count=TOTAL_COUNT \ --zone=ZONE
將
NAME_PREFIX
改成每個自動建立預留項目的名稱前置字元。為協助您識別這項未來預留項目要求自動建立的預留項目, Google Cloud 建議您指定不重複的名稱前置字串。
REST
如要建立單一專案的未來預留項目要求,請指定執行個體範本,然後對
beta.futureReservations.insert
方法發出POST
要求。如要建立草稿未來預留項目要求,請指定執行個體範本,但不包含任何選填欄位,請發出
POST
要求,如下所示:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations { "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS, "name": "FUTURE_RESERVATION_NAME", "specificSkuProperties": { "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME", "totalCount": TOTAL_COUNT }, "timeWindow": { "startTime": "START_TIME", "endTime": "END_TIME" } }
更改下列內容:
PROJECT_ID
:您要預留資源的專案 ID,也是執行個體範本所在位置。ZONE
:預留資源的所在區域。AUTO_DELETE_AUTO_CREATED_RESERVATIONS
:如果將這個欄位設為true
,Compute Engine 就會在預留期間結束後的兩小時內,自動刪除這項未來預留項目自動建立的預留項目。如要將自動建立的預訂項目附加至承諾,請將這個欄位設為false
。
LOCATION
:執行個體範本的位置。指定下列其中一個值:如果是區域執行個體範本:
regions/REGION
. 將REGION
替換為執行個體範本所在的區域。如果您指定區域執行個體範本,則只能在與範本區域相同的區域內建立未來預留要求。全域執行個體範本:
global
。
INSTANCE_TEMPLATE_NAME
:現有執行個體範本的名稱。
TOTAL_COUNT
:要預留的 VM 總數。START_TIME
:預訂期間的開始時間,採用 RFC 3339 時間戳記格式,且必須符合下列格式:YYYY-MM-DDTHH:MM:SSOFFSET
更改下列內容:
YYYY-MM-DD
:格式為 4 位數年份、2 位數月份和 2 位數日期的資料,並以連字號 (-
) 分隔。HH:MM:SS
:時間格式為 2 位數的小時 (採用 24 小時制)、2 位數的分鐘和 2 位數的秒數,並以冒號 (:
) 分隔。OFFSET
:時區格式為世界標準時間 (UTC) 的偏移量。 舉例來說,如要使用太平洋標準時間 (PST),請指定-08:00
。或者,如要不使用位移,請指定Z
。
開始時間不得晚於您提交未來預留要求審查的日期和時間後一年。為確保有足夠時間在未來預留要求獲得核准後,以及進入鎖定時間前,選擇取消、刪除或修改要求,請指定建議的開始時間值。
END_TIME
:預訂期間的結束時間,格式為 RFC 3339 時間戳記。為提高Google Cloud 在提交要求後核准要求的可能性,請指定最短預訂時間。如要指定時間長度而非結束時間,可以將endTime
欄位替換為duration
欄位:"duration": { "seconds": END_DURATION }
將
END_DURATION
替換為以秒為單位的時間長度。舉例來說,如要指定 1,209,600 秒 (14 天),請輸入1209600
。
舉例來說,假設您想在區域
us-central1-a
中建立名為fr-01
的未來預留項目要求草稿,並具備下列屬性:預訂期間為 2024 年 11 月 10 日午夜 (世界標準時間) 至 2024 年 12 月 10 日午夜 (世界標準時間)。
VM 總數為 80 個。
- 區域
us-central1
的區域執行個體範本。
- 已啟用自動刪除選項。自動建立的預留項目會在預留期間結束時刪除。
如要建立
fr-01
,請發出POST
要求,如下所示:POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations { "autoDeleteAutoCreatedReservations": true, "name": "fr-01", "specificSkuProperties": { "sourceInstanceTemplate": "projects/example-project/regions/us-central1/instanceTemplates/example-template", "totalCount": 80 }, "timeWindow": { "startTime": "2024-11-10T00:00:00Z", "endTime": "2024-12-10T00:00:00Z" } }
您也可以採取下列做法:
如要為自動建立的預留項目指定名稱前置字串,請加入
namePrefix
欄位。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations { "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS, "name": "FUTURE_RESERVATION_NAME", "namePrefix": "NAME_PREFIX", "specificSkuProperties": { "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME", "totalCount": TOTAL_COUNT }, "timeWindow": { "startTime": "START_TIME", "endTime": "END_TIME" } }
將
NAME_PREFIX
改成每個自動建立預留項目的名稱前置字元。為協助您識別這項未來預留項目要求自動建立的預留項目, Google Cloud 建議您指定不重複的名稱前置字串。
如要在預留期間結束後刪除自動建立的預留項目,請選取下列其中一種方法:
如要在預留項目期限結束後,經過特定時間後刪除自動建立的預留項目,請將
autoDeleteAutoCreatedReservations
設為true
,並加入autoCreatedReservationsDeleteTime
欄位。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations { "autoCreatedReservationsDeleteTime": "DELETE_TIME", "autoDeleteAutoCreatedReservations": true, "name": "FUTURE_RESERVATION_NAME", "specificSkuProperties": { "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME", "totalCount": TOTAL_COUNT }, "timeWindow": { "startTime": "START_TIME", "endTime": "END_TIME" } }
將
DELETE_TIME
替換為 Compute Engine 刪除自動建立預留項目的日期和時間。日期和時間必須採用 RFC 3339 時間戳記格式。如要在預留期間開始後的特定時間刪除自動建立的預留項目,請將
autoDeleteAutoCreatedReservations
設為true
,並加入autoCreatedReservationsDuration
欄位。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations { "autoCreatedReservationsDuration": { "seconds": "DURATION_BEFORE_DELETE" }, "autoDeleteAutoCreatedReservations": true, "name": "FUTURE_RESERVATION_NAME", "specificSkuProperties": { "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME", "totalCount": TOTAL_COUNT }, "timeWindow": { "startTime": "START_TIME", "endTime": "END_TIME" } }
將
DURATION_BEFORE_DELETE
改為以秒為單位的時間長度。例如,如要指定 604,800 秒 (7 天),請使用604800
。
建立未來預留項目要求草稿後,您可以判斷 Compute Engine 會為要求佈建的 VM 數量。
指定現有 VM
您只能根據與 VM 位於相同區域的現有 VM,建立未來預留要求草稿。
未來預留要求獲得 Google Cloud 核准並進入預留期間後,您就能建立屬性與參考 VM 相符的 VM,使用系統自動建立的預留項目。方法如下:
請按照下列步驟建立及使用執行個體範本:
根據參考 VM 建立執行個體範本,但不覆寫參考 VM 的屬性。
使用新建立的範本建立 VM,方法如下:
根據參考 VM 建立 VM,並確保新 VM 和參考 VM 的屬性完全相符。
如要建立單一專案的未來預留要求,並使用現有 VM 的屬性,請按照下列步驟操作:
在 Google Cloud 控制台,前往「Reservations」(預留項目) 頁面。
點按「Future reservations」(未來預留項目) 分頁標籤。
點按
「Create future reservation」(建立未來預留項目)。「Create a future reservation」(建立未來預留項目) 頁面會隨即開啟。
在「Name」部分,輸入未來預留要求名稱。
在「Prefix」部分輸入名稱前置字串。根據這項未來預留項目要求自動建立的每個預留項目,名稱開頭都會是這個前置字串。
在「區域」和「可用區」部分,選取要預留資源的區域和可用區。
在「開始時間」中,輸入預訂期間的開始時間。開始時間不得晚於您提交未來預留要求以供審查的日期和時間後一年。為確保有足夠時間在未來預留項目進入鎖定時間前,選擇性修改、取消或刪除該項目,請為開始時間指定建議值。
在「結束時間」部分,輸入預訂期間的結束時間。「預訂時間摘要」部分會顯示預訂時間長度。如要提高 Google Cloud 在您提交預訂要求後核准要求的可能性,請為預訂期間指定建議值。
在「共用類型」部分,選取「本機」(如果尚未選取)。
在「所需總容量」部分,輸入要為這項未來預留要求指定的期間、VM 設定和專案預留的 VM 總數。
Google Cloud在「機器設定」專區中,執行下列操作:
選取「使用現有 VM」。
如果是「現有 VM」,請選取要用來建立預留項目的 VM 屬性。
在「自動刪除系統自動產生的預留項目」部分,執行下列任一操作:
如要讓 Compute Engine 自動刪除未來預留項目要求自動建立的預留項目,請執行下列操作:
如果「啟用自動刪除」切換鈕尚未設為開啟,請點選該切換鈕。
選用:在「自動刪除時間」中,輸入要刪除自動建立預留項目的日期和時間。日期和時間必須晚於預訂期間的結束時間。如果將這個欄位留空,自動建立的預留項目就會在預留期間結束後的兩小時內刪除。
否則,請按一下「啟用自動刪除功能」切換鈕,將其設為關閉。
如要完成建立未來預留項目要求草稿,請點按「Save a draft」(儲存草稿)。
「預留項目」頁面隨即開啟。建立未來預留項目要求最多可能需要一分鐘。
建立未來預留項目要求草稿後,您可以判斷 Compute Engine 會為要求佈建的 VM 數量。
直接指定屬性
如要將為未來預留項目佈建的自動建立預留項目附加至承諾方案,請停用自動刪除選項。詳情請參閱「建立後的限制」。
如要直接指定屬性來建立單一專案的未來預留項目,請選取下列其中一個選項:
主控台
在 Google Cloud 控制台,前往「Reservations」(預留項目) 頁面。
點按「Future reservations」(未來預留項目) 分頁標籤。
點按
「Create future reservation」(建立未來預留項目)。「Create a future reservation」(建立未來預留項目) 頁面會隨即開啟。
在「Name」部分,輸入未來預留要求名稱。
在「Prefix」部分輸入名稱前置字串。根據這項未來預留項目要求自動建立的每個預留項目,名稱開頭都會是這個前置字串。
在「區域」和「可用區」部分,選取要預留資源的區域和可用區。
在「開始時間」中,輸入預訂期間的開始時間。開始時間不得晚於您提交未來預留要求以供審查的日期和時間後一年。為確保有足夠時間在未來預留項目進入鎖定時間前,選擇性修改、取消或刪除該項目,請為開始時間指定建議值。
在「結束時間」部分,輸入預訂期間的結束時間。「預訂時間摘要」部分會顯示預訂時間長度。如要提高 Google Cloud 在您提交預訂要求後核准要求的可能性,請為預訂期間指定建議值。
在「共用類型」部分,選取「本機」(如果尚未選取)。
在「所需總容量」部分,輸入要為這項未來預留要求指定的期間、VM 設定和專案預留的 VM 總數。
Google Cloud在「機器設定」專區中,執行下列操作:
如果尚未選取「指定機器類型」,請選取此項目。
指定要用於預留 VM 的機器類型。
在「自動刪除系統自動產生的預留項目」部分,執行下列任一操作:
如要讓 Compute Engine 自動刪除未來預留項目要求自動建立的預留項目,請執行下列操作:
如果「啟用自動刪除」切換鈕尚未設為開啟,請點選該切換鈕。
選用:在「自動刪除時間」中,輸入要刪除自動建立預留項目的日期和時間。日期和時間必須晚於預訂期間的結束時間。如果將這個欄位留空,自動建立的預留項目就會在預留期間結束後的兩小時內刪除。
否則,請按一下「啟用自動刪除功能」切換鈕,將其設為關閉。
如要完成建立未來預留項目要求草稿,請點按「Save a draft」(儲存草稿)。
「預留項目」頁面隨即開啟。建立未來預留項目要求最多可能需要一分鐘。
gcloud
如要直接指定屬性,建立單一專案的未來預訂要求,請使用
gcloud beta compute future-reservations create
指令。如要建立草稿未來預留要求,直接指定屬性而不包含任何選用標記,並在預留期限結束時自動刪除自動建立的預留項目,請執行下列指令:
gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \ --auto-delete-auto-created-reservations \ --machine-type=MACHINE_TYPE \ --start-time=START_TIME \ --end-time=END_TIME \ --total-count=TOTAL_COUNT \ --zone=ZONE
更改下列內容:
FUTURE_RESERVATION_NAME
:未來預訂要求的名稱。MACHINE_TYPE
:每個預留 VM 使用的機器類型。
START_TIME
:預訂期間的開始時間,採用 RFC 3339 時間戳記格式,且必須符合下列格式:YYYY-MM-DDTHH:MM:SSOFFSET
更改下列內容:
YYYY-MM-DD
:格式為 4 位數年份、2 位數月份和 2 位數日期的資料,並以連字號 (-
) 分隔。HH:MM:SS
:時間格式為 2 位數的小時 (採用 24 小時制)、2 位數的分鐘和 2 位數的秒數,並以冒號 (:
) 分隔。OFFSET
:時區格式為世界標準時間 (UTC) 的偏移量。 舉例來說,如要使用太平洋標準時間 (PST),請指定-08:00
。或者,如要不使用位移,請指定Z
。
開始時間不得晚於您提交未來預留要求審查的日期和時間後一年。為確保有足夠時間在未來預留要求獲得核准後,以及進入鎖定時間前,選擇取消、刪除或修改要求,請指定建議的開始時間值。
END_TIME
:預訂期間的結束時間,格式為 RFC 3339 時間戳記。為提高Google Cloud 在提交要求後核准要求的可能性,請指定最短預訂時間。如要指定時間長度而非結束時間,請將--end-time
旗標替換為--duration=END_DURATION
旗標。將END_DURATION
替換為以秒為單位的時間長度。舉例來說,如要指定 1,209,600 秒 (14 天),請輸入1209600
。如要提高 Google Cloud 在您提交預留要求以供審查後,核准未來預留要求的可能性,請指定建議的最短時間。
TOTAL_COUNT
:要預留的 VM 總數。ZONE
:預留資源的所在區域。
舉例來說,假設您想在區域
us-central1-a
中建立名為fr-01
的未來預留項目要求草稿,並具備下列屬性:預訂期間為 2024 年 11 月 10 日午夜 (世界標準時間) 至 2024 年 12 月 10 日午夜 (世界標準時間)。
VM 總數為 80 個。
- 具有 4 個 vCPU 的 N2 預先定義機器類型。
- 已啟用自動刪除選項。自動建立的預留項目會在預留期間結束時刪除。
如要建立
fr-01
,請執行下列指令:gcloud beta compute future-reservations create fr-01 \ --auto-delete-auto-created-reservations \ --machine-type=n2-standard-4 \ --start-time=2024-11-10T00:00:00Z \ --end-time=2024-12-10T00:00:00Z \ --total-count=80 \ --zone=us-central1-a
您也可以採取下列做法:
如要將 GPU 附加至預留的 N1 VM,請加入
--accelerator
標記。gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \ --accelerator=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \ --auto-delete-auto-created-reservations \ --machine-type=MACHINE_TYPE \ --start-time=START_TIME \ --end-time=END_TIME \ --total-count=TOTAL_COUNT \ --zone=ZONE
更改下列內容:
NUMBER_OF_ACCELERATORS
:每個預留 VM 要新增的 GPU 數量。ACCELERATOR_TYPE
:a N1 VM 支援的 GPU 型號。為避免發生錯誤,請確認所選 GPU 型號適用於您要建立未來預留項目要求的區域。
如要在預留期間結束後刪除自動建立的預留項目,請選取下列其中一種方法:
如要在預留項目期間結束後,於特定日期和時間刪除自動建立的預留項目,請加入
--auto-created-reservations-delete-time
標記。gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \ --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME \ --auto-delete-auto-created-reservations \ --machine-type=MACHINE_TYPE \ --start-time=START_TIME \ --end-time=END_TIME \ --total-count=TOTAL_COUNT \ --zone=ZONE
將 AUTO_CREATED_RESERVATIONS_DELETE_TIME 替換為以 RFC 3339 時間戳記格式設定的日期和時間。
如要在預留時間結束後的特定時間刪除自動建立的預留項目,請加入
--auto-created-reservations-duration
標記。gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \ --auto-created-reservations-duration=DURATION_BEFORE_DELETE \ --auto-delete-auto-created-reservations \ --machine-type=MACHINE_TYPE \ --start-time=START_TIME \ --end-time=END_TIME \ --total-count=TOTAL_COUNT \ --zone=ZONE
將 DURATION_BEFORE_DELETE 替換為以天、小時、分鐘或秒為單位的時間長度。例如,指定
30m
代表 30 分鐘,或1d2h3m4s
代表 1 天 2 小時 3 分鐘 4 秒。
如要停用自動建立預留項目的自動刪除選項,請將
--auto-delete-auto-created-reservations
旗標替換為--no-auto-delete-auto-created-reservations
旗標。gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \ --no-auto-delete-auto-created-reservations \ --machine-type=MACHINE_TYPE \ --start-time=START_TIME \ --end-time=END_TIME \ --total-count=TOTAL_COUNT \ --zone=ZONE
如要將本機 SSD 磁碟連接至預設不含本機 SSD 磁碟的機器類型,請加入
--local-ssd
標記。您只能附加 375 GB 的本機 SSD 磁碟。gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \ --auto-delete-auto-created-reservations \ --local-ssd=count=NUMBER_OF_LOCAL_SSD_DISKS,size=375,interface=INTERFACE_TYPE \ --machine-type=MACHINE_TYPE \ --start-time=START_TIME \ --end-time=END_TIME \ --total-count=TOTAL_COUNT \ --zone=ZONE
更改下列內容:
NUMBER_OF_LOCAL_SSD_DISKS
:要附加的本機 SSD 磁碟數量。INTERFACE_TYPE
:您希望本機 SSD 磁碟使用的磁碟介面類型,以及您指定的機器類型支援的磁碟介面類型。請指定下列其中一個值:如為 NVME 磁碟介面:
nvme
SCSI 磁碟介面:
scsi
如要讓預留 VM 使用特定最低 CPU 平台,而非區域的預設 CPU 平台,請加入
--min-cpu-platform
標記。gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \ --auto-delete-auto-created-reservations \ --machine-type=MACHINE_TYPE \ --min-cpu-platform="MIN_CPU_PLATFORM" \ --start-time=START_TIME \ --end-time=END_TIME \ --total-count=TOTAL_COUNT \ --zone=ZONE
將 MIN_CPU_PLATFORM 替換為最低 CPU 平台。如要確認 CPU 平台是否適用於您預留資源的區域,請查看各區域適用的 CPU 平台。
如要為自動建立的預留項目指定名稱前置字串,請加入
--name-prefix
旗標。gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \ --auto-delete-auto-created-reservations \ --machine-type=MACHINE_TYPE \ --name-prefix=NAME_PREFIX \ --start-time=START_TIME \ --end-time=END_TIME \ --total-count=TOTAL_COUNT \ --zone=ZONE
將
NAME_PREFIX
改成每個自動建立預留項目的名稱前置字元。為協助您識別這項未來預留項目要求自動建立的預留項目, Google Cloud 建議您指定不重複的名稱前置字串。
REST
如要直接指定屬性,建立單一專案的未來預留項目要求,請對
beta.futureReservations.insert
方法發出POST
要求。如要建立草稿未來預留項目要求,請直接指定屬性,不含任何選填欄位,並發出
POST
要求,如下所示:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations { "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS, "name": "FUTURE_RESERVATION_NAME", "specificSkuProperties": { "instanceProperties": { "machineType": "MACHINE_TYPE" }, "totalCount": TOTAL_COUNT }, "timeWindow": { "startTime": "START_TIME", "endTime": "END_TIME" } }
更改下列內容:
PROJECT_ID
:您要預留資源的專案 ID。ZONE
:預留資源的所在區域。AUTO_DELETE_AUTO_CREATED_RESERVATIONS
:如果將這個欄位設為true
,Compute Engine 就會在預留期間結束後的兩小時內,自動刪除這項未來預留項目自動建立的預留項目。如要將自動建立的預訂項目附加至承諾,請將這個欄位設為false
。
TOTAL_COUNT
:要預留的 VM 總數。START_TIME
:預訂期間的開始時間,採用 RFC 3339 時間戳記格式,且必須符合下列格式:YYYY-MM-DDTHH:MM:SSOFFSET
更改下列內容:
YYYY-MM-DD
:格式為 4 位數年份、2 位數月份和 2 位數日期的資料,並以連字號 (-
) 分隔。HH:MM:SS
:時間格式為 2 位數的小時 (採用 24 小時制)、2 位數的分鐘和 2 位數的秒數,並以冒號 (:
) 分隔。OFFSET
:時區格式為世界標準時間 (UTC) 的偏移量。 舉例來說,如要使用太平洋標準時間 (PST),請指定-08:00
。或者,如要不使用位移,請指定Z
。
開始時間不得晚於您提交未來預留要求審查的日期和時間後一年。為確保有足夠時間在未來預留要求獲得核准後,以及進入鎖定時間前,選擇取消、刪除或修改要求,請指定建議的開始時間值。
END_TIME
:預訂期間的結束時間,格式為 RFC 3339 時間戳記。為提高Google Cloud 在提交要求後核准要求的可能性,請指定最短預訂時間。如要指定時間長度而非結束時間,可以將endTime
欄位替換為duration
欄位:"duration": { "seconds": END_DURATION }
將
END_DURATION
替換為以秒為單位的時間長度。舉例來說,如要指定 1,209,600 秒 (14 天),請輸入1209600
。
舉例來說,假設您想在區域
us-central1-a
中建立名為fr-01
的未來預留項目要求草稿,並具備下列屬性:預訂期間為 2024 年 11 月 10 日午夜 (世界標準時間) 至 2024 年 12 月 10 日午夜 (世界標準時間)。
VM 總數為 80 個。
- 具有 4 個 vCPU 的 N2 預先定義機器類型。
- 已啟用自動刪除選項。自動建立的預留項目會在預留期間結束時刪除。
如要建立
fr-01
,請發出POST
要求,如下所示:POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations { "autoDeleteAutoCreatedReservations": true, "name": "fr-01", "specificSkuProperties": { "instanceProperties": { "machineType": "n2-standard-4" }, "totalCount": 80 }, "timeWindow": { "startTime": "2024-11-10T00:00:00Z", "endTime": "2024-12-10T00:00:00Z" } }
您也可以採取下列做法:
如要為自動建立的預留項目指定名稱前置字串,請加入
namePrefix
欄位。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations { "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS, "name": "FUTURE_RESERVATION_NAME", "namePrefix": "NAME_PREFIX", "specificSkuProperties": { "instanceProperties": { "machineType": "MACHINE_TYPE" }, "totalCount": TOTAL_COUNT }, "timeWindow": { "startTime": "START_TIME", "endTime": "END_TIME" } }
將
NAME_PREFIX
改成每個自動建立預留項目的名稱前置字元。為協助您識別這項未來預留項目要求自動建立的預留項目, Google Cloud 建議您指定不重複的名稱前置字串。
如要將 GPU 附加至預留的 N1 VM,請加入
guestAccelerators
欄位。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations { "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS, "name": "FUTURE_RESERVATION_NAME", "specificSkuProperties": { "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": NUMBER_OF_ACCELERATORS, "acceleratorType": "ACCELERATOR_TYPE" } ], "machineType": "MACHINE_TYPE" }, "totalCount": TOTAL_COUNT }, "timeWindow": { "startTime": "START_TIME", "endTime": "END_TIME" } }
更改下列內容:
NUMBER_OF_ACCELERATORS
:每個預留 VM 要新增的 GPU 數量。ACCELERATOR_TYPE
:a N1 VM 支援的 GPU 型號。為避免發生錯誤,請確認所選 GPU 型號適用於您要建立未來預留項目要求的區域。
如要將本機 SSD 磁碟連接至預設不含本機 SSD 磁碟的機器類型,請在要求主體中加入
localSsds
欄位。您只能連接 375 GB 的本機 SSD 磁碟。舉例來說,如要在建立未來預訂要求草稿時指定兩個本機 SSD 磁碟,請提出
POST
要求,如下所示:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations { "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS, "name": "FUTURE_RESERVATION_NAME", "specificSkuProperties": { "instanceProperties": { "localSsds": [ { "diskSizeGb": "375", "interface": "INTERFACE_TYPE" }, { "diskSizeGb": "375", "interface": "INTERFACE_TYPE" } ], "machineType": "MACHINE_TYPE" }, "totalCount": TOTAL_COUNT }, "timeWindow": { "startTime": "START_TIME", "endTime": "END_TIME" } }
將
INTERFACE_TYPE
替換為您希望本機 SSD 磁碟使用的磁碟介面類型,且您指定的機器類型支援該類型。請指定下列其中一個值:如為 NVME 磁碟介面:
NVME
SCSI 磁碟介面:
SCSI
如要讓預留 VM 使用特定最低 CPU 平台,而非區域的預設 CPU 平台,請加入
minCpuPlatform
。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations { "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS, "name": "FUTURE_RESERVATION_NAME", "specificSkuProperties": { "instanceProperties": { "machineType": "MACHINE_TYPE", "minCpuPlatform": "MINIMUM_CPU_PLATFORM" }, "totalCount": TOTAL_COUNT }, "timeWindow": { "startTime": "START_TIME", "endTime": "END_TIME" } }
將 MIN_CPU_PLATFORM 替換為最低 CPU 平台。如要確認 CPU 平台是否適用於您預留資源的區域,請查看各區域適用的 CPU 平台。
如要在預留期間結束後刪除自動建立的預留項目,請選取下列其中一種方法:
如要在預留項目期限結束後,經過特定時間後刪除自動建立的預留項目,請將
autoDeleteAutoCreatedReservations
設為true
,並加入autoCreatedReservationsDeleteTime
欄位。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations { "autoCreatedReservationsDeleteTime": "DELETE_TIME", "autoDeleteAutoCreatedReservations": true, "name": "FUTURE_RESERVATION_NAME", "specificSkuProperties": { "instanceProperties": { "machineType": "MACHINE_TYPE" }, "totalCount": TOTAL_COUNT }, "timeWindow": { "startTime": "START_TIME", "endTime": "END_TIME" } }
將
DELETE_TIME
替換為 Compute Engine 刪除自動建立預留項目的日期和時間。日期和時間必須採用 RFC 3339 時間戳記格式。如要在預留期間開始後的特定時間刪除自動建立的預留項目,請將
autoDeleteAutoCreatedReservations
設為true
,並加入autoCreatedReservationsDuration
欄位。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations { "autoCreatedReservationsDuration": { "seconds": "DURATION_BEFORE_DELETE" }, "autoDeleteAutoCreatedReservations": true, "name": "FUTURE_RESERVATION_NAME", "specificSkuProperties": { "instanceProperties": { "machineType": "MACHINE_TYPE" }, "totalCount": TOTAL_COUNT }, "timeWindow": { "startTime": "START_TIME", "endTime": "END_TIME" } }
將
DURATION_BEFORE_DELETE
改為以秒為單位的時間長度。例如,如要指定 604,800 秒 (7 天),請使用604800
。
建立未來預留項目要求草稿後,您可以判斷 Compute Engine 會為要求佈建的 VM 數量。
提交草稿要求
提交未來預留項目要求並獲得 Google Cloud核准後,您只能在未來預留項目的預留期間結束後,刪除未來預留項目和自動建立的預留項目。如果您需要建立另一個具有相同屬性的未來預留項目,刪除現有的未來預留項目會很有幫助。因此,建立未來預留要求前,請先確認下列事項:
專案中的任何現有預留項目或未來預留項目,都會限制您可建立的未來預留項目要求共用設定。為確保您能順利建立未來預留項目要求,且要求不會導致您與其他專案共用未來預留項目要求或預留項目時發生問題,請參閱「限制」。
您必須承諾支付 Compute Engine 在整個預留期間佈建的預留資源費用,無論自動建立的預留項目是否耗用。詳情請參閱「帳單」。
如要在提交草稿未來預留項目要求以供審查時,修改一或多個屬性,請改為參閱「修改未來預留項目要求」。
如要將未來預留項目要求草稿提交給 Google Cloud 審查,請選取下列任一選項:
主控台
在 Google Cloud 控制台,前往「Reservations」(預留項目) 頁面。
點按「Future reservations」(未來預留項目) 分頁標籤。
在「Name」(名稱) 欄中,按一下採購狀態為「Drafting」(草擬) 的預約要求名稱。
「未來的預留項目」頁面隨即開啟,顯示未來預留要求詳細資料。
按一下
「編輯草稿」。系統會開啟頁面,供您更新草稿未來預留項目要求。
如要提交草稿未來預留項目要求以供審查,請按一下「提交」。
「預留項目」頁面隨即開啟。在您剛提交的未來預訂要求「狀態」欄中,採購狀態會設為「待核准」。
gcloud
如要提交未來預留項目草稿以供審查,請使用
gcloud beta compute future-reservations update
指令,並將--planning-status
旗標設為SUBMITTED
。gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \ --planning-status=SUBMITTED \ --zone=ZONE
更改下列內容:
FUTURE_RESERVATION_NAME
:現有草稿未來預訂要求的名稱。ZONE
:未來預訂要求所在的可用區。
REST
如要提交草稿未來預留項目要求以供審查,請對
beta.futureReservations.update
方法發出PATCH
要求。在要求主體中加入planningStatus
欄位,並將其設為SUBMITTED
。PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=planningStatus { "name": "FUTURE_RESERVATION_NAME", "planningStatus": "SUBMITTED" }
更改下列內容:
PROJECT_ID
:未來預訂要求所在的專案 ID。ZONE
:未來預訂要求所在的可用區。FUTURE_RESERVATION_NAME
:現有草稿未來預訂要求的名稱。
提交草稿未來預留項目要求以供審查後,您可以執行下列操作:
如要監控要求的採購狀態,並查看Google Cloud 是否已核准或拒絕要求,請查看未來預留要求詳細資料。
如要停止審查要求,並防止 Compute Engine 佈建要求的容量,請 Google Cloud 取消或刪除未來的預訂要求。
疑難排解
如果在建立未來預留項目要求時發生錯誤,請參閱這篇文章,瞭解如何排解未來預留項目要求的問題。
後續步驟
瞭解如何查看未來預留項目要求。
瞭解如何修改未來預訂要求。
瞭解如何取消或刪除未來的預訂要求。
預訂期間開始後,請參閱這篇文章,瞭解如何使用自動建立的預留項目。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-08 (世界標準時間)。
-