自动续订承诺


如果您的工作负载具有可预测的资源需求,则可以通过基于资源的承诺使用折扣 (CUD) 来降低费用。您可以通过购买基于资源的承诺(1 年或 3 年)收到基于资源的 CUD。默认情况下,基于资源的承诺会在承诺期结束时到期。承诺到期后,您必须购买新的承诺才能继续享受 CUD。如果自动续订基于资源的承诺,您无需在该承诺每次到期时手动重新购买承诺。通过自动续订承诺,您可以无限期地延长现有承诺,并继续享受这些承诺的资源的 CUD。

本文档介绍了自动续订的工作方式,并向您展示了如何执行以下操作:

  • 在购买新承诺时启用自动续订。
  • 为现有的有效承诺启用和停用自动续订。

自动续订的工作方式

为基于资源的承诺启用自动续订后,每次承诺到期时,Compute Engine 都会自动为该承诺续订一个新期限。为某个承诺启用自动续订后,除非您手动将其停用,否则该设置会保持启用状态。

您可以为新承诺和现有承诺启用自动续订。

  • 对于新承诺,在购买承诺时,您可以选择是否指定自动续订承诺。
  • 对于尚未启用自动续订的有效现有承诺,您可以修改承诺的属性并启用自动续订。不能为已过期的承诺启用自动续订。

必须为要在项目中自动续订的每个承诺单独启用自动续订。

为承诺启用自动续订后,承诺的当前结束日期将成为其续订日期。承诺的所有其他属性会保持不变。在当前结束日期(续订日期)的凌晨 0 点(美国和加拿大太平洋时间(UTC-8 或夏令时期间的 UTC-7)),您的承诺的续订期限将自动开始。续订承诺的期限长度与原始承诺相同,并且您可以享受相同的折扣。在续订期限结束时,Compute Engine 将再次为您的承诺续订新的一期,除非您在承诺期限内手动停用自动续订。

在承诺到期之前,您可以随时为其启用自动续订。同样,您也可以在承诺的续订日期之前随时为其停用自动续订。例如,假设您有一个 1 年期承诺,且该承诺设置为于 2024 年 1 月 1 日凌晨 12 点 (UTC-8) 到期,则您可以在 2024 年 1 月 1 日凌晨 12 点 (UTC-8) 之前随时为该承诺启用自动续订。启用自动续订后,您的承诺会在 2024 年 1 月 1 日凌晨 12 点 (UTC-8) 自动续订一年。如果您想停用自动续订,那么您可以在 2025 年 1 月 1 日凌晨 12 点 (UTC-8) 之前随时停用。

为承诺启用自动续订即表示您了解以下事项:

  • 您的承诺会在其当前结束日期自动续订新的一期。
  • 在新的一期中,您将继续为承诺的资源付费。

自动续订示例

假设有一个尚未启用自动续订的 1 年期示例承诺 my-commitment-1。假设您在 2020 年 1 月 1 日购买了该承诺,可以使用 100 个 N2 vCPU。您的承诺将于 2021 年 1 月 1 日结束。假设您对此承诺执行以下一系列操作:

  1. 您在此承诺的此结束日期之前为其启用自动续订。
  2. 在此承诺的期限续订 2 次后,您为此承诺停用自动续订,并让您的承诺在新的结束日期后到期。

下表显示了此承诺在其整个生命周期内的属性的表现情况:

原始期限
(启用自动续订之前)
原始期限
(启用自动续订之后)
第一次自动续订的期限
(自动续订保持启用状态)
第二次自动续订的期限
(停用自动续订之前)
第二次自动续订的期限
(停用自动续订之后)
期限时长 1 年 1 年 1 年 1 年 1 年
折扣 37% 37% 37% 37% 37%
开始日期* 2020 年 1 月 1 日 2020 年 1 月 1 日 2020 年 1 月 1 日 2020 年 1 月 1 日 2020 年 1 月 1 日
结束日期或续订日期 2021 年 1 月 1 日 2021 年 1 月 1 日 2022 年 1 月 1 日 2023 年 1 月 1 日 2023 年 1 月 1 日
结束日期或续订日期当天的操作 承诺按计划结束 承诺按计划续订 承诺按计划续订 承诺按计划续订 承诺按计划结束

*承诺从指定开始日期的凌晨 0 点(美国和加拿大太平洋时间,即 UTC-8 或 UTC-7)开始。
承诺于指定结束日期的凌晨 0 点(美国和加拿大太平洋时间,即 UTC-8 或 UTC-7)结束或续订。
即使承诺期的总持续时间为 3 年或更长时间,自动续订承诺的折扣百分比也会保持不变,因为每个期限的持续时间仍为 1 年。

配额注意事项

您无需申请额外的配额,因为续订的承诺使用与原始承诺相同的配额。如需详细了解承诺配额,请参阅承诺及承诺资源的配额

价格影响

承诺费用是所有承诺的资源的折扣价格总和。在您续订承诺的期限后,系统会重新计算所有承诺的资源的折扣价格,并且可能会发生变化。为了进行这种重新计算,Compute Engine 会使用续订期限生效当天的资源现行按需价格。即使按需价格变化,也会在整个新期限内保留资源的这些价格。

限制

  • 只能为基于资源的承诺启用自动续订。
  • 只能为有效承诺启用自动续订。
  • 如需创建自动续订的承诺,必须使用 gcloud CLI 和 Compute Engine API;无法使用 Google Cloud 控制台执行此操作。但是,您可以使用 gcloud CLI、Compute Engine API 或 Google Cloud 控制台对已生效的承诺启用自动续订。

为承诺启用自动续订

如需让您的承诺在期限结束时自动续订,可通过以下方式之一启用自动续订:

  • 在购买新承诺时启用自动续订
  • 为现有承诺启用自动续订

在购买新承诺时启用自动续订

您可以使用 gcloud CLI 或 REST 在购买新承诺时启用自动续订。

执行此任务所需的权限

您必须拥有以下权限才能执行此任务:

  • 针对项目的 compute.commitments.create

gcloud

如需购买自动续订的承诺,请运行 gcloud commitments create 命令并添加 --auto-renew 标志。

例如,以下 gcloud CLI 命令会创建一个自动续订的 3 年期承诺。

gcloud compute commitments create COMMITMENT \
    --auto-renew \
    --plan=36-month \
    --region=us-west1 \
    --project=PROJECT_ID \
    --resources=vcpu=4,memory=9

替换以下内容:

  • COMMITMENT:新承诺的名称。
  • PROJECT_ID:要在其中创建承诺的项目的 ID。

REST

如需购买自动续订的承诺,请向 regionCommitments.insert 方法发出 POST 请求,并将 autoRenew 字段设置为 true

例如,以下 Compute Engine API 请求会创建一个自动续订的 3 年期承诺。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/commitments

{
  "name": "COMMITMENT",
  "plan": "THIRTY_SIX_MONTH",
  "resources": [
    {
      "type": "VCPU",
      "amount": 4
    },
    {
      "type": "MEMORY",
      "amount": 9
    }
  ],
  "autoRenew": true
}

替换以下内容:

  • COMMITMENT:新承诺的名称。
  • PROJECT_ID:要在其中创建承诺的项目的 ID。

为现有承诺启用自动续订

您可以使用 Google Cloud 控制台、gcloud CLI 或 REST 为现有承诺启用自动续订。

执行此任务所需的权限

您必须拥有以下权限才能执行此任务:

  • 项目或组织的 compute.commitments.update 权限

控制台

  1. 在 Google Cloud 控制台中,前往承诺使用折扣页面。

    转到“承诺使用折扣”

  2. 承诺列表硬件承诺下,点击承诺的名称

  3. 硬件承诺详情页面上,点击自动续订切换开关。

gcloud

如需为现有承诺启用自动续订,请运行 gcloud commitments update 命令并添加 --auto-renew 标志。

gcloud compute commitments update COMMITMENT \
    --auto-renew

COMMITMENT 替换为该承诺的名称。

REST

如需为现有承诺启用自动续订,请向 regionCommitments.update 方法发出 POST 请求,并将 autorenew 字段设置为 true

例如,以下 Compute Engine API 请求为 us-west1 区域中的承诺启用自动续订。

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/commitments

{
  "name": "COMMITMENT",
  "autoRenew": true
}

替换以下内容:

  • COMMITMENT:要更新的承诺的名称。
  • PROJECT_ID:要在其中更新承诺的项目的 ID。

为承诺停用自动续订

当您购买新承诺时,除非您明确启用自动续订,否则它默认处于停用状态。如果您不希望承诺在期限结束时自动续订,则可以执行以下任一操作:

  • 购买新承诺时保持自动续订功能处于禁用状态。
  • 为现有承诺停用自动续订

购买新承诺时停用自动续订

如需查看购买默认停用自动续订的新承诺的详细步骤,请参阅以下部分。选择与您的使用场景相关的选项。

为现有承诺停用自动续订

您可以使用 Google Cloud 控制台、gcloud CLI 或 Compute Engine API 为现有承诺停用自动续订。

执行此任务所需的权限

您必须拥有以下权限才能执行此任务:

  • 项目或组织的 compute.commitments.update 权限

控制台

  1. 在 Google Cloud 控制台中,前往承诺使用折扣页面。

    转到“承诺使用折扣”

  2. 承诺列表硬件承诺下,点击承诺的名称

  3. 硬件承诺详情页面上,点击自动续订切换开关。

gcloud

使用 gcloud commitments update 命令为现有承诺停用自动续订。

gcloud compute commitments update COMMITMENT --no-auto-renew

COMMITMENT 替换为该承诺的名称。

REST

使用 regionCommitments.update 方法为现有承诺停用自动续订。

例如,以下 Compute Engine API 请求可为 us-west1 区域中的承诺停用自动续订。

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/commitments

{
  "name": "COMMITMENT",
  "autoRenew": false
}

替换以下内容:

  • COMMITMENT:要更新的承诺的名称。
  • PROJECT_ID:要在其中更新承诺的项目的 ID。

后续步骤