管理自動配置器

如果您使用代管執行個體群組 (MIG),請參閱本文,瞭解如何建立、設定及刪除 MIG 的自動調度器

事前準備

  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上您打算如何使用範例的分頁:

    控制台

    使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。

    gcloud

    1. 安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init

      若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  • 設定預設地區和區域
  • REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI。

      若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

    詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。

建立自動配置器

隨著您想要使用的自動調度資源政策不同,建立自動配置器的方式也會略有差異。如需建立自動配置器的操作說明,請參閱:

取得自動配置器的相關資訊

如要取得特定自動配置器的詳細資訊,請使用控制台、gcloud compute instance-groups managed describe 子指令,或區域地區自動配置器 REST 資源的 get 方法。

控制台

  1. 前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。

    前往「Instance groups」(執行個體群組) 頁面

  2. 在清單中按一下 MIG 名稱,開啟該群組的總覽頁面。
  3. 按一下 [Details] (詳細資料) 即可查看群組的詳細資料,包括群組的自動調度資源設定。

gcloud

使用 instance-groups managed describe 指令

gcloud compute instance-groups managed describe INSTANCE_GROUP_NAME

如果自動配置器已附加至群組,這個指令會傳回自動配置器的詳細資料:

...
autoscaler:
  autoscalingPolicy:
    coolDownPeriodSec: 60
    cpuUtilization:
      utilizationTarget: 0.6
    maxNumReplicas: 20
    minNumReplicas: 10
    mode: ON
    scaleInControl:
      timeWindowSec: 300
      maxScaledInReplicas:
        fixed: 3
        calculated: 3
...

REST

請使用 instanceGroupManagers.get 方法。如果是區域 MIG,請將 zones/ZONE 替換為 regions/REGION

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME

如果群組附加了自動調度器,要求會傳回自動調度器資源的連結。

200 OK

{
  ...
  "status": {
    ...
    "autoscaler": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/autoscalers/example-group"
  },
}

如要擷取自動配置器資源的詳細資料,請使用區域 MIG 的 autoscalers.get 方法,或區域 MIG 的 regionAutoscalers.get 方法

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/example-autoscaler
200 OK

{
 "kind": "compute#autoscaler",
 "id": "8744945839459481093",
 "creationTimestamp": "2018-09-28T13:02:50.553-07:00",
 "name": "example-group",
 "target": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/instanceGroupManagers/example-group",
 "autoscalingPolicy": {
  "minNumReplicas": 10,
  "maxNumReplicas": 20,
  "mode": "ON",
  "scaleInControl": {
    "timeWindowSec": 60,
    "maxScaledInReplicas": {
      "calculated": 3,
      "percent": 15
    }
  },
  "coolDownPeriodSec": 60,
  "cpuUtilization": {
   "utilizationTarget": 0.6
  }
 },
 "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c",
 "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/autoscalers/example-group",
 "status": "ACTIVE"
}

更新自動配置器

更新自動配置器後,變更可能需要一段時間才會生效,新的自動配置器設定可能需要數分鐘,才會反映在系統上。

控制台

  1. 前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。

    前往「Instance groups」(執行個體群組) 頁面

  2. 在清單中按一下 MIG 名稱,開啟該群組的總覽頁面。
  3. 按一下 [編輯]
  4. 按一下「群組大小和自動調度資源」,即可查看及更新群組的自動調度資源設定。
  5. 完成時請按一下 [Save] (儲存)。

gcloud

使用 update-autoscaling 指令。

gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \
        --max-num-replicas MAX_NUM ...

如需建立自動調度器的操作說明,請參閱「建立自動調度器」。

REST

如要更新自動調整資源,請使用區域 MIG 的 autoscalers.patch 方法或區域 MIG 的 regionAutoscalers.patch 方法。提供要求主體,並在其中包含新的設定。

PATCH https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/autoscalers?autoscaler=example-autoscaler

{
 "autoscalingPolicy": {
  "maxNumReplicas": 20
 }
}
200 OK

{
 "kind": "compute#operation",
 "id": "4244494732310423322",
 "name": "operation-1556912627871-58800f8216ed7-74ab1720-7d360603",
 "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f",
 "operationType": "compute.autoscalers.patch",
 "targetLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/autoscalers/example-autoscaler",
 "targetId": "340775527929467142",
 "status": "RUNNING",
 ...
}

執行任何會修改資料的要求時,系統均會傳回 zoneOperationsregionOperations 資源,您可查詢作業來檢查變更的狀態。

使用預測式自動調度資源功能

預測式自動調度資源會使用歷來資料,在預期負載出現前預先水平擴展群組。如果工作負載符合下列條件,這項功能就能發揮最大效益:

  • 應用程式需要很長時間才能初始化,例如您設定的初始化期間超過 2 分鐘。
  • 工作負載會隨著每日或每週週期而有規律變化。

詳情請參閱根據預測結果執行資源調度

關閉或限制自動配置器

關閉自動配置器可暫時避免自動配置器為代管執行個體群組:MIG 進行自動調度資源,或限制自動配置器,使其只能為代管執行個體群組:MIG 進行水平擴展。這項功能在下列情況中非常實用:

  • 在不受資源規模縮減干擾的情況下調查 VM 執行個體。
  • 重新設定 MIG 的多個屬性,且進行部分重新設定期間,系統不會觸發資源調度動作。
  • 維持 MIG 容量,以在將工作負載重新導向至新的 MIG 時,可快速復原。
  • 稍後再啟用預測式自動調度資源。預測式自動調度資源功能需要自動調度資源政策,才能開始收集負載記錄,並據此進行預測。即使自動調度資源模式設為 OFF,自動配置器也會偵測這類記錄。

如果重新啟用自動配置器,自動配置器會自動恢復正常運作狀態。

請按照本節的說明設定自動配置器的模式。可用的模式如下:

  • 關閉:暫時停用自動調度資源功能。使用此模式可防止系統自動變更 MIG 的大小。自動調度資源設定會保持不變,以供日後重新啟用自動調度資源功能。
  • 僅水平擴展:限制自動調度資源功能只能新增 VM 執行個體。使用此模式可避免群組縮小,並讓群組可在負載增加時佈建額外的 VM。
  • 開啟:根據政策啟用所有自動調度資源作業。

控制台

  1. 前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。

    前往「Instance groups」(執行個體群組) 頁面

  2. 在清單中按一下 MIG 名稱,開啟該群組的總覽頁面。
  3. 按一下 [編輯]
  4. 按一下「群組大小和自動調度資源」,即可查看及更新群組的自動調度資源設定。
  5. 在「Autoscaling」(自動調度資源) 區段中,設定「Autoscaling mode」(自動調度資源模式) 來停用或限制自動調度資源,或重新開啟自動配置器。
  6. 完成時請按一下 [Save] (儲存)。

gcloud

如要停用、限制或重新啟用自動配置器,請使用 update-autoscaling 指令並搭配 --mode 旗標。

gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \
        --mode MODE 

更改下列內容:

  • MODE
    • off:停用自動配置器,但保留其設定
    • only-scale-out,將自動調度器限制為只能新增 VM 執行個體
    • on 會根據本身的政策重新啟用所有自動配置器活動

REST

如要更新自動配置器資源模式,請使用區域 MIG 的 autoscalers.patch 方法,或區域 MIG 的 regionAutoscalers.patch 方法。提供要求主體,並在其中包含 autoscalingPolicy.mode 屬性。

PATCH https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/autoscalers?autoscaler=my-autoscaler

{
  "autoscalingPolicy": {
    "mode":"MODE"
  }
}

更改下列內容:

  • MODE
    • OFF:停用自動配置器,但保留其設定
    • ONLY_SCALE_OUT,將自動配置器限制為只能新增執行個體
    • ON 會根據本身的政策重新啟用所有自動配置器活動

將自動調度資源模式設為 ONLY_SCALE_OUT 時,自動調度器的行為如下:

  • 無論負載減少或自動調度資源設定變更,自動調度器都不會減少 MIG 的 targetSize 值。
  • 如果手動變更區域 MIG 的目標大小,且該大小小於自動調度器建議的大小,自動調度器就會覆寫您手動提供的大小。
  • 您無法手動變更區域 MIG 的目標大小。
  • 如果自動配置器的模式設為 ONLY_SCALE_OUT,且您將 autoscalingPolicy.maxNumReplicas 欄位設為低於群組目前 targetSize 的值,自動配置器不會減少群組中的執行個體數量。自動配置器會照常持續重新計算群組的建議大小,並可能減少群組的建議大小,以符合新的上限,但群組不會縮減。
  • autoscalers.status」欄位會回報警告:「Autoscaling operates in a restricted mode: ONLY_SCALE_OUT.」(自動調度資源功能處於受限模式:ONLY_SCALE_OUT)。

將自動調度資源模式設為 OFF 時,自動調度資源的行為如下:

  • 自動調度器不會因應負載或自動調度器設定的變更,變更 MIG 的 targetSize 值。自動調度資源功能會照常持續重新計算群組的建議大小,並可能縮減群組的建議大小,以符合新的上限,但群組不會縮減。
  • 您可以手動變更可用區或區域性 MIG 的目標大小。自動調度資源政策的 minNumReplicasmaxNumReplicas 值不會影響您設定的大小。
  • 如果您為啟用主動式執行個體重新分配功能的區域性 MIG 停用自動調度資源功能,且該 MIG 的執行個體在各區域間分布不均,則群組會主動刪除或建立區域中的執行個體,以重新建立均勻分布的狀態。
  • autoscalers.status」欄位會顯示警告:「Autoscaling operates in a restricted mode: OFF.」(自動調度資源功能處於受限模式:關閉)。

控管自動調度器的向內縮減率

如果工作負載需要數分鐘才能啟動,您可以設定下列項目,藉此降低資源配置驟降事件引發的回應延遲和服務中斷風險:

  • 縮減控制項:如果您預期負載下降後不久就會出現尖峰,可以設定縮減控制項來限制縮減率。限制縮減率可避免自動調度器縮減 MIG 的大小,導致 VM 執行個體數量低於工作負載可容許的損失。

  • 穩定期:如要防止過早移除執行個體,或允許更快水平縮減以降低成本,可以設定穩定期。這段期間會控管自動配置器在負載降低後,等待水平縮減執行個體的時間長度。

設定向內縮減控制項

您可以選擇是否設定縮減控制項。根據預設,系統不會設定縮減控制項。如果未設定,自動配置器仍會依賴預設的穩定機制。也就是說,系統會將建議大小維持在可提供穩定期內觀察到的尖峰負載的層級。

控制台

如要為自動調度資源的 MIG 設定縮減控制項,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。

    前往「Instance groups」(執行個體群組)

  2. 在清單中按一下自動調度 MIG 的名稱,開啟該群組的總覽頁面。

  3. 按一下 [編輯]

  4. 按一下「群組大小和自動調度資源」,即可查看及更新群組的自動調度資源設定。

  5. 在「向內縮減控制項」部分,選取「啟用向內縮減控制項」

  6. 在「Don't scale in by more than」(縮減規模時,不要移除超過) 欄位中,指定每次可從群組中移除的執行個體數量或百分比上限。

  7. 在「Over the course of」(在以下時間內) 部分,指定可從群組中移除執行個體的頻率。

  8. 按一下 [儲存]

gcloud

建立或更新自動調度器時,您可以設定縮減控制項。

建立自動調度器時設定縮減控制項

為代管執行個體群組:MIG 建立自動配置器時,請使用 gcloud compute instance-groups managed set-autoscaling 指令搭配 --scale-in-control 旗標,設定水平縮減控制項。舉例來說,請使用下列指令為 example-group 設定自動調度資源:

gcloud compute instance-groups managed set-autoscaling INSTANCE_GROUP_NAME \
    --target-cpu-utilization 0.6 \
    --max-num-replicas 50 \
    --scale-in-control max-scaled-in-replicas=MAX_SCALE_IN_REPLICAS,time-window=TIME_WINDOW

更新自動調度器時設定縮減控制項

如要更新 MIG 現有自動配置器的水平縮減控制項,請搭配 gcloud compute instance-groups managed update-autoscaling 指令使用 --scale-in-control 旗標。舉例來說,請使用下列指令,在 example-group 的現有自動調度資源設定中設定水平縮減控制項:

gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \
    --scale-in-control max-scaled-in-replicas=MAX_SCALE_IN_REPLICAS,time-window=TIME_WINDOW

更改下列內容:

  • INSTANCE_GROUP_NAME:要更新的 MIG 名稱。
  • MAX_SCALE_IN_REPLICAS:可從尖峰大小扣除的 VM 數量上限,取自指定的後方時間範圍。指定的 VM 執行個體數量可一次全部縮減,因此服務應能承受一次失去這麼多 VM。您可以指定 VM 數量或百分比。百分比請使用 % 符號,例如:50%
  • TIME_WINDOW:用於取得尖峰大小的尾隨時間範圍。自動調度資源功能不會在後續時間範圍內,將副本數量水平縮減至低於尖峰大小的上限。此值必須介於 603600 之間。

舉例來說,假設您將時間範圍設為 1800 秒 (30 分鐘)。計算 MIG 目前建議大小時,自動調度器會使用下列邏輯:

  • 取過去 30 分鐘的尖峰大小 (例如 100 個 VM)
  • max-scaled-in-replicas 為例 (例如 10 部 VM)
  • 將建議大小的下限設為:尖峰大小減去 max-scaled-in-replicas (100 - 10 = 90 部 VM)

REST

如要設定縮減控制項,請在區域區域自動配置器資源的 autoscalingPolicy.scaleInControl 結構中,設定 maxScaledInReplicastimeWindowSec 欄位。這些欄位沒有預設值,您必須為這兩個欄位提供值。

建立或更新自動調度器時,您可以設定縮減控制項。

建立自動調度器時設定縮減控制項

如果是區域 MIG,請使用 autoscalers.insert 方法。如果是區域 MIG,請使用 regionAutoscalers.insert 方法

POST
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers

{
  "name": "AUTOSCALER_NAME",
  "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME",
  "autoscalingPolicy": {
    "minNumReplicas": 1,
    "maxNumReplicas": 5,
    "coolDownPeriodSec": 60,
    "cpuUtilization": {
      "utilizationTarget": 0.8
    },
    "scaleInControl": {
      "maxScaledInReplicas": {
           "fixed": MAX_SCALE_IN_REPLICAS
      },
      "timeWindowSec": TIME_WINDOW
    }
  }
}

如要進一步瞭解如何建立自動配置器,請參閱下列文章:

更新自動調度器時設定縮減控制項

如果是區域 MIG,請使用 autoscalers.patch 方法。如果是區域 MIG,請使用 regionAutoscalers.patch 方法

PATCH
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers?autoscaler=AUTOSCALER_NAME

{
  "autoscalingPolicy": {
    "minNumReplicas": 1,
    "maxNumReplicas": 5,
    "coolDownPeriodSec": 60,
    "cpuUtilization": {
      "utilizationTarget": 0.8
    },
    "scaleInControl": {
      "maxScaledInReplicas": {
           "fixed": MAX_SCALE_IN_REPLICAS
      },
      "timeWindowSec": TIME_WINDOW
    }
  }
}

更改下列內容:

  • AUTOSCALER_NAME:要建立的自動調整程式名稱。您可以將自動調度器命名為要使用的 MIG,也可以命名為其他名稱。
  • :要新增自動調度資源功能的 MIG 名稱。如果是區域 MIG,請將 zones/ZONE 替換為 regions/REGIONINSTANCE_GROUP_NAME
  • MAX_SCALE_IN_REPLICAS:可從建議目標大小的尖峰值扣除的 VM 數量上限,取自指定的後方時間範圍。系統可以一次擴充指定數量的 VM 執行個體,因此您的服務應能承受一次失去這麼多 VM。您可以指定 VM 數量或百分比。使用 maxScaledInReplicas.percentage 指定百分比值。
  • TIME_WINDOW:用來取得建議大小上限的後續時間範圍。自動調度資源不會將副本數量水平縮減超過建議大小上限 (以這段時間內建議大小的峰值為準)。以秒為單位指定這個值,範圍介於 603600 之間,例如:1800

舉例來說,假設您將時間範圍設為 1800 秒 (30 分鐘)。計算 MIG 目前建議大小時,自動調度器會使用下列邏輯:

  • 取過去 30 分鐘的尖峰大小 (例如 100 個 VM)
  • max-scaled-in-replicas 為例 (例如 10 部 VM)
  • 將建議大小的下限設為:尖峰大小減去 max-scaled-in-replicas (100 - 10 = 90 部 VM)

如要進一步瞭解向內縮減控制項的運作方式,請參閱「瞭解自動調度資源決策」。

取得向內縮減控制項的目前設定

如要取得縮減控制項的目前設定,請參閱「取得自動配置器的相關資訊」。

移除向內縮減控制項

您可以使用 Google Cloud CLI 或 Compute Engine API 移除縮減控制項,解除對縮減作業時間和規模的限制。

如果沒有縮減控制項,自動配置器仍會依預設的穩定機制運作。具體來說,自動配置器會將建議大小維持在可處理穩定期內尖峰負載的層級。

控制台

如要移除自動調度資源 MIG 的向內縮減控制項,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。

    前往「Instance groups」(執行個體群組)

  2. 在清單中按一下自動調度 MIG 的名稱,開啟該群組的總覽頁面。

  3. 按一下 [編輯]

  4. 按一下「群組大小和自動調度資源」,即可查看及更新群組的自動調度資源設定。

  5. 在「向內縮減控制項」部分,取消勾選「啟用向內縮減控制項」核取方塊。

  6. 按一下 [儲存]

gcloud

使用 --clear-scale-in-control 旗標搭配 gcloud compute instance-groups managed update-autoscaling 指令,移除縮減控制項。舉例來說,使用下列指令從 example-group 的自動調度資源設定中移除縮減控制項:

gcloud compute instance-groups managed update-autoscaling example-group \
    --clear-scale-in-control

REST

如要移除縮減控制項,請對區域性 MIG 使用 autoscalers.patch 方法,或對區域性 MIG 使用 regionAutoscalers.patch 方法,並提供縮減控制項的空白設定。

PATCH
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME

{
  "autoscalingPolicy": {
    "scaleInControl": null
  }
}

更改下列內容:

設定穩定期

預設穩定期為 600 秒。您可以將這個值設為介於 0 秒和 3600 秒 (一小時) 之間。

如要設定穩定期,請使用下列其中一種方法:

控制台

  1. 前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。

    前往「Instance groups」(執行個體群組)

  2. 在清單中按一下自動調度 MIG 的名稱,開啟該群組的總覽頁面。

  3. 按一下 [編輯]

  4. 按一下「群組大小和自動調度資源」展開該部分。

  5. 如果 MIG 未設定自動配置器,請按一下「設定自動調度資源功能」,然後執行下列操作:

    1. 在「Minimum number of instances」(執行個體數量下限) 和「Maximum number of instances」(執行個體數量上限) 欄位中,輸入自動調度器應維持的執行個體數量。

    2. 系統預設會納入 CPU 使用率信號,您可以編輯該信號,也可以點選「新增信號」建立其他信號。

    3. 在「穩定期」欄位中,輸入以秒為單位的時間長度。預設值為 600 秒。

  6. 如果已有自動調度資源設定,請在「Stabilization period」(穩定期) 欄位中輸入時間長度 (以秒為單位)。預設值為 600 秒。

  7. 按一下 [儲存]

gcloud

建立或更新自動調整程式時,您可以設定穩定期。

建立自動調度器時設定穩定期

使用 gcloud compute instance-groups managed set-autoscaling 指令並加入 --stabilization-period 旗標,設定穩定期。

gcloud compute instance-groups managed set-autoscaling INSTANCE_GROUP_NAME \
    --target-cpu-utilization 0.6 \
    --max-num-replicas 50 \
    --stabilization-period STABILIZATION_PERIOD

更新自動配置器時設定穩定期

使用 gcloud compute instance-groups managed update-autoscaling 指令並加入 --stabilization-period 旗標。

gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \
    --stabilization-period STABILIZATION_PERIOD

更改下列內容:

  • INSTANCE_GROUP_NAME:MIG 的名稱。
  • STABILIZATION_PERIOD:以秒為單位的時間長度。這個值必須介於 03600 之間。詳情請參閱本文的「穩定期最佳做法」。

REST

如要設定穩定期,請使用下列其中一項資源:

建立或更新自動調整程式時,您可以設定穩定期。

建立自動調度器時設定穩定期

POST
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers

{
  "name": "AUTOSCALER_NAME",
  "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME",
  "autoscalingPolicy": {
    "minNumReplicas": 1,
    "maxNumReplicas": 5,
    "coolDownPeriodSec": 60,
    "cpuUtilization": {
      "utilizationTarget": 0.8
    },
    "stabilizationPeriodSec": STABILIZATION_PERIOD
  }
}

更新自動調度器時設定穩定期

PATCH
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers?autoscaler=AUTOSCALER_NAME

{
  "autoscalingPolicy": {
    "minNumReplicas": 1,
    "maxNumReplicas": 5,
    "coolDownPeriodSec": 60,
    "cpuUtilization": {
      "utilizationTarget": 0.8
    },
    "stabilizationPeriodSec": STABILIZATION_PERIOD
  }
}

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • AUTOSCALER_NAME:自動調整程式的名稱。
  • INSTANCE_GROUP_NAME:MIG 的名稱。
  • STABILIZATION_PERIOD:以秒為單位的時間長度。這個值必須介於 03600 之間。詳情請參閱本文的「穩定期最佳做法」。

穩定期最佳做法

最佳做法是根據工作負載類型設定穩定期,如下所示:

  • 不穩定的工作負載:如果應用程式的流量變化劇烈,請維持預設的穩定期 (600 秒或 10 分鐘),或延長穩定期。這段時間有助於避免頻繁建立及刪除執行個體所造成的額外負荷。

  • 快速擴充的網路服務:如果應用程式初始化速度很快 (幾秒內),且您想大幅降低成本,請考慮將穩定期縮短至 180240 秒。這段時間有助於快速水平縮減。

  • 具有工作階段相依性的工作負載:如果應用程式需要同一部 VM 執行個體長時間處理用戶端要求,即使負載減少也是如此,請使用較長的穩定期,例如 1800 秒。

  • 設為 0:只有在應用程式可處理即時容量減少,且不會影響使用者延遲時間,以及您不擔心因負載訊號快速波動而頻繁建立及刪除執行個體所造成的負擔時,才將穩定期設為 0

此外,建議您設定比初始化期間更長的穩定期,以免在新的執行個體完全準備好提供服務前刪除執行個體。

刪除自動配置器

您可以永久刪除自動配置器資源及其記錄。如要暫時停止自動調度資源,並保留自動配置器資源及其設定和記錄,請改為停用自動配置器。

控制台

  1. 前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。

    前往「Instance groups」(執行個體群組)

  2. 在清單中按一下 MIG 名稱,開啟該群組的總覽頁面。

  3. 按一下 [編輯]

  4. 按一下「群組大小和自動調度資源」,即可查看及更新群組的自動調度資源設定。

  5. 在「Autoscaling mode」(自動調度資源模式) 清單中,選取「Delete autoscaling configuration」(刪除自動調度資源設定),即可停止自動配置器並刪除其設定。

  6. 完成時請按一下 [Save] (儲存)。

gcloud

使用 stop-autoscaling 指令停止自動配置器,並刪除其設定。

gcloud compute instance-groups managed stop-autoscaling INSTANCE_GROUP_NAME

停止自動配置器會將其從 MIG 中刪除。如要重新啟動自動配置器,則必須使用 set-autoscaling 指令重新建立自動配置器。

如果您使用 gcloud CLI 刪除 MIG,所有連結至 MIG 的自動配置器也會遭到刪除。

REST

如要停止自動調度器並刪除其設定,請使用區域 MIG 的 autoscalers.delete 方法,或使用區域 MIG 的 regionAutoscalers.delete 方法

 DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/AUTOSCALER_NAME

意見回饋

我們想要瞭解您的用途、難題和自動調度資源相關意見。請前往以下網址,並與我們的團隊分享您的寶貴意見:mig-discuss@google.com

後續步驟