本文說明如何建立彈性啟動虛擬機器 (VM) 執行個體。彈性啟動 VM 最多可執行七天,協助您以折扣價取得 GPU 等高需求資源。這些功能讓彈性啟動 VM 成為執行短期工作負載的經濟實惠解決方案,例如模型微調和批次推論。
如要進一步瞭解彈性啟動 VM 的主要特徵,包括建立時適用的規定和限制,請參閱「關於彈性啟動 VM」。
事前準備
-
請根據要使用的機器類型,查看下列其中一項設定需求:
- 如為加速器最佳化機型 (A4X 或 G4 除外),請參閱建立附加 GPU 的執行個體總覽。
- 如要瞭解 H4D 機器類型,請參閱建立使用 Cloud RDMA 的執行個體。
-
如果尚未設定驗證,請先完成設定。
驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,可以選取下列任一選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
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」。
必要的角色
如要取得建立彈性啟動 VM 所需的權限,請要求管理員授予您專案的 Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。這個預先定義的角色具備建立彈性啟動 VM 所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要建立彈性啟動 VM,您必須具備下列權限:
-
專案的
compute.instances.create
-
如要使用自訂映像檔建立 VM:
compute.images.useReadOnly
在映像檔上 -
如要使用快照建立 VM:
compute.snapshots.useReadOnly
快照 -
如要使用執行個體範本建立 VM,請按照下列步驟操作:
compute.instanceTemplates.useReadOnly
在執行個體範本上 -
如要為 VM 指定子網路,請在專案或所選子網路上授予
compute.subnetworks.use
權限。 -
如要為 VM 指定靜態 IP 位址:
專案的
compute.addresses.use
-
使用虛擬私有雲網路時,如要將外部 IP 位址指派給 VM:
compute.subnetworks.useExternalIp
專案或所選子網路的權限 -
如要將舊版網路指派給 VM,請按照下列步驟操作:
compute.networks.use
專案 -
使用舊版網路時,如要將外部 IP 位址指派給 VM,請在專案中設定
compute.networks.useExternalIp
。 -
如要為 VM 設定 VM 執行個體中繼資料,請在專案中執行下列指令:
compute.instances.setMetadata
-
如要為 VM 設定標記,請按照下列步驟操作:
compute.instances.setTags
在 VM 上 -
如要為 VM 設定標籤,請按照下列步驟操作:
compute.instances.setLabels
在 VM 上 -
如要設定 VM 使用的服務帳戶:
compute.instances.setServiceAccount
在 VM 上 -
為 VM 建立新磁碟:
compute.disks.create
專案 -
如要以唯讀或讀寫模式附加現有磁碟:
磁碟的
compute.disks.use
-
如要以唯讀模式連接現有磁碟:
compute.disks.useReadOnly
磁碟的權限
建立彈性啟動 VM
如要建立彈性啟動 VM,請選取下列任一選項:
gcloud
如要建立彈性啟動 VM,請使用
gcloud compute instances create
指令搭配下列旗標:--request-valid-for-duration
旗標--provisioning-model=FLEX_START
旗標--instance-termination-action
旗標--max-run-duration
旗標--maintenance-policy=TERMINATE
旗標--reservation-affinity=none
旗標
如要建立彈性啟動 VM,請執行下列指令:
gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --zone=ZONE \ --request-valid-for-duration=VALID_FOR_DURATION \ --provisioning-model=FLEX_START \ --instance-termination-action=TERMINATION_ACTION \ --max-run-duration=RUN_DURATION \ --maintenance-policy=TERMINATE \ --reservation-affinity=none
更改下列內容:
VM_NAME
:新 VM 的名稱。MACHINE_TYPE
:用於彈性啟動 VM 的機器類型。如果您指定 G2 或 N1 機器類型,請注意下列事項:對於 G2 機器類型,您可以選擇指定要用於圖形密集型工作負載的 NVIDIA RTX 虛擬工作站 (vWS)。如要這麼做,請在指令中加入
--accelerator
標記,如下所示:--accelerator=count=VWS_ACCELERATOR_COUNT,type=nvidia-l4-vws
將
VWS_ACCELERATOR_COUNT
替換為工作負載所需的 NVIDIA RTX vWS 數量。如果是 N1 機器類型,您必須指定要附加至 VM 的 GPU 數量和類型。否則 VM 建立作業會失敗。如要將 GPU 附加至 N1 VM,請在指令中加入
--accelerator
旗標,如下所示:--accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE
更改下列內容:
NUMBER_OF_ACCELERATORS
:要附加至 N1 VM 的 GPU 數量。ACCELERATOR_TYPE
:a N1 VM 支援的 GPU 型號。
ZONE
:要建立 VM 的區域。 如要確認您指定的機器類型在要建立 VM 的區域是否可用,請參閱可用地區與區域。VALID_FOR_DURATION
:等待佈建所要求資源的最長時間,格式為數字後接單位 (s
、m
、h
或d
)。舉例來說,值為30m
代表 30 分鐘,值為1h2m3s
代表 1 小時 2 分 3 秒。根據工作負載的區域需求,建議您指定下列其中一個時間長度,提高 VM 建立要求成功的機率:如果工作負載要求您在特定可用區中建立 VM,請指定 90 秒 (
90s
) 到兩小時 (2h
) 的時間長度。時間越長,取得資源的機率就越高。如果 VM 可以在區域內的任何區域執行,請指定零秒的持續時間 (
0s
)。這個值表示 Compute Engine 只會在資源可立即使用時分配資源。如果建立要求因資源無法使用而失敗,請在不同區域重試要求。
TERMINATION_ACTION
:是否要在 VM 執行時間結束時停止或刪除 VM。指定下列其中一個值:如要停止 VM:
STOP
如要刪除 VM,請執行
DELETE
RUN_DURATION
:虛擬機器的最長執行時間,格式為數字加上單位 (s
、m
、h
或d
),時間到期後 Compute Engine 會刪除虛擬機器。值必須介於 10 分鐘和 7 天之間。
REST
如要建立彈性啟動 VM,請對
instances.insert
方法發出POST
要求。在要求主體中加入下列欄位:params.requestValidForDuration
欄位。scheduling.provisioningModel
欄位設為FLEX_START
。scheduling.instanceTerminationAction
欄位。scheduling.maxRunDuration
欄位。scheduling.onHostMaintenance
欄位設為TERMINATE
。reservationAffinity.consumeReservationType
已設為NO_RESERVATION
。
如要建立彈性啟動 VM,請發出
POST
要求,如下所示:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "params": { "requestValidForDuration": { "seconds": VALID_FOR_DURATION } }, "scheduling": { "provisioningModel": "FLEX_START", "instanceTerminationAction": "TERMINATION_ACTION", "maxRunDuration": { "seconds": RUN_DURATION }, "onHostMaintenance": "TERMINATE" }, "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" } }
更改下列內容:
PROJECT_ID
:要在其中建立 VM 的專案 ID。ZONE
:要建立 VM 的區域。 如要確認機器類型在您要建立 VM 的區域是否可用,請參閱可用地區與區域一節。VM_NAME
:新 VM 的名稱。MACHINE_TYPE
:用於彈性啟動 VM 的機器類型。如果您指定 G2 或 N1 機器類型,請注意下列事項:對於 G2 機器類型,您可以選擇指定要用於圖形密集型工作負載的 NVIDIA RTX 虛擬工作站 (vWS)。如要這麼做,請在要求主體中加入
guestAccelerators
欄位,如下所示:"guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws" } ]
將
VWS_ACCELERATOR_COUNT
替換為工作負載所需的 NVIDIA RTX vWS 數量。如果是 N1 機器類型,您必須指定要附加至 VM 的 GPU 數量和類型。否則 VM 建立作業會失敗。如要將 GPU 附加至 N1 VM,請在要求主體中加入
guestAccelerators
欄位,如下所示:"guestAccelerators": [ { "acceleratorCount": ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE" } ]
更改下列內容:
NUMBER_OF_ACCELERATORS
:要附加至 N1 VM 的 GPU 數量。ACCELERATOR_TYPE
:a N1 VM 支援的 GPU 型號。
IMAGE_PROJECT
:包含圖片的圖片專案,例如debian-cloud
。如要進一步瞭解支援的映像檔專案,請參閱「公開映像檔」。IMAGE
:指定下列其中一項:VALID_FOR_DURATION
:等待 VM 佈建的時間上限 (以秒為單位)。根據工作負載的區域需求,建議您指定下列其中一個時間長度,以提高 VM 建立要求成功的機率:如果工作負載要求您在特定可用區中建立 VM,請指定 90 秒 (
90
) 到兩小時 (7200
) 的時間長度。時間越長,取得資源的機率就越高。如果 VM 可以在區域內的任何區域執行,請指定零秒的持續時間 (
0
)。這個值表示 Compute Engine 只會在資源可立即使用時分配資源。如果建立要求因資源不足而失敗,請在不同區域重試要求。
TERMINATION_ACTION
:是否要在 VM 執行時間結束時停止或刪除 VM。指定下列其中一個值:如要停止 VM:
STOP
如要刪除 VM,請執行
DELETE
RUN_DURATION
:VM 執行時間上限 (以秒為單位),超過這個時間後,Compute Engine 就會刪除 VM。這個值必須介於 600 秒 (10 分鐘) 和 604,800 秒 (七天) 之間。
後續步驟
歡迎試用
如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Compute Engine 的成效。新客戶可以獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
免費試用 Compute Engine除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-09-23 (世界標準時間)。
-