套用 VM 執行個體的規模調整建議

Compute Engine 會提供機器類型方面的建議,協助您的虛擬機器 (VM) 執行個體達到最佳的資源使用率。這些建議是根據 Stackdriver Monitoring 服務於過去 8 天收集到的系統指標,由系統自動產生。請善用這些建議,重新調整執行個體機器類型的規模,以更有效率地使用執行個體的資源。此功能亦稱為「最適規模推薦」

如要進一步瞭解適用於 VM 執行個體的不同規模調整選項,請參閱機器類型說明文件。

定價

規模調整建議為免費功能。

限制與應用實例

調整建議目前不適用於下列項目:使用 App Engine 的彈性環境、Cloud Dataflow 或 Google Kubernetes Engine 建立的 VM 執行個體,或具有暫時磁碟、GPU 或 TPU 的 VM 執行個體。

規模調整建議演算法適用的工作負載類型如下:依照每週模式運作的工作負載、會隨著數週時間過去而擴展或縮減的工作負載、持續不完全利用資源的工作負載,或是持續因資源不足而遭到節流的工作負載。對於這類情況,只需使用過去 8 天的資料,就足以預測機器規模變更能夠改善資源使用率的程度。

規模調整建議演算法不適合用於下列工作負載:

  • 不常達到尖峰的工作負載 (例如每月出現尖峰),因為 8 天份的資料不足以擷取或預測 CPU 的波動。
  • 出現極短暫 CPU 尖峰的工作負載,因為建議是以 60 秒間隔內的平均 CPU 使用率為參考依據。系統可能無法快速產生建議,以擷取短暫的尖峰資料。詳情請參閱規模調整建議的運作方式

對於注重成本勝於效能的工作負載 (例如批次工作負載),可忽略這些建議,將規模提高。

在某些罕見情況下,您可能會在套用建議時看見錯誤訊息。 例如,建議的機器類型可能過小而無法容納連接的磁碟數量、未符合映像檔或授權的資源需求,或可能不適用於特定區域。

規模調整建議的運作方式

Compute Engine 會監控執行中 VM 的 CPU 與記憶體使用率,並根據過去 8 天的資料提出建議。 Compute Engine 會提出建議如下:

  • 如果執行個體於大部分時間處於低 CPU 使用率狀態,Compute Engine 會建議採用虛擬 CPU 數量較少的機器類型。

  • 如果執行個體於大部分時間處於高 CPU 使用率狀態,Compute Engine 會建議採用虛擬 CPU 數量較多的機器類型。

  • 如果執行個體未使用到大部分的記憶體,Compute Engine 會建議採用記憶體較小的機器類型。

  • 如果執行個體大部分時間會主動使用到大部分的記憶體,Compute Engine 會建議採用記憶體較大的機器類型。

Compute Engine 可能會建議使用標準或自訂機器類型。請注意,機器在可用記憶體和 vCPU 數量上有些限制。請特別注意,增加一項資源時,可能同時也需要增加其他資源,才能符合有效機器類型的規格。此外,Compute Engine 只建議使用執行個體執行所在區域提供的機器類型。

詳情請參閱自訂機器類型規格

至於費用差異估算,執行個體的費用是根據前一週的用量 (套用續用折扣前),再推算 30 天所需的費用。系統會再將此資訊與建議的機器類型每月費用 (套用續用折扣前) 進行比較。如需準確的定價和詳細資料,請參閱定價說明文件

查看規模調整建議

Compute Engine 可透過 Google Cloud Platform Console 提供建議。也可以使用 gcloud 工具或 API 透過 Beta 版的建議工具提供建議。

Console

  1. 在 Google Cloud Platform 主控台中,前往「VM 執行個體」頁面。

    前往 VM 執行個體頁面

  2. 選取您的專案並點選 [繼續]
  3. 在執行個體清單上,按一下右上角的 [Columns] (資料欄) 下拉式清單,以切換一或多個資料欄。
  4. 啟用或停用您想要的資料欄,包括 [Recommendation] (建議)
  5. 查看「Recommendation」(建議) 資料欄,檢閱對個別執行個體的建議,也可以根據預估的節省量來排序資料欄。如果執行個體旁邊並未顯示任何建議,表示 Compute Engine 未提供建議。

    建議欄

gcloud

使用 gcloud beta recommender recommendations list 指令,並指定 VM 執行個體最適規模調整建議工具

例如:

gcloud beta recommender recommendations list \
    --project my-project \
    --location us-central1-a \
    --recommender=google.compute.instance.MachineTypeRecommender \
    --format=yaml


---
content:
  ...
    operationGroups:
    - operations:
      - action: test
        path: /machineType
        resource: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/so-inst-2
        resourceType: compute.googleapis.com/Instance
        valueMatcher:
          matchesPattern: .*zones/us-central1-a/machineTypes/n1-standard-4
      - action: replace
        path: /machineType
        resource: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/so-inst-2
        resourceType: compute.googleapis.com/Instance
        value: zones/us-central1-a/machineTypes/custom-2-5120

description: Save cost by changing machine type from n1-standard-4 to custom-2-5120.
...
name: projects/548293842938/locations/us-central1-a/recommenders/google.compute.instance.MachineTypeRecommender/recommendations/5c3b62bd-87c3-4d13-9c31-f80c7cbe412f
...

回應會包括以下欄位:

詳情請參閱建議工具說明文件。

API

將 Beta 版的 Recommender API 與 VM 執行個體最適規模調整建議工具 ID 搭配使用。

如果您還不熟悉呼叫 GCP API 的驗證必要條件,請參閱驗證總覽

以下 bash 範例指令碼將使用者驗證流程與 OAuth 用戶端憑證搭配使用。此指令碼會使用 Google OAuth2l 指令列工具取得 OAuth 2.0 存取憑證,然後使用該憑證發出 curl 要求。

PROJECT_ID=my-project
LOCATION=us-central1-c
RECOMMENDER_ID=google.compute.instanceGroupManager.MachineTypeRecommender
OAUTH_JSON=~/client_secrets.json  # credentials for service account
OAUTH_HEADER="$(oauth2l header --json $OAUTH_JSON cloud-platform)"

curl -H "$OAUTH_HEADER" https://recommender.googleapis.com/beta/projects/$PROJECT_ID/locations/$LOCATION/recommenders/$RECOMMENDER_ID/recommendations

回應會包括以下欄位:

詳情請參閱建議工具說明文件。

建立執行個體的 24 小時內,系統會顯示針對該執行個體的建議。若變更執行個體的機器類型,Compute Engine 會在變更後的 24 小時內提供進一步的建議。

之後,系統會在當天定期重新整理 VM 執行個體建議。

根據建議調整執行個體規模

如果您決定採用 Compute Engine 提供的建議,可以直接在建議畫面中調整執行個體的規模,也可以手動逐步執行查看規模調整建議時所傳回的作業。

Console

  1. 在 Google Cloud Platform Console 的「VM 執行個體」頁面上,對要調整規模的執行個體按一下建議文字。

    建議連結

  2. 這時會出現彈出式視窗,內有更多詳細資料,並會顯示 [Apply] (套用) 按鈕,按一下此按鈕即可將建議套用至執行個體。當您按一下此按鈕時,Compute Engine 即停止執行個體、變更其機器類型,然後重新啟動執行個體。

  3. 也可以按一下 [自訂] 連結,按喜好自訂執行個體。

    建議詳細資料彈出式視窗

  4. 按一下 [Apply] (套用) 按鈕即可套用變更。

gcloud

詳情請參閱變更機器類型

API

詳情請參閱變更機器類型

關閉及還原建議

建議使用完畢後,可以從 Console 中將其關閉。在 Console 中,關閉建議會從預估節省費用總計中移除建議項目,同時將建議的外觀縮到最小並顯示為暗灰色。

透過 Console 執行建議,並不會影響 Recommender API 傳回的建議清單或狀態。如要管理 Recommender API 傳回的建議狀態,請參閱使用 API 一文。

在 Console 中關閉單一建議:

  1. 在「VM instances」(VM 執行個體) 頁面上,按一下想要關閉的建議文字。

  2. 這時會出現彈出式視窗,內有更多詳細資料,並會顯示 [Dismiss recommendation] (關閉建議) 按鈕。

    關閉建議

  3. 按一下 [Dismiss recommendation] (關閉建議)

若要關閉所有建議,請按一下「VM instances」(VM 執行個體) 頁面上的 [Dismiss all] (全部關閉) 按鈕。

關閉建議

還原建議:

  1. 在 Google Cloud Platform Console 的「VM 執行個體」頁面中,按一下您要還原的暗灰色建議文字。

    已關閉的建議

  2. 這時會出現彈出式視窗,內有更多詳細資料,並會顯示 [Restore recommendation] (還原建議) 按鈕。

    關閉建議

  3. 按一下 [Restore recommendation] (還原建議)

透過 Monitoring 代理程式取得更精確的建議

Stackdriver 提供監控代理程式,可自您的 VM 執行個體收集額外的磁碟、CPU、網路和處理程序指標。如要收集這類資料,請在 VM 執行個體上安裝 Monitoring 代理程式,這樣代理程式就能存取系統資源和應用程式服務。

若在 VM 執行個體上安裝並執行監控代理程式,就會自動使用代理程式收集的 CPU 與記憶體指標,來運算規模調整建議。與預設的 Compute Engine 指標相較之下,Monitoring 代理程式提供的代理程式指標對於執行個體的資源使用率,可提供更加詳盡的深入分析資訊。 這可讓建議引擎更有效地預估資源需求,並提出更精確的建議。

若要安裝代理程式,請參閱安裝監控代理程式一文。

後續步驟