為 VM 執行個體套用機器類型建議

Compute Engine 會提供機型建議,協助您達到最佳虛擬機器 (VM) 執行個體資源使用率。這些建議是根據 Cloud Monitoring 服務在過去 8 天內收集的系統指標自動產生。依據這些建議調整執行個體機器類型的規模,即可提高執行個體資源的使用效率。此功能亦稱為「最適規模推薦」。

Compute Engine 也可讓您自訂機型和記憶體相關建議 (搶先版)。如要進一步瞭解 VM 執行個體可用的機型,請參閱機型說明文件。

事前準備

  • 參閱 Google Cloud 控制台說明文件。
  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 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 進行驗證」。

定價

機型建議不會產生費用。如果您套用調整執行個體機型大小的最佳化建議,系統會根據您選擇的機型收費。

限制與應用實例

在下列情況下,系統不會提供機型建議:

  • 使用 App Engine 彈性環境、Dataflow、Google Kubernetes Engine 或 Managed Service for Apache Spark 建立的 VM 執行個體
  • 具有暫時性磁碟、GPU 或 TPU 的 VM 執行個體
  • 記憶體最佳化機器家族中的 VM 執行個體

建議演算法適用於遵循每週模式的工作負載、隨時間成長或縮減的工作負載、持續未充分運用資源的工作負載,或是因資源不足而持續受到節流的工作負載。在這種情況下,8 天的歷來資料就足以預測機器大小的變化如何提升資源用量。

機型建議演算法較不適合下列工作負載:

  • 不常達到尖峰的工作負載 (例如每月出現尖峰),因為 8 天份的資料不足以擷取或預測 CPU 的波動。
  • 工作負載的 CPU 使用率短時間內大幅上升,因為建議是根據 60 秒間隔的平均 CPU 使用率計算。系統可能無法快速產生建議,以擷取短暫的尖峰資料。詳情請參閱「機型建議的運作方式」。

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

在某些罕見情況下,您可能會在套用建議時看見錯誤訊息。 舉例來說,建議的機型可能太小,無法容納所連結的磁碟數量,也可能不符合映像檔或授權的資源需求,或者可能無法在特定可用區使用。

如果預估每月節省的費用低於 $10 美元,我們也不會顯示建議。

機型建議的運作方式

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 天所需的費用。然後與建議機型的月費 (續用折扣前) 比較。如需準確的定價和詳細資料,請參閱定價說明文件。

系統會根據我們為機器提供的指標,監控 CPU 和記憶體使用率,並據此產生建議。如要提高建議的準確度,建議安裝 Ops 代理程式。

查看機型建議

Compute Engine 會透過Google Cloud console提供建議。您也可以透過 Recommender,使用 gcloud CLI 或 REST 取得建議。

控制台

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體頁面

  2. 查看「Recommendation」(建議) 資料欄,檢閱對個別執行個體的建議,也可以根據預估的節省量來排序資料欄。如果執行個體旁邊並未顯示任何建議,表示 Compute Engine 未提供建議。

    建議欄。

gcloud

使用 gcloud recommender recommendations list 指令,並指定 VM 執行個體大小合適度建議工具。

gcloud recommender recommendations list \
    --recommender=google.compute.instance.MachineTypeRecommender \
    --project=PROJECT_ID \
    --location=ZONE \
    --format=[config | csv | default | diff | flattened | get | json | list | object | table | text | value | yaml]

更改下列內容:

  • PROJECT_ID:專案的 ID。
  • ZONE:包含執行個體的可用區,可列出建議。
  • FORMAT:偏好的輸出格式。
    • csv、diff、get、table 和 value 需要非空白的投影。

gcloud recommender recommendations list 指令的輸出內容包含下列欄位:

  • name:建議名稱。
  • description:建議的說明,方便使用者瞭解。
  • operationGroups:按順序執行即可套用建議的一組作業。

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

REST

使用 Recommender API 和 VM 執行個體大小合適度建議工具 ID。

PROJECT_ID=my-project
LOCATION=us-central1-c
RECOMMENDER_ID=google.compute.instance.MachineTypeRecommender

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$LOCATION/recommenders/$RECOMMENDER_ID/recommendations

回應會包括以下欄位:

  • name:建議名稱。
  • description:建議的說明,方便使用者瞭解。
  • operationGroups:您可以依序執行的作業群組,套用建議。

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

建立執行個體的 24 小時內,系統會顯示針對該執行個體的建議。如果您變更執行個體的機型,Compute Engine 會在變更後 24 小時內提供任何其他建議。

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

根據建議變更機器類型

如果您決定要套用 Compute Engine 提供的建議,可以直接從建議畫面變更執行個體的機器類型,也可以手動逐步完成查看機器類型建議時傳回的作業。

控制台

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體頁面

    如果執行個體有最佳化建議,就會顯示在「最佳化建議」欄中。

  2. 按一下要調整大小的執行個體所對應的建議文字。

    建議欄。

  3. 系統會開啟對話方塊,顯示建議的相關資訊。 如要套用最佳化建議並變更 VM 機型,請按一下「套用」。 Compute Engine 會停止執行個體、變更機型,然後重新啟動執行個體。

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

    「最佳化建議詳細資料」對話方塊

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

gcloud

詳情請參閱「變更機型」。

REST

詳情請參閱「變更機型」。

關閉及還原最佳化建議

使用完建議後,您可以從控制台關閉建議。在控制台中,關閉建議會從總節省金額預估值中移除該建議,並將建議縮到最小,使其顯示為灰色。

透過控制台採取建議行動,不會影響 Recommender API 傳回的建議清單或狀態。如要管理 Recommender API 傳回的建議狀態,請參閱使用 API 一文。

如何在主控台中關閉單一建議:

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體頁面

    如果執行個體有最佳化建議,就會顯示在「最佳化建議」欄中。

  2. 按一下要關閉的最佳化建議文字。

    建議欄。

  3. 系統會開啟對話方塊,顯示更多詳細資料和「關閉建議」按鈕。

    「建議詳細資料」對話方塊視窗。

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

如要從控制台關閉所有最佳化建議,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體頁面

  2. 按一下「全部關閉」按鈕。

關閉所有最佳化建議。

還原建議:

  1. 在 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面中,按一下要還原的暗淡建議文字。

    「建議詳細資料」對話方塊

  2. 系統會開啟對話方塊,顯示更多詳細資料和「還原建議」按鈕。

    關閉建議

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

使用 Ops 代理程式取得更精準的建議

Cloud Monitoring 提供 Ops Agent,可從 VM 執行個體收集額外的磁碟、CPU、網路和處理程序指標。如要收集這項資料,請在 VM 執行個體上安裝 Ops Agent,以便存取系統資源和應用程式服務。

如果作業套件代理程式已安裝在 VM 執行個體上並正在執行,系統會自動使用代理程式收集的 CPU 和記憶體指標,計算機型建議。相較於預設的 Compute Engine 指標,作業套件代理程式提供的代理程式指標可更深入瞭解執行個體的資源用量。這有助於建議引擎更準確地估算資源需求,並提供更精確的建議。

如要安裝 Ops Agent,請參閱「安裝 Ops Agent」。

後續步驟