設定閒置 VM 最佳化建議

本頁說明如何查看及修改閒置 VM 建議的設定。您可能需要修改設定,增加收到的建議數量,或避免將工作負載刻意縮小的 VM 誤分類為閒置 VM。

事前準備

  • 如果尚未設定驗證,請先完成設定。 「驗證」是指驗證身分的程序,確認您有權存取 Trusted Cloud by S3NS 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列任一選項,向 Compute Engine 進行驗證:

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. 安裝 Google Cloud CLI,然後 使用同盟身分登入 gcloud CLI。 登入後,執行下列指令初始化 Google Cloud CLI:

      gcloud init
    2. 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」。

定價

可設定的建議免費提供。使用建議減少資源用量,有助於節省成本。

設定建議

如要設定閒置 VM 建議,請按照下列步驟操作:

  1. 取得目前的設定,以取得設定的 JSON 檔案。
  2. 編輯 JSON 格式的設定檔。
  3. 上傳新的設定檔,即可套用變更。

取得目前的設定

您可以使用 Google Cloud CLI 或 REST,取得專案目前閒置 VM 建議的設定。

gcloud

如要取得目前的設定參數,請使用 gcloud recommender recommender-config describe 指令,並將 google.compute.instance.IdleResourceRecommender 做為建議事項 ID:

gcloud recommender recommender-config describe google.compute.instance.IdleResourceRecommender \
  --project=PROJECT_ID \
  --location=ZONE

更改下列內容:

  • PROJECT_ID:您的專案 ID
  • ZONE:要取得目前設定的區域

例如:

gcloud recommender recommender-config describe google.compute.instance.IdleResourceRecommender \
  --project=my-project \
  --location=us-central1-c

指令會傳回建議事項設定,包括可修改的子欄位 params.observation_period

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "1209600s"
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\"",
  "updateTime": "2021-02-03T04:41:15.330351Z"
}

REST

如要擷取目前的設定,請使用 recommenders.getConfig 方法,並將 google.compute.instance.IdleResourceRecommender 指定為建議事項 ID:

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

更改下列內容:

  • PROJECT_ID:要擷取建議事項設定的專案 ID。
  • ZONE:包含專案的可用區。

在指令列執行下列指令,取得專案的建議事項設定:

PROJECT_ID=PROJECT_ID
ZONE=ZONE
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: ${PROJECT_ID}" \
https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

這項指令會傳回建議事項設定,包括可修改的子欄位:params.observation_period

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "1209600s"
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\"",
  "updateTime": "2021-02-03T04:41:15.330351Z"
}

更新專案的設定

如要更新閒置 VM 建議的設定,請修改 observation_period 的值,然後上傳專案的新設定。

您可以將觀察期設為 1 到 14 天之間的值,方法是使用字串,其中包含總秒數,後面接著字母 s

  • 如要將觀察期間設為 1 天,請使用 "86400s"
  • 如要使用 14 天的觀察期,請使用 "1209600s"

上傳新設定後,大約需要 48 小時才會生效。在此之前,系統會使用先前的設定生成建議。

gcloud

如要更新設定參數,請使用 gcloud recommender recommender-config update 指令,並將 google.compute.instance.IdleResourceRecommender 做為建議事項 ID:

gcloud recommender recommender-config update google.compute.instance.IdleResourceRecommender\
  --project=PROJECT_ID \
  --location=ZONE \
  --config-file=CONFIG_FILE_PATH \
  --etag=ETAG

更改下列內容:

  • PROJECT_ID:您的專案 ID
  • ZONE:要取得目前設定的區域
  • CONFIG_FILE_PATH:包含目前設定的 JSON 檔案路徑
  • ETAG:目前設定的 etag 值

在設定檔中,只指定包含更新後設定參數的 recommenderGenerationConfig 物件。舉例來說,如要指定五天的觀察期,請使用下列設定檔:

{
  "params": {
    "observation_period": "432000s"
  }
}

如果指令成功,會傳回類似以下的內容,顯示您剛修改參數的新設定。

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "432000s"
    }
  },
  "etag": "\"1245f9435cd01ea8\"",
  "updateTime": "2021-02-03T05:00:05Z"
}

REST

如要更新設定,請使用 recommenders.updateConfig 方法,並將 google.compute.instance.IdleResourceRecommender 指定為推薦工具 ID:

PATCH https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "1209600s"
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\""
}

更改下列內容:

  • PROJECT_ID:要修改建議事項設定的專案 ID。
  • ZONE:包含專案的可用區。

將要求主體儲存在檔案中,例如 config.json。接著,您可以使用類似下列的指令,在更新專案的建議事項設定時參照該檔案:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-H "x-goog-user-project: ${PROJECT_ID}" \
-d @config.json \
https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

POST 指令會傳回類似下列的回應主體,顯示您剛修改的參數和新設定。

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "432000s"
    }
  },
  "etag": "\"1245f9435cd01ea8\"",
  "updateTime": "2021-02-03T05:00:05Z"
}

後續步驟