本文說明如何為虛擬機器 (VM) 指定時間限制,自動終止代管執行個體群組 (MIG) 中的 VM。本文也說明 MIG 中 VM 的時間限制運作方式。
您可以為 MIG 中的 VM 指定時間限制,藉此最佳化暫時性工作負載。當 VM 達到時間限制時,MIG 會自動終止 (刪除) 該 VM。設定時間限制,限制 MIG 中的 VM 執行時間,有助於盡量減少費用並釋出配額。
如要瞭解如何為獨立 VM 指定時間限制,請參閱限制 VM 的執行時間。如要讓 MIG 根據工作負載自動新增或刪除 VM,請參閱自動調度執行個體群組資源。
事前準備
-
如果尚未設定驗證,請先完成設定。
「驗證」是指驗證身分的程序,確認您有權存取 Trusted Cloud by S3NS 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列任一選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
安裝 Google Cloud CLI,然後 使用同盟身分登入 gcloud CLI。 登入後,執行下列指令初始化 Google Cloud CLI:
gcloud init
- Set a default region and zone.
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用同盟身分登入 gcloud CLI。 登入後,執行下列指令初始化 Google Cloud CLI:
gcloud init
詳情請參閱 Trusted Cloud 驗證說明文件中的「Authenticate for using REST」。
限制 MIG 中 VM 的執行時間
您可以在用於 MIG 的執行個體範本中指定時間限制,藉此限制 MIG 中 VM 的執行時間。當 MIG 根據範本建立 VM 時,時間限制會套用至每個 VM。
您可以指定下列其中一種時間限制:
- 時間限制 (跑步時間)
- 時間限制 (終止時間)
如要為 MIG 中的 VM 指定時間限制,請按照下列步驟操作:
限制
您必須遵守限制,才能限制獨立 VM 的執行時間。
建立執行個體範本,為 MIG 中的 VM 指定時間限制時,會受到下列限制:
終止動作只能設為
DELETE
。只有在執行個體範本指定標準或彈性啟動佈建模式時,才能使用該範本。
如果 MIG 同時指定下列兩項設定,您就無法限制區域性 MIG 中 VM 的執行時間:
EVEN
目標分配型態
建立含有 VM 執行時間的執行個體範本
如要讓 MIG 中的 VM 在執行一段時間後自動終止,請在執行個體範本中設定最長執行時間 (
maxRunDuration
)。主控台
前往 Trusted Cloud 控制台的「Instance Templates」(執行個體範本) 頁面。
點選「建立執行個體範本」。
按照以下方式選取「Location」(位置):
- 如要跨區域使用執行個體範本,請選擇「Global」(全域)。
- 如要減少跨區域依附元件,請選擇「Regional」(區域)。
如果您選擇了「Regional」(區域),請選取您要建立執行個體範本的「區域」。
在「可用性政策」部分,展開「VM 佈建模式進階設定」。
選取「設定 VM 的時間限制」核取方塊。
在「時間限制類型」欄位中,選取「以小時為單位」 (預設),將時間限制指定為一段時間。在下一個欄位中,輸入時數。
在「On VM termination」(VM 終止時) 清單中,選取「Delete」(刪除)。
請針對其他欄位,接受預設值或視需要進行修改。
點選「建立」。
gcloud
使用
instance-templates create
指令。如要在特定時間後自動刪除 VM,請加入--max-run-duration
旗標,並將--instance-termination-action
旗標設為DELETE
,如下所示:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --max-run-duration=DURATION \ --instance-termination-action=DELETE
更改下列內容:
INSTANCE_TEMPLATE_NAME
:執行個體範本的名稱。DURATION
:您希望 VM 執行的時間長度。 MIG 會在指定時間過後自動刪除 VM。將時間長度格式設為天數、時數、分鐘數和秒數,並分別加上
d
、h
、m
和s
。舉例來說,如要指定 30 分鐘的時長,請使用30m
;如要指定 1 天 2 小時 3 分鐘 4 秒的時長,請使用1d2h3m4s
。最短為 30 秒 (30s
),最長為 120 天 (120d
)。
Terraform
如要使用 Terraform 建立執行個體範本,請使用
google_compute_instance_template
資源。如要建立執行個體範本,在特定時間長度後自動刪除 VM,請務必加入max_run_duration
引數,並將instance_termination_action
引數設為DELETE
。REST
請使用
instanceTemplates.insert
方法。如要在特定時間過後自動刪除 VM,請加入maxRunDuration
欄位,並將instanceTerminationAction
欄位設為DELETE
,如下所示:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ] "scheduling": { "maxRunDuration": { "seconds": DURATION }, "instanceTerminationAction": "DELETE" } } }
更改下列內容:
PROJECT_ID
:要在其中建立執行個體範本的專案 ID。INSTANCE_TEMPLATE_NAME
:執行個體範本的名稱。MACHINE_TYPE
:群組中 VM 的預先定義或自訂機器類型。IMAGE_PROJECT
:包含圖片的映像檔專案,例如debian-cloud
。IMAGE
或IMAGE_FAMILY
:指定下列其中一個值:IMAGE
:OS 映像檔的特定版本,例如debian-10-buster-v20200309
。IMAGE_FAMILY
:圖片系列。這會指定最新的非已淘汰 OS 映像檔。舉例來說,如果您指定family/debian-10
,系統會使用 Debian 10 映像檔系列中的最新版本。
DURATION
:您希望 VM 執行的時間長度。 MIG 會在指定時間過後自動刪除 VM。將時間長度格式設為天數、時數、分鐘數和秒數,並分別加上
d
、h
、m
和s
。舉例來說,如要指定 30 分鐘的時長,請使用30m
;如要指定 1 天 2 小時 3 分鐘 4 秒的時長,請使用1d2h3m4s
。最短為 30 秒 (30s
),最長為 120 天 (120d
)。
建立含有 VM 終止時間的執行個體範本
如要在特定時間自動終止 MIG 中的 VM,請在執行個體範本中設定終止時間 (
terminationTime
)。您可以設定日期和時間,讓 MIG 終止 VM。主控台
前往 Trusted Cloud 控制台的「Instance Templates」(執行個體範本) 頁面。
點選「建立執行個體範本」。
按照以下方式選取「Location」(位置):
- 如要跨區域使用執行個體範本,請選擇「Global」(全域)。
- 如要減少跨區域依附元件,請選擇「Regional」(區域)。
如果您選擇了「Regional」(區域),請選取您要建立執行個體範本的「區域」。
在「可用性政策」部分,展開「VM 佈建模式進階設定」。
在「時間限制類型」欄位中,選取「依日期」,將時間限制指定為時間和日期。在下一個欄位中,按一下「選取日期和時間」
,然後選取自動終止的日期、時間和時區。在「On VM termination」(VM 終止時) 清單中,選取「Delete」(刪除)。
請針對其他欄位,接受預設值或視需要進行修改。
點選「建立」。
gcloud
使用
instance-templates create
指令。如要在特定時間自動刪除 VM,請加入--termination-time
旗標,並將--instance-termination-action
旗標設為DELETE
,如下所示:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --termination-time=TIME \ --instance-termination-action=DELETE
更改下列內容:
INSTANCE_TEMPLATE_NAME
:執行個體範本的名稱。TIME
:您希望系統自動終止 VM 的時間。指定時間必須至少在 30 秒後,最晚則為 120 天後。將時間格式設為 RFC 3339 時間戳記:YYYY-MM-DDTHH:MM:SSOFFSET
更改下列內容:
YYYY-MM-DD
:日期格式為 4 位數年份、2 位數月份和 2 位數日期,並以連字號分隔。HH:MM:SS
:時間格式為 2 位數的小時 (採用 24 小時制)、2 位數的分鐘和 2 位數的秒數,並以半形冒號分隔。OFFSET
:時區格式為世界標準時間 (UTC) 的偏移量。舉例來說,如要使用比世界標準時間早 8 小時的太平洋標準時間 (PST),請指定-08:00
。如要使用零時差 (UTC+0),請指定Z
。
REST
請使用
instanceTemplates.insert
方法。如要在特定時間自動刪除 VM,請加入terminationTime
欄位,並將instanceTerminationAction
欄位設為DELETE
,如下所示:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ] "scheduling": { "terminationTime": TIME, "instanceTerminationAction": "DELETE" } } }
更改下列內容:
PROJECT_ID
:要在其中建立執行個體範本的專案 ID。INSTANCE_TEMPLATE_NAME
:執行個體範本的名稱。MACHINE_TYPE
:群組中 VM 的預先定義或自訂機器類型。IMAGE_PROJECT
:包含圖片的映像檔專案,例如debian-cloud
。IMAGE
或IMAGE_FAMILY
:指定下列其中一個值:IMAGE
:OS 映像檔的特定版本,例如debian-10-buster-v20200309
。IMAGE_FAMILY
:圖片系列。這會指定最新的非已淘汰 OS 映像檔。舉例來說,如果您指定family/debian-10
,系統會使用 Debian 10 映像檔系列中的最新版本。
TIME
:您希望系統自動終止 VM 的時間。指定時間必須至少在 30 秒後,最晚則為 120 天後。將時間格式設為 RFC 3339 時間戳記:YYYY-MM-DDTHH:MM:SSOFFSET
更改下列內容:
YYYY-MM-DD
:日期格式為 4 位數年份、2 位數月份和 2 位數日期,並以連字號分隔。HH:MM:SS
:時間格式為 2 位數的小時 (採用 24 小時制)、2 位數的分鐘和 2 位數的秒數,並以半形冒號分隔。OFFSET
:時區格式為世界標準時間 (UTC) 的偏移量。舉例來說,如要使用比世界標準時間早 8 小時的太平洋標準時間 (PST),請指定-08:00
。如要使用零時差 (UTC+0),請指定Z
。
MIG 中 VM 的時間限制運作方式
為 MIG 中的 VM 指定時間限制時,系統會自動在 VM 的終止時間戳記 (
terminationTimestamp
) 欄位中,設定 MIG 終止 VM 的時間。系統會根據您指定的時間限制類型,設定 VM 的終止時間戳記,如下所示:
以執行時間為單位的時間限制 (
maxRunDuration
):VM 的
terminationTimestamp
= VM 的最新建立或啟動時間 +maxRunDuration
指定時間長度時,系統會根據 VM 的最新建立或啟動時間設定終止時間戳記。如果重新建立、重新啟動、繼續或更換 VM,系統會重新計算終止時間戳記。MIG 中各個 VM 的終止時間戳記可能不同,取決於每個 VM 上次建立或啟動的時間。舉例來說,如果 VM 經過修復,系統會重新計算 VM 的終止時間戳記,方法是將修復期間 VM 重新建立的時間加上持續時間。
時間限制 (終止時間) (
terminationTime
):terminationTimestamp
的 VM =terminationTime
指定時間時,終止時間戳記會設為該時間 (前提是該時間在未來)。如果終止時間已過,任何嘗試建立、重新啟動或更換 VM 的 MIG 動作都會失敗。如要解決這類錯誤,您必須建立新的執行個體範本,並設定未來的終止時間,然後將該範本套用至 MIG。如要在新範本中使用現有範本屬性,請根據現有範本建立執行個體範本。
VM 重新整理期間,終止時間戳記不會變更。舉例來說,如果將更新的干擾程度設為
REFRESH
,則每當 MIG 更新 VM 時,系統都會保留終止時間戳記。當您暫停或停止 MIG 中的 VM 時,無論時間限制類型為何,系統都會自動清除終止時間戳記。當您恢復或啟動 VM 時,系統會根據時間限制類型重新設定終止時間戳記,如本節稍早所述。
設定時間限制時,自動縮放的運作方式
自動調度資源功能可讓 MIG 根據負載的增減,自動新增或移除 VM。當 MIG 刪除已達終止時間戳記的 VM 時,MIG 會建立新的 VM,以維持自動調度器建議的大小。新 VM 會在指定時限內執行。如果自動調度器建議減少 VM 數量,MIG 就會刪除 VM,即使 VM 尚未達到時間限制也一樣。
如果您已設定縮放時間表,VM 只會執行到時間表結束,或直到 VM 達到終止時間戳記為止,兩者取其先。
後續步驟
- 瞭解建立 MIG 的基本情境。
- 瞭解如何將新的執行個體範本套用至現有 MIG。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-08 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-08-08 (世界標準時間)。"],[[["Managed instance groups (MIGs) can automatically terminate virtual machines (VMs) after a specified time limit, helping to optimize temporary workloads, minimize costs, and free up quota."],["You can set the time limit for VMs in a MIG by specifying either a run duration or a specific termination time within the instance template."],["When using a run duration, the VM's termination time is calculated based on its creation or start time plus the specified duration, while a termination time will trigger termination at the specified time."],["Limitations include that only the `DELETE` termination action is supported, Spot VMs cannot be used, resize requests are not allowed, and certain regional MIG configurations are not compatible with this feature."],["GPU VMs can consume either preemptible or standard allocation quotas, when they are configured for automatic deletion with a run time of 7 days or less."]]],[]] -