本文說明如何建立單一專案預留項目,這類預留項目只能由相同專案中的虛擬機器 (VM) 執行個體使用。如要進一步瞭解預留項目,請參閱「Compute Engine 可用區資源的預留項目」。
如要瞭解其他建立預訂的方法,請參閱下列頁面:
如要建立可供多個專案使用的預留項目,請參閱「建立共用預留項目」。
如要在購買依資源計算的承諾使用合約時建立預留項目,請參閱「購買附加預留項目的承諾使用合約」。只要購買一定量的資源或達到最低支出門檻,即可享有承諾使用折扣 (CUD),以折扣價使用隨選資源。
事前準備
- 請參閱 預訂規定和 限制。
-
如果尚未設定驗證,請先完成設定。
「驗證」是指驗證身分的程序,確認您有權存取 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.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
專案的
compute.reservations.create
-
如要指定執行個體範本:
compute.instanceTemplates.useReadOnly
執行個體範本中的compute.instanceTemplates.useReadOnly
建議: 指定執行個體範本
本節說明如何使用執行個體範本定義預留項目的屬性。使用執行個體範本時,您可以在同一處定義預留項目的屬性,以及可使用預留項目的 VM。
-
本節說明如何使用現有 VM 定義保留項目的屬性。使用現有 VM 的屬性,建立與參考 VM 屬性相符的 VM,即可使用預留項目。
-
本節說明如何直接定義預訂的屬性。使用這個方法時,您必須手動確保 VM 和預留項目的屬性完全相符,否則屬性不符會導致無法使用。
建立只能由明確指定該項目的 VM 使用的預留項目,如本文後續章節所述。然後設定 VM,以使用該特定預留項目。
在與執行個體範本中的資源相同的區域和可用區建立預留項目。在執行個體範本中指定的任何區域或區域資源 (例如機器類型或永久磁碟磁碟區),都會將範本的使用範圍限制在這些資源所在的區域。舉例來說,如果執行個體範本在
us-central1-a
區域中指定現有的永久磁碟磁碟區,您就只能在同一個區域中建立預留項目。如要檢查現有範本是否指定任何資源,將範本繫結至特定區域或可用區,請查看執行個體範本的詳細資料,並在其中尋找區域或可用區資源的參照。如果執行個體範本指定了密集配置政策,請務必確認範本指定了支援密集配置政策的機型。否則無法建立預留項目。
在 Google Cloud 控制台,前往「Reservations」(預留項目) 頁面。
在「隨需預留項目」分頁 (預設) 中,按一下
「建立預留項目」。「Create a reservation」(建立預留項目) 頁面會隨即開啟。
在「名稱」部分,輸入預留項目的名稱。
在「區域」和「可用區」部分,選取要預留資源的位置。
在「Share type」(共用類型) 部分,選取「Local」(本機) (如果尚未選取)。
選用步驟:如要允許 Vertex AI 的自訂訓練工作或預測工作使用 GPU VM 的預留項目,請在「Google Cloud services」(Google Cloud 服務) 部分,選取「Share reservation」(共用預留項目)。
在「Use with VM instance」(用於 VM 執行個體) 部分,選取下列任一選項:
如要允許相符的 VM 自動使用這個預留項目,請選取「Use reservation automatically」(自動使用預留項目) (如果尚未選取)。
如要只有在建立已明確指定這個保留項目名稱的相符 VM 時,才使用這個保留項目的資源,請選取「Select specific reservation」(選取特定保留項目)。
在「Number of VM instances」(VM 執行個體數量) 欄位中,輸入要預留的 VM 數量。
在「機器設定」專區中,執行下列操作:
如要從現有的執行個體範本指定 VM 的屬性,請選取「Use instance template」(使用執行個體範本)。
在「Instance template」(執行個體範本) 欄位中,選取您要使用的執行個體範本。如果選取區域執行個體範本,就只能在執行個體範本的區域內預留資源。
在「自動刪除」部分,您可以啟用自動刪除選項,讓 Compute Engine 在特定日期和時間自動刪除預留項目。如果您停止使用預留項目,自動刪除預留項目有助於避免產生不必要的費用。
如要建立預留項目,請點按「Create」(建立)。
「預留項目」頁面隨即開啟。建立單一專案預留項目最多需要一分鐘。
RESERVATION_NAME
:要建立的預訂名稱。PROJECT_ID
:您要預留資源的專案 ID,也是執行個體範本所在的專案。LOCATION
:執行個體範本的位置。 請指定下列其中一個值:全域執行個體範本:
global
。區域執行個體範本:
regions/REGION
。 將REGION
替換為執行個體範本所在的區域。如果您指定區域執行個體範本,就只能在與範本區域相同的區域內預留 VM。
INSTANCE_TEMPLATE_NAME
:現有執行個體範本的名稱。如果執行個體範本指定了 A3 Mega、A3 High 或 A3 Edge 機型,或是密集配置政策,則必須加入--require-specific-reservation
旗標。這表示只有明確指定預留項目的 VM 才能使用。詳情請參閱「從特定預留項目使用 VM」。NUMBER_OF_VMS
:要預留的 VM 數量。ZONE
:預留資源的所在區域。如要指定只有明確指定這項預留項目的 VM 才能使用,請加入
--require-specific-reservation
旗標。gcloud compute reservations create RESERVATION_NAME \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --require-specific-reservation \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
如要允許 Vertex AI 的自訂訓練工作或預測工作使用 GPU VM 的預留項目,請加入設為
ALLOW_ALL
的--reservation-sharing-policy
旗標。gcloud compute reservations create RESERVATION_NAME \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --reservation-sharing-policy=ALLOW_ALL \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
如要讓 Compute Engine 自動刪除預留項目,請選取下列其中一種方法:
如要刪除特定日期和時間的預約,請使用
gcloud beta compute reservations create
指令並加上--delete-at-time
旗標。gcloud beta compute reservations create RESERVATION_NAME \ --delete-at-time=DELETE_AT_TIME \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
將
DELETE_AT_TIME
替換為以 RFC 3339 時間戳記格式設定的日期和時間,格式必須如下:none YYYY-MM-DDTHH:MM:SSOFFSET
更改下列內容:
YYYY-MM-DD
:日期格式為 4 位數年份、2 位數月份和 2 位數日期,並以連字號分隔 (-
)。HH:MM:SS
:時間格式為 2 位數的小時 (採用 24 小時制)、2 位數的分鐘和 2 位數的秒數,並以半形冒號 (:
) 分隔。OFFSET
:時區格式為世界標準時間 (UTC) 的偏移量。舉例來說,如要使用太平洋標準時間 (PST),請指定-08:00
。或者,如要不使用位移,請指定Z
。
如要在特定時間後刪除預訂項目,請使用
gcloud beta compute reservations create
指令搭配--delete-after-duration
旗標。gcloud beta compute reservations create RESERVATION_NAME \ --delete-after-duration=DELETE_AFTER_DURATION \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
將
DELETE_AFTER_DURATION
替換為天數、時數、分鐘數或秒數。舉例來說,指定30m
代表 30 分鐘,指定1d2h3m4s
則代表 1 天 2 小時 3 分鐘 4 秒。
PROJECT_ID
:您要預留資源的專案 ID,也是執行個體範本所在的專案。ZONE
:預留資源的所在區域。RESERVATION_NAME
:要建立的預訂名稱。NUMBER_OF_VMS
:要預留的 VM 數量。LOCATION
:執行個體範本的位置。 請指定下列其中一個值:全域執行個體範本:
global
。區域執行個體範本:
regions/REGION
。 將REGION
替換為執行個體範本所在的區域。如果您指定區域執行個體範本,就只能在與範本區域相同的區域內預留 VM。
INSTANCE_TEMPLATE_NAME
:現有執行個體範本的名稱。如果執行個體範本指定了 A3 Mega、A3 High 或 A3 Edge 機器類型,或是密集配置政策,則必須在要求主體中加入specificReservationRequired
欄位,並將該欄位設為true
。這表示只有明確指定這個預留項目的 VM 才能使用。詳情請參閱「從特定預留項目使用 VM」一文。如要指定只有明確指定這項保留項目的 VM 才能使用,請在要求主體中加入
specificReservationRequired
欄位,並將該欄位設為true
。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" }, "specificReservationRequired": true }
如要允許 Vertex AI 的自訂訓練工作或預測工作使用 GPU VM 的預留項目,請加入
serviceShareType
欄位並設為ALLOW_ALL
。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "reservationSharingPolicy": { "serviceShareType": "ALLOW_ALL" }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
如要讓 Compute Engine 自動刪除預留項目,請選取下列其中一種方法:
如要在特定日期和時間刪除預留項目,請對
beta.reservations.insert
方法發出POST
要求。在要求主體中,請納入deleteAtTime
欄位。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
請將
DELETE_AT_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
。
如要在特定時間後刪除預留項目,請對
beta.reservations.insert
方法發出POST
要求。在要求主體中,請納入deleteAfterDuration
欄位。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
將
DELETE_AFTER_DURATION
改為以秒為單位的時間長度。舉例來說,如要指定 86,400 秒 (1 天),請輸入86400
。
請按照下列步驟建立及使用執行個體範本:
根據參考 VM 建立執行個體範本,但不覆寫參考 VM 的屬性。
使用新建立的範本建立 VM,方法如下:
根據參考 VM 建立 VM,並確保新 VM 和參考 VM 的屬性完全相符。
在 Google Cloud 控制台,前往「Reservations」(預留項目) 頁面。
點按
「建立預留項目」。「Create a reservation」(建立預留項目) 頁面會隨即開啟。
在「名稱」部分,輸入預留項目的名稱。
在「區域」和「可用區」部分,選取要預留資源的位置。
在「共用類型」部分,按一下「本機」(如果尚未選取)。
在「Use with VM instance」(用於 VM 執行個體) 部分,選取下列任一選項:
如要允許相符的 VM 自動使用這個預留項目,請選取「Use reservation automatically」(自動使用預留項目) (如果尚未選取)。
如要只有在建立已明確指定這個保留項目名稱的相符 VM 時,才使用這個保留項目的資源,請選取「Select specific reservation」(選取特定保留項目)。
在「Number of VM instances」(VM 執行個體數量) 欄位中,輸入要預留的 VM 數量。
在「機器設定」專區中,執行下列操作:
選取「使用現有 VM」。
如果是「現有 VM」,請選取要用來建立預留項目的 VM 屬性。
選用:如要為符合規定的預訂指定精簡配置政策,請在「群組配置政策」部分,按一下「選取或建立群組配置政策」清單,然後執行下列其中一項操作:
如要建立要在這項預訂中指定的精簡版刊登位置政策,請按照下列步驟操作:
按一下「建立群組配置政策」。
系統會顯示「建立群組配置政策」窗格。
在「Policy name」(政策名稱) 部分,輸入政策名稱。
點選「建立」。
建立緊湊型放置位置政策可能需要幾秒鐘才能完成。
否則請選取現有的密集配置政策。
在「自動刪除」部分,您可以啟用自動刪除選項,讓 Compute Engine 在特定日期和時間自動刪除預留項目。如果您停止使用預留項目,自動刪除預留項目有助於避免產生不必要的費用。
如要建立預留項目,請點按「Create」(建立)。
「預留項目」頁面隨即開啟。預留項目會在一分鐘內建立完畢。
在 Google Cloud 控制台,前往「Reservations」(預留項目) 頁面。
在「隨需預留項目」分頁 (預設) 中,按一下
「建立預留項目」。「Create a reservation」(建立預留項目) 頁面會隨即開啟。
在「名稱」部分,輸入預留項目的名稱。
在「區域」和「可用區」部分,選取要預留資源的位置。
在「共用類型」部分,按一下「本機」(如果尚未選取)。
選用步驟:如要允許 Vertex AI 的自訂訓練工作或預測工作使用 GPU VM 的預留項目,請在「Google Cloud services」(Google Cloud 服務) 部分,選取「Share reservation」(共用預留項目)。
在「Use with VM instance」(用於 VM 執行個體) 部分,選取下列任一選項:
如要允許相符的 VM 自動使用這個預留項目,請選取「Use reservation automatically」(自動使用預留項目) (如果尚未選取)。
如要只有在建立已明確指定這個保留項目名稱的相符 VM 時,才使用這個保留項目的資源,請選取「Select specific reservation」(選取特定保留項目)。
在「Number of VM instances」(VM 執行個體數量) 欄位中,輸入要預留的 VM 數量。
在「機器設定」專區中,選取「指定機器類型」,然後指定下列項目:
在「機器系列」、「系列」和「機器類型」部分,選取機器系列、系列和機器類型。
選用:如要指定最低 CPU 平台或將 GPU 附加至 N1 VM,請執行下列操作:
如要展開「CPU Platform and GPU」(CPU 平台和 GPU) 區段,請按一下
展開箭頭。選用:如要指定最低 CPU 平台,請選取「CPU Platform」(CPU 平台) 的選項。
選用:如要將 GPU 附加至 N1 VM,請按一下
「新增 GPU」。然後,針對「GPU type」(GPU 類型) 和「Number of GPUs」(GPU 數量),選取要附加至每個 N1 VM 的 GPU 類型和數量。
選用:如要將本機 SSD 磁碟連接至預設不含本機 SSD 磁碟的機器類型,請按照下列步驟操作:
在「磁碟數量」中,選取要附加的本機 SSD 磁碟數量。
在「介面類型」部分,選取本機 SSD 磁碟的磁碟介面。
選用:如要為符合規定的預訂指定精簡配置政策,請在「群組配置政策」部分,按一下「選取或建立群組配置政策」清單,然後執行下列任一操作:
如要建立緊湊型刊登位置政策,以便在這項預訂中指定,請按照下列步驟操作:
按一下「建立群組配置政策」。
系統會顯示「建立群組配置政策」窗格。
在「Policy name」(政策名稱) 部分,輸入政策名稱。
點選「建立」。
建立緊湊放置政策可能需要幾秒鐘才能完成。
否則請選取現有的密集配置政策。
在「Auto-delete」(自動刪除) 區段中,您可以啟用自動刪除選項,讓 Compute Engine 在特定日期和時間自動刪除預留項目。如果您停止使用預留項目,自動刪除預留項目有助於避免產生不必要的費用。
如要建立預留項目,請點按「Create」(建立)。
「預留項目」頁面隨即開啟。建立單一專案預留項目最多需要一分鐘。
RESERVATION_NAME
:要建立的預訂名稱。MACHINE_TYPE
:每個 VM 要使用的機器類型。如果您指定 A3 Mega、A3 High 或 A3 Edge 機型,則必須加入--require-specific-reservation
旗標。這表示只有明確指定預留項目的 VM 才能使用。詳情請參閱「從特定預留項目使用 VM」。NUMBER_OF_VMS
:要預留的 VM 數量。ZONE
:預留資源的所在區域。如要將 GPU 附加至預留的 N1 VM,請加入
--accelerator
旗標。gcloud compute reservations create RESERVATION_NAME \ --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
更改下列內容:
NUMBER_OF_ACCELERATORS
:每個預留 VM 要新增的 GPU 數量。ACCELERATOR_TYPE
:a N1 VM 支援的 GPU 型號。請確認所選 GPU 型號適用於要預留資源的區域。否則預訂作業會失敗。
如要將本機 SSD 磁碟連接至預設不含本機 SSD 磁碟的機器類型,請加入
--local-ssd
標記。您只能連接 375 GB 的本機 SSD 磁碟。gcloud compute reservations create RESERVATION_NAME \ --local-ssd=count=NUMBER_OF_LOCAL_SSD_DISKS,size=375,interface=INTERFACE_TYPE \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
更改下列內容:
NUMBER_OF_LOCAL_SSD_DISKS
:要附加的本機 SSD 磁碟數量。INTERFACE_TYPE
:您希望每個本機 SSD 磁碟使用的磁碟介面類型,且您指定的機器類型支援該類型。請指定下列其中一個值:如為 NVME 磁碟介面:
nvme
SCSI 磁碟介面:
scsi
如要讓預留 VM 使用特定最低 CPU 平台,而非區域的預設 CPU 平台,請加入
--min-cpu-platform
標記。gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --min-cpu-platform="MIN_CPU_PLATFORM" \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
將
MIN_CPU_PLATFORM
替換為最低 CPU 平台。 如要確認 CPU 平台在您預留資源的區域是否可用,請查看各區域的可用 CPU 平台。如要指定只有明確指定這項預留項目的 VM 才能使用,請加入
--require-specific-reservation
旗標。gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --require-specific-reservation \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
如要指定密集配置方式政策,以縮短 VM 之間的網路延遲時間,請加入
--resource-policies=policy
標記。gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --resource-policies=policy=COMPACT_PLACEMENT_POLICY_NAME \ --require-specific-reservation \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
將 COMPACT_PLACEMENT_POLICY_NAME 替換為現有密集配置政策的名稱。此外,如要避免建立指定密集配置政策的單一專案預留項目時發生錯誤,請務必指定下列項目:
密集配置政策的支援機器類型和 VM 數量上限。
密集配置政策所在區域內的可用區。
--require-specific-reservation
旗標。這表示只有明確指定該預留項目的 VM 才能使用。
如要允許 Vertex AI 的自訂訓練工作或預測工作使用 GPU VM 的預留項目,請加入設為
ALLOW_ALL
的--reservation-sharing-policy
旗標。gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --reservation-sharing-policy=ALLOW_ALL \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
如要讓 Compute Engine 自動刪除預留項目,請選取下列其中一種方法:
如要刪除特定日期和時間的預約,請使用
gcloud beta compute reservations create
指令並加上--delete-at-time
旗標。gcloud beta compute reservations create RESERVATION_NAME \ --delete-at-time=DELETE_AT_TIME \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
請將
DELETE_AT_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
。
如要在特定時間後刪除預訂項目,請使用
gcloud beta compute reservations create
指令搭配--delete-after-duration
旗標。gcloud beta compute reservations create RESERVATION_NAME \ --delete-after-duration=DELETE_AFTER_DURATION \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
將
DELETE_AFTER_DURATION
替換為天數、時數、分鐘數或秒數。舉例來說,指定30m
代表 30 分鐘,指定1d2h3m4s
則代表 1 天 2 小時 3 分鐘 4 秒。
PROJECT_ID
:您要預留資源的專案 ID。ZONE
:預留資源的所在區域。RESERVATION_NAME
:要建立的預訂名稱。NUMBER_OF_VMS
:要預留的 VM 數量。MACHINE_TYPE
:每個 VM 要使用的機器類型。如果您指定 A3 Mega、A3 High 或 A3 Edge 機型,則必須在要求主體中加入specificReservationRequired
欄位,並將該欄位設為true
。這表示只有明確指定該預留項目的 VM 才能使用。詳情請參閱「從特定預留項目使用 VM」。如要將 GPU 附加至預留的 N1 VM,請在要求主體中加入
guestAccelerators
欄位。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": NUMBER_OF_ACCELERATORS, "acceleratorType": "ACCELERATOR_TYPE" } ], "machineType": "MACHINE_TYPE" } } }
更改下列內容:
NUMBER_OF_ACCELERATORS
:每個預留 VM 要新增的 GPU 數量。ACCELERATOR_TYPE
:a N1 VM 支援的 GPU 型號。請確認所選 GPU 型號適用於要預留資源的區域。否則預訂作業會失敗。
如要將本機 SSD 磁碟連接至預設不含本機 SSD 磁碟的機器類型,請在要求主體中加入
localSsds
欄位。您只能連接 375 GB 的本機 SSD 磁碟。舉例來說,如要將兩個本機 SSD 磁碟連接至要預留的機型,請提出下列要求:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "localSsds": [ { "diskSizeGb": "375", "interface": "INTERFACE_TYPE" }, { "diskSizeGb": "375", "interface": "INTERFACE_TYPE" } ], "machineType": "MACHINE_TYPE" } } }
將
INTERFACE_TYPE
替換為您希望每個本機 SSD 磁碟使用的磁碟介面類型,且您指定的機型支援該類型。請指定下列其中一個值:如為 NVME 磁碟介面:
NVME
SCSI 磁碟介面:
SCSI
如要讓預留 VM 使用特定最低 CPU 平台,而非區域的預設 CPU 平台,請在要求主體中加入
minCpuPlatform
欄位。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE", "minCpuPlatform": "MIN_CPU_PLATFORM" } } }
將
MIN_CPU_PLATFORM
替換為最低 CPU 平台。 如要確認 CPU 平台在您預留資源的區域是否可用,請查看各區域的可用 CPU 平台。如要指定密集配置方式政策,以縮短預留 VM 之間的網路延遲時間,請在要求主體中加入
resourcePolicies
欄位。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "resourcePolicies": { "policy" : "projects/example-project/regions/REGION/resourcePolicies/COMPACT_PLACEMENT_POLICY_NAME" }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } }, "specificReservationRequired": true }
更改下列內容:
REGION
:密集配置政策所在的區域。您只能在配置政策的區域內建立預訂。COMPACT_PLACEMENT_POLICY_NAME
:現有密集配置政策的名稱。
此外,如要避免在建立指定緊湊配置政策的單一專案預留項目時發生錯誤,請務必指定下列項目:
適用於密集配置政策的支援機型。
specificReservationRequired
欄位設為true
。這表示只有明確指定這個預留項目的 VM 才能使用。
如要指定只有明確指定這項保留項目的 VM 才能使用,請在要求主體中加入
specificReservationRequired
欄位,並將該欄位設為true
。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } }, "specificReservationRequired": true }
如要允許 Vertex AI 的自訂訓練工作或預測工作使用 GPU VM 的預留項目,請加入
serviceShareType
欄位並設為ALLOW_ALL
。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "reservationSharingPolicy": { "serviceShareType": "ALLOW_ALL" }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
如要讓 Compute Engine 自動刪除預留項目,請選取下列其中一種方法:
如要在特定日期和時間刪除預留項目,請對
beta.reservations.insert
方法發出POST
要求。在要求主體中,請納入deleteAtTime
欄位。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
請將
DELETE_AT_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
。
如要在特定時間後刪除預留項目,請對
beta.reservations.insert
方法發出POST
要求。在要求主體中,請納入deleteAfterDuration
欄位。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
將
DELETE_AFTER_DURATION
改為以秒為單位的時間長度。舉例來說,如要指定 86,400 秒 (1 天),請輸入86400
。
瞭解如何查看預訂資訊。
瞭解如何將預留項目加入承諾使用合約。
瞭解如何使用預訂。
瞭解如何監控預留項目用量。
Terraform
如要在本機開發環境中使用本頁的 Terraform 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。
詳情請參閱 Set up authentication for a local development environment。
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 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。這個預先定義的角色具備建立單一專案預留項目所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要建立單一專案預留項目,必須具備下列權限:
為單一專案建立預留項目
如要使用保留項目,VM 的屬性必須與該保留項目完全相符。如要指定要預留的 VM 屬性,請選取本文件中的下列其中一個部分:
根據預設,只要 VM 的屬性與保留項目相符,就能自動使用該保留項目。如要控管預留項目用量,請採取下列一或多項做法:
此外,建立單一專案的特定預留項目時,您也可以指定密集配置政策。密集配置方式政策會指定 VM 盡量彼此靠近,以縮短網路延遲時間。
指定執行個體範本
如要避免在指定執行個體範本時建立預留項目時發生錯誤,請確認下列事項:
如要指定執行個體範本來建立單一專案預留項目,請選取下列任一選項:
主控台
gcloud
如要建立單一專案預留項目,請使用
gcloud compute reservations create
指令。如要建立單一專案預留項目,請指定執行個體範本,且不含任何選用標記,然後執行下列指令:
gcloud compute reservations create RESERVATION_NAME \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
更改下列內容:
舉例來說,如要指定全域執行個體範本,在
us-central1-a
可用區為十部 VM 建立預留項目,請執行下列指令:gcloud compute reservations create my-reservation \ --source-instance-template=projects/example-project/global/example-instance-template \ --vm-count=10 \ --zone=us-central1-a
您也可以採取下列做法:
Go
Java
Node.js
Python
REST
如要建立單一專案預留項目,請對
reservations.insert
方法發出POST
要求。如要建立單一專案的預留項目,請指定執行個體範本,且不納入任何選用標記,然後發出下列
POST
要求:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
更改下列內容:
舉例來說,如要在可用區
us-central1-a
中為十部 VM 建立預留項目,並指定全域執行個體範本,請發出下列POST
要求:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations { "name": "my-reservation", "specificReservation": { "count": "10", "sourceInstanceTemplate": "projects/example-project/global/instanceTemplates/example-instance-template" } }
您也可以採取下列做法:
指定現有 VM
您只能根據與 VM 位於相同可用區的現有 VM 建立預留資源。
建立預留項目後,您可以建立屬性與參考 VM 相符的 VM,藉此使用預留項目。方法如下:
如要建立使用現有 VM 屬性的單一專案預留項目,請按照下列步驟操作:
直接指定屬性
如要直接指定屬性來建立單一專案預留項目,請選取下列其中一個選項:
主控台
gcloud
如要建立單一專案預留項目,請使用
gcloud compute reservations create
指令。如要直接指定屬性並建立單一專案預留項目,且不含任何選用標記,請執行下列指令:
gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
更改下列內容:
舉例來說,如要在
us-central1-a
可用區中為十部 VM 建立預留項目,且每部 VM 都使用具有 4 個 vCPU 的 N2 預先定義機器類型,請執行下列指令:gcloud compute reservations create my-reservation \ --machine-type=n2-standard-4 \ --vm-count=10 \ --zone=us-central1-a
您也可以採取下列做法:
Go
Java
Node.js
Python
Terraform
如要建立單一專案預留項目,請使用
google_compute_reservation
Terraform 資源。舉例來說,如要為一個 N2 預先定義機器類型建立單一專案預留項目 (含 2 個 vCPU),請使用下列資源:
如要進一步瞭解如何使用 Terraform,請參閱「搭配使用 Terraform 與 Google Cloud」。
REST
如要建立單一專案預留項目,請對
reservations.insert
方法發出POST
要求。如要直接指定屬性並建立單一專案預訂,且不包含任何選用欄位,請發出下列
POST
要求:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
更改下列內容:
舉例來說,如要在
us-central1-a
區域中為十部 VM 建立預留項目,且每部 VM 都使用具有 4 個 vCPU 的 N2 預先定義機器類型,請發出下列POST
要求:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations { "name": "my-reservation", "specificReservation": { "count": "10", "instanceProperties": { "machineType": "n2-standard-4", } } }
您也可以採取下列做法:
疑難排解
瞭解如何排解預訂建立問題。
後續步驟
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-09 (世界標準時間)。
-