配置空闲预留建议


本页面介绍了如何查看和修改空闲的按需预留建议的配置。您可能需要修改配置,以增加您收到的建议数量,或减少建议数量,以删除您计划使用的预留。

准备工作

  • 如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以通过选择以下选项之一向 Compute Engine 进行身份验证:

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

    gcloud

    1. 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.

    2. Set a default region and zone.
    3. 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 时进行身份验证

      配置建议

      如需配置空闲预留建议,请执行以下操作:

      1. 获取当前配置以获取配置的 JSON 文件。
      2. 修改 JSON 格式的配置文件。
      3. 上传新的配置文件以应用更改。

      获取当前配置

      您可以使用 Google Cloud CLI 或 REST 获取项目的空闲预留建议的当前配置。

      请使用以下方法之一完成此任务。

      gcloud

      如需获取当前配置参数,请使用 gcloud recommender recommender-config describe 命令并将 google.compute.IdleResourceRecommender 用作 Recommender ID:

      gcloud recommender recommender-config describe google.compute.IdleResourceRecommender \
        --location=ZONE --billing-account=BILLING_ACCOUNT_ID
      

      ZONE 替换为您要获取当前配置的可用区。

      例如:

      gcloud recommender recommender-config describe google.compute.IdleResourceRecommender \
        --location=us-central1-c --billing-account=my-billing-account-id
      

      该命令会返回 Recommender 配置,包括可修改的子字段 params.idle_reservation_lookback_period

      {
        "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.IdleResourceRecommender/config",
        "recommenderGenerationConfig": {
          "params": {
            "idle_reservation_lookback_period": "P7D"
          }
        },
        "etag": "\"2f3c9b65cda6a4ba\"",
        "updateTime": "2024-06-03T04:41:15.330351Z"
      }
      

      REST

      如需检索当前配置,请使用 recommenders.getConfig 方法并将 google.compute.IdleResourceRecommender 指定为 Recommender ID:

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

      ZONE 替换为包含您的项目的可用区。

      在命令行中,执行以下命令以获取项目的 Recommender 配置:

      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.IdleResourceRecommender/config
      

      该命令会返回 Recommender 配置,包括您可以修改的子字段:params.idle_reservation_lookback_period

      {
        "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.IdleResourceRecommender/config",
        "recommenderGenerationConfig": {
          "params": {
            "idle_reservation_lookback_period": "P7D"
          }
        },
        "etag": "\"2f3c9b65cda6a4ba\"",
        "updateTime": "2024-06-03T04:41:15.330351Z"
      }
      

      更新项目的配置

      如需更新空闲虚拟机建议的配置,请修改 idle_reservation_lookback_period 的值,然后上传项目的新配置。

      您可以将观察期设置为 7 天到 30 天之间的值,使用以 P 开头的字符串,然后是表示天数的整数(最小值为 7,最大值为 30),后跟 D,例如:

      • 对于 7 天的观察期,请使用 "P7D"
      • 对于 30 天的观察期,请使用 "P30D"

      上传新配置后,大约需要 48 小时才能生效。在此之前,任何生成的建议都会使用之前的配置。

      gcloud

      如需更新配置参数,请使用 gcloud recommender recommender-config update 命令并将 google.compute.IdleResourceRecommender 用作 Recommender ID:

      gcloud recommender recommender-config update google.compute.IdleResourceRecommender\
        --location=ZONE \
        --config-file=CONFIG_FILE_PATH \
        --etag=ETAG \
        --billing-account=BILLING_ACCOUNT_ID
      

      请替换以下内容:

      • ZONE:您要获取其当前配置的可用区
      • CONFIG_FILE_PATH:包含当前配置的 JSON 文件的路径
      • ETAG:当前配置的 ETag 值
      • BILLING_ACCOUNT_ID:结算账号的 ID

      在配置文件中,仅指定包含更新后的配置参数的 recommenderGenerationConfig 对象。例如,如需指定 21 天的观察期,请使用以下配置文件:

      {
        "params": {
          "idle_reservation_lookback_period": "P21D"
        }
      }
      

      如果命令成功,则返回类似于以下内容的响应正文,其中显示了新配置以及您刚刚修改的参数。

      {
        "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.IdleResourceRecommender/config",
        "recommenderGenerationConfig": {
          "params": {
            "idle_reservation_lookback_period": "P21D"
          }
        },
        "etag": "\"1245f9435cd01ea8\"",
        "updateTime": "2024-06-03T05:00:05Z"
      }
      

      REST

      如需更新配置,请向 recommenders.updateConfig 方法发出 PATCH 请求,并将 google.compute.IdleResourceRecommender 指定为 Recommender ID:

      PATCH https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.IdleResourceRecommender/config
      
      {
        "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.IdleResourceRecommender/config",
        "recommenderGenerationConfig": {
          "params": {
            "idle_reservation_lookback_period": "P21D"
          }
        },
        "etag": "\"2f3c9b65cda6a4ba\""
      }
      

      请替换以下内容:

      • PROJECT_ID:要修改 Recommender 配置的项目的 ID。
      • ZONE:包含您的项目的可用区。

      将请求正文保存在文件(例如 config.json)中。然后,您可以在更新项目的 Recommender 配置时使用类似于以下命令的命令来引用该文件:

      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.IdleResourceRecommender/config
      

      POST 命令会返回类似于以下内容的响应正文,其中显示了包含您刚修改的参数的新配置。

      {
        "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.IdleResourceRecommender/config",
        "recommenderGenerationConfig": {
          "params": {
            "idle_reservation_lookback_period": "P21D"
          }
        },
        "etag": "\"1245f9435cd01ea8\"",
        "updateTime": "2024-06-03T05:00:05Z"
      }
      

      后续步骤