建立含有多項信號的自動調度資源政策時,自動配置器會根據信號調度資源,以在受管理的執行個體群組 (MIG) 中提供最多數量的虛擬機器 (VM) 例項。這可確保隨時都有足夠的 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.
cpuUtilization
:目標為 0.8loadBalancingUtilization
:目標為 0.6customMetricUtilization
:針對指標 1,目標為 1000customMetricUtilization
:針對指標 2,目標為 2000scalingSchedules
- 每週末凌晨 12 點起,至少有 6 部虛擬機運作 24 小時
- 每週一至週五上午 9:00 開始,至少有 15 部虛擬機,持續 8 小時
- CPU 使用率 0.5
- 負載平衡使用率 0.4
- 指標 1:1100
- 指標 2:2700。
- 根據 CPU 使用率,為 7 個 VM
- 7 部 VM (根據負載平衡使用率)
- 根據指標 1 的 11 個 VM
- 根據指標 2,為 14 個 VM
- 根據第一個調整時程,每週六和週日全天使用 6 部虛擬機
- 根據第二個調整大小排程,每週一至週五上午 9 點至下午 5 點有 15 部虛擬機
前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。
在清單中按一下 MIG 名稱。然後按一下「編輯」。
在編輯頁面「Autoscaling mode」(自動調度資源模式) 下方,從下拉式選單中選取「On: add and remove instances to the group」(開啟:在群組中新增和移除執行個體),即可開啟自動調度資源功能。
在「Minimum number of instances」(執行個體數量下限) 下方,輸入這個 MIG 的 VM 數量下限。無論這個 MIG 的自動調度資源信號為何,系統一律會保留其大小下限。
在「Maximum number of instances」(執行個體數量上限) 底下,輸入這個 MIG 的 VM 數量上限。無論自動調度資源信號產生的建議大小為何,一律不得超過這個 MIG 的大小上限。
針對每個要新增的以指標為依據的自動調度資源信號,請在「自動調度資源信號」下方點選「新增信號」。
- 如要根據平均 CPU 使用率建立自動調度資源信號,請在「信號類型」下方,從下拉式選單中選取「CPU 使用率」。接著輸入「Target CPU utilization」(目標 CPU 使用率),然後按一下「Done」(完成)。詳情請參閱「根據 CPU 使用率執行資源調度」一文。
- 如要根據 HTTP 負載平衡服務規模建立自動調度信號,請在「信號類型」下方,從下拉式選單中選取「HTTP 負載平衡使用率」。接著,輸入「目標 HTTP 負載平衡使用率」,然後按一下「完成」。詳情請參閱「根據負載平衡服務規模調度資源」。
- 如要根據 Cloud Monitoring 指標建立自動調度資源信號,請在「信號類型」下方,從下拉式選單中選取「Cloud Monitoring 指標」。接著填寫剩餘欄位,然後按一下「完成」。詳情請參閱「根據 Cloud Monitoring 指標調度資源」。
針對每個要新增的時間表型自動調度資源信號,展開「自動調度資源時間表」部分,按一下「管理時間表」,然後按一下「建立時間表」。
在新的「建立調整大小時間表」窗格中,填寫必要欄位,然後按一下「儲存」。接著,在「縮放時間表」窗格中按一下「完成」。詳情請參閱「根據時間表執行資源調度」一文。
在「Initialization period」下方,輸入應用程式需要初始化的秒數,讓 VM 在自動配置器認為其用量資料可靠之前完成初始化。詳情請參閱「初始化期間」。
選用:如要啟用縮減控制項,請按一下「縮減控制項」,然後選取「啟用縮減控制項」核取方塊。詳情請參閱縮放控制項
按一下 [儲存]。
MIG_NAME
:MIG 名稱。PATH_TO_CUSTOM_METRIC_1
和PATH_TO_CUSTOM_METRIC_2
:選用:自訂指標的路徑,格式類似custom.cloudmonitoring.googleapis.com/path/to/metric1
和custom.cloudmonitoring.googleapis.com/path/to/metric2
。詳情請參閱「自訂指標」。PROJECT
:您的專案 ID。ZONE
:MIG 所在的可用區。MIG_NAME
:MIG 名稱。PATH_TO_CUSTOM_METRIC_1
和PATH_TO_CUSTOM_METRIC_2
:選用:自訂指標的路徑,格式類似custom.cloudmonitoring.googleapis.com/path/to/metric1
和custom.cloudmonitoring.googleapis.com/path/to/metric2
。詳情請參閱「自訂指標」。
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 驗證說明文件中的「驗證以使用 REST」。
自動配置器如何處理多個信號
自動配置器處理多個信號的方法如下:為每個信號計算建議的 VM 數量,然後挑選會讓 MIG 中的 VM 數量達到最高的訊號。
自動配置器可以為每一指標類型處理一項信號,但 Cloud Monitoring 指標和調度時間表為例外。您最多可以為 Cloud Monitoring 指標選擇 5 個自動調度資源信號,並為每個 MIG 建立最多 128 個時間表。例如,您可以建立一個自動配置器,最多使用 1 個 CPU 使用率信號、1 個負載平衡信號、5 個自訂指標信號,以及最多 128 個調度資源調度表。
舉例來說,您可以使用下列所有信號定義自動配置器:
在這個範例中,假設自動配置器為含有 10 個 VM 的 MIG 測量所得到的平均使用率值如下:
自動配置器會使用上述值,根據每個信號計算建議的 VM 數量:
自動配置器會挑選會在 MIG 中產生最多 VM 的信號,並將 MIG 的建議大小設為該值。在這種情況下,如果目前是第二個時間表在執行,自動調整器會將 MIG 的大小調整為 15 個 VM,否則則會調整為 14 個 VM。
建立具有多項信號的自動配置器
視您使用的 Google Cloud 控制台、gcloud CLI 或 REST 為何,具有多個信號的自動配置器建立程序會略有差異。
主控台
gcloud
如要建立具有多個信號的自動配置器,請使用
set-autoscaling
指令。使用各自的指令列旗標傳入多個信號規格。舉例來說,下列指令會建立使用 CPU 使用率、負載平衡服務規模、兩項自訂指標和一項調度時程的自動配置器。
--max-num-replicas
和--min-num-replicas
標記會限制 MIG 的大小。gcloud compute instance-groups managed set-autoscaling MIG_NAME \ --target-cpu-utilization=0.8 \ --target-load-balancing-utilization=0.6 \ --custom-metric-utilization metric=PATH_TO_CUSTOM_METRIC_1,utilization-target=1000.0,utilization-target-type=GAUGE \ --custom-metric-utilization metric=PATH_TO_CUSTOM_METRIC_2,utilization-target=2000.0,utilization-target-type=DELTA_PER_SECOND \ --set-schedule=workday-capacity \ --schedule-cron="30 8 * * Mon-Fri" \ --schedule-duration-sec=30600 \ --schedule-min-required-replicas=10 \ --schedule-description="Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC" \ --min-num-replicas=1 \ --max-num-replicas=50
更改下列內容:
您可以利用自訂指標標記的例外設定,為每個指標類型最多傳遞一個標記。
gcloud
針對自訂指標,只要重複--custom-metric-utilization
標記,即可在單一指令中提供多項自訂指標。如要進一步瞭解如何為各類型自動調整大小信號設定旗標,請參閱以下頁面:
REST
如要建立自動配置器,請針對區域 MIG 使用
autoscalers.insert
方法,針對區域 MIG 使用regionAutoscalers.insert
方法。舉例來說,下列要求會建立使用 CPU 使用率、負載平衡服務容量、兩項自訂指標和兩個調度時程的自動配置器。
maxNumReplicas
和minNumReplicas
欄位會限制 MIG 的大小。POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers { "autoscalingPolicy" : { "cpuUtilization":{ "utilizationTarget": 0.8 }, "loadBalancingUtilization":{ "utilizationTarget": 0.6 }, "customMetricUtilizations":[ { "metric": "PATH_TO_CUSTOM_METRIC_1", "utilizationTarget": 1000, "utilizationTargetType":"GAUGE" }, { "metric": "PATH_TO_CUSTOM_METRIC_2", "utilizationTarget": 2000, "utilizationTargetType": "DELTA_PER_SECOND" } ], "scalingSchedules": { "workday-capacity": { "minRequiredReplicas": 10, "schedule": "30 8 * * Mon-Fri", "durationSec": 30600, "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC" }, "january-30-2030-schedule": { "minRequiredReplicas": 30, "schedule": "0 0 30 1 * 2030", "timeZone": "America/New_York", "durationSec": 86400, "description": "Schedule a minimum of 30 VMs all day for January 30, 2030" } }, "maxNumReplicas": 50, "minNumReplicas": 1 }, "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroupManagers/MIG_NAME", "name": "MIG_NAME" }
更改下列內容:
如本範例所示,您可以在同一個要求中提供多項自訂指標和調整排程。
如要進一步瞭解如何為各類型的自動調整大小信號設定欄位,請參閱下列頁面:
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-06-16 (世界標準時間)。
-