本文档介绍如何使用 Google Cloud 控制台、gcloud CLI 或 REST 购买未附加预留的基于资源的承诺。
如需详细了解包含附加预留的承诺,请参阅将预留附加到基于资源的承诺。
如需为 GPU 和/或本地 SSD 磁盘购买承诺,请参阅购买包含附加预留的基于资源的承诺。
准备工作
-
如果您尚未设置身份验证,请进行设置。身份验证用于验证您的身份,以便访问 Google Cloud 服务和 API。如需从本地开发环境运行代码或示例,您可以通过选择以下选项之一向 Compute Engine 进行身份验证:
选择标签页以了解您打算如何使用本页面上的示例:
控制台
当您使用 Google Cloud 控制台访问 Google Cloud 服务和 API 时,无需设置身份验证。
gcloud
-
安装 Google Cloud CLI,然后 使用联合身份登录 gcloud CLI。 登录后,运行以下命令来初始化 Google Cloud CLI:
gcloud init
-
- 设置默认区域和可用区。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭证。
安装 Google Cloud CLI,然后 使用联合身份登录 gcloud CLI。
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
所需的角色
如需获得购买基于资源的承诺所需的权限,请让您的管理员为您授予项目的 Compute Admin (roles/compute.admin) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含购买基于资源的承诺所需的 compute.commitments.create 权限。
默认情况下,项目所有者有权购买基于资源的承诺。不过,所有者可以创建包含或排除特定用户的自定义角色。请了解访问权限控制,以确保您有权购买基于资源的承诺。
购买不含附加预留的硬件承诺
您可以使用 Google Cloud 控制台、gcloud CLI 或 REST 购买不含附加预留的基于硬件资源的承诺。
购买承诺后,您的承诺将于次日美国和加拿大太平洋时间(UTC-8,或夏令时期间为 UTC-7)上午 12 点生效。 Compute Engine 会为项目中购买承诺的每个区域维护项目安全锁。当您为项目中的任何区域购买新承诺时,Compute Engine 会将该区域的安全锁与新创建的承诺相关联。
从承诺购买到激活的这段时间内,承诺的状态保持为 NOT_YET_ACTIVE(在Google Cloud 控制台中保持为 PENDING)。激活后,您的承诺状态将更改为 ACTIVE。
例如,假设您在美国和加拿大太平洋时间(UTC-8 或 UTC-7)2024 年 1 月 20 日晚上 10:00 购买了承诺。Compute Engine 会立即创建您的承诺,其状态为 NOT_YET_ACTIVE。您的承诺将于 2024 年 1 月 21 日凌晨 12:00(美国和加拿大太平洋时间,即 UTC-8 或 UTC-7)变为 ACTIVE。
控制台
在使用 Google Cloud 控制台购买承诺之前,先选择要用于购买承诺的项目。如果为 Cloud Billing 账号启用了 CUD 共享,则您可以使用该 Cloud Billing 账号中的任何项目购买承诺。选择项目后,请执行以下操作:
在 Google Cloud 控制台中,前往承诺使用折扣页面。 前往“承诺使用折扣”
点击 购买承诺。 系统会显示购买承诺页面。
在名称字段中,输入承诺的名称。
在区域字段中,选择您要购买承诺的区域。
在承诺类型字段中,选择承诺的资源的机器家族系列。对于 vCPU 和/或内存,您可以选择以下承诺类型:
- 对于 A2 机器类型,请选择加速器优化 A2
- 对于 A3 Edge 和 A3 High 机器类型,请选择加速器优化 A3
- 对于 A3 Mega 机器类型,请选择加速器优化 A3 Mega
- 对于 G2 机器类型,请选择图形优化 G2
- 对于 G4 机器类型,请选择图形优化 G4
- 对于 C2 机器类型,请选择计算优化 C2
- 对于 C2D 机器类型,请选择计算优化 C2D
- 对于 H3 机器类型,请选择计算优化 H3
- 对于 H4D 机器类型,请选择计算优化 H4D
- 对于 C3 机器类型,请选择通用 C3
- 对于 C3D 机器类型,请选择通用 C3D
- 对于 C4 机器类型,请选择通用 C4
- 对于 C4A 机器类型,请选择通用 C4A
- 对于 C4D 机器类型,请选择通用 C4D
- 对于 C4N 机器类型,请选择网络优化型 C4N
- 对于 E2 机器类型,请选择通用 E2
- 对于 N1 机器类型,请选择通用 N1
- 对于 N2 机器类型,请选择通用 N2
- 对于 N2D 机器类型,请选择通用 N2D
- 对于 N4 机器类型,请选择通用 N4
- 对于 N4D 机器类型,请选择通用 N4D
- 对于 N4A 机器类型,请选择通用 N4A
- 对于 Tau T2D 机器类型,请选择通用 T2D
- 对于 M1 或 M2 机器类型,请选择内存优化 M1/M2
- 对于 M3 机器类型,请选择内存优化 M3
- 对于配备 6 TB 内存的 M4 机器类型,请选择内存优化 M4 6TB
- 对于 M4 机器类型,请选择内存优化 M4
- 对于配备 6 TB 内存的 X4 机器类型,请选择内存优化 X4 480 6T
- 对于配备 8 TB 内存的 X4 机器类型,请选择内存优化 X4 480 8T
- 对于配备 12 TB 内存的 X4 机器类型,请选择内存优化 X4 960 12T
- 对于配备 16 TB 内存的 X4 机器类型,请选择内存优化型 X4 960 16T
- 对于配备 24 TB 内存的 X4 机器类型,请选择内存优化 X4 1440 24T
- 对于配备 32 TB 内存的 X4 机器类型,请选择内存优化型 X4 1920 32T
- 对于 Z3 机器类型,请选择存储优化 Z3
在合约详情部分中,执行以下操作:
如需为承诺指定 vCPU,请在核心数字段中输入 vCPU 的数量。
如需为承诺指定内存,请在内存字段中输入内存量(以 GB 为单位)。
您只能以 0.25 GB 为增量指定内存。如需为承诺指定自定义内存值,请改用 gcloud CLI 或 REST。
如需为承诺指定本地 SSD 磁盘,请展开 GPU 和本地 SSD 部分。然后,在本地 SSD 字段中指定磁盘数量。在未附加预留的情况下,您只能为以下承诺类型指定本地 SSD 磁盘:
- 通用 C4、C4A 或 C4D
- 加速器优化型 G4
- 存储优化型 Z3
- 计算优化型 H4D
在条款部分中,执行以下操作:
在摘要窗格中,查看您的承诺详细信息和任何潜在的配额限制。
如需完成购买承诺的过程,请执行以下操作:
gcloud
使用 gcloud CLI 运行 gcloud compute commitments create 命令:
gcloud compute commitments create COMMITMENT_NAME \
--region REGION \
--project PROJECT_ID \
--resources vcpu=NUMBER_VCPUS,memory=MEMORY,local-ssd=LOCAL_SSD \
--plan PLAN \
--type COMMITMENT_TYPE \
--custom-end-time=CUSTOM_END_DATE \
--auto-renew
替换以下内容:
COMMITMENT_NAME:您想要用来标识此承诺的名称。REGION:此承诺所适用的区域。每个区域都有不同的承诺价格。如需了解当前价格,请参阅价格表。PROJECT_ID:要为其创建承诺的项目的 ID。NUMBER_VCPUS:您要购买承诺的 vCPU 数量。vCPU 数量必须是等于或大于 0 的整数,可以是偶数或奇数。MEMORY:您要购买承诺的内存量(以 MB 或 GB 为单位)。例如1000MB。对于 gcloud CLI,您可以使用 MB 或 GB 指定内存。如果您未指定单位,Compute Engine 将使用 GB 作为默认单位。不过,请注意,使用 REST 时,Compute Engine 会使用 MB 作为默认单位。LOCAL_SSD:可选。本地 SSD 存储空间量,必须以 GB 为单位指定;例如,375GB。仅支持为本地 SSD 磁盘购买不含附加预留的承诺,且仅限 C4、C4A、C4D、G4、H4D 或 Z3 承诺类型。PLAN:承诺方案,用于确定 CUD 费率和预设期限。指定12-month或36-month。COMMITMENT_TYPE:以下各项中的一项:- 对于 A2 机器类型,请使用
accelerator-optimized - 对于 A3 Edge 和 A3 High 机器类型,请使用
accelerator-optimized-a3 - 对于 A3 Mega 机器类型,请使用
accelerator-optimized-a3-mega - 对于 G2 机器类型,请使用
graphics-optimized - 对于 G4 机器类型,请使用
graphics-optimized-g4 - 对于 C2 机器类型,请使用
compute-optimized - 对于 C2D 机器类型,请使用
compute-optimized-c2d - 对于 C3 机器类型,请使用
compute-optimized-c3 - 对于 C3D 机器类型,请使用
compute-optimized-c3d - 对于 H3 机器类型,请使用
compute-optimized-h3 - 对于 H4D 机器类型,请使用
compute-optimized-h4d - 对于 N1 机器类型,请使用
general-purpose - 对于 C4 机器类型,请使用
general-purpose-c4 - 对于 C4A 机器类型,请使用
general-purpose-c4a - 对于 C4D 机器类型,请使用
general-purpose-c4d - 对于 C4N 机器类型,请使用
network-optimized-c4n - 对于 E2 机器类型,请使用
general-purpose-e2 - 对于 N1 机器类型,请使用
general-purpose-n2 - 对于 N2D 机器类型,请使用
general-purpose-n2d - 对于 N1 机器类型,请使用
general-purpose-n4 - 对于 N4D 机器类型,请使用
general-purpose-n4d - 对于 N4A 机器类型,请使用
general-purpose-n4a - 对于 Tau T2D 机器类型,请使用
general-purpose-t2d - 对于 M1 或 M2 机器类型,请使用
memory-optimized - 对于 M3 机器类型,请使用
memory-optimized-m3 - 对于配备 6 TB 内存的 M4 机器类型,请使用
memory-optimized-m4-6tb - 对于其他 M4 机器类型,请使用
memory-optimized-m4 - 对于配备 6 TB 内存的 X4 机器类型,请使用
memory-optimized-x4-6t - 对于配备 8 TB 内存的 X4 机器类型,请使用
memory-optimized-x4-8t - 对于配备 12 TB 内存的 X4 机器类型,请使用
memory-optimized-x4-12t - 对于配备 16 TB 内存的 X4 机器类型,请使用
memory-optimized-x4-960-16t - 对于配备 24 TB 内存的 X4 机器类型,请使用
memory-optimized-x4-1440-24t - 对于配备 32 TB 内存的 X4 机器类型,请使用
memory-optimized-x4-1920-32t - 对于 Z3 机器类型,请使用
storage-optimized-z3
- 对于 A2 机器类型,请使用
CUSTOM_END_DATE:可选。期限的自定义结束日期,其格式必须为YYYY-MM-DD。--auto-renew:可选。在承诺期限结束时自动续订承诺。
示例
以下示例在 myproject 项目和 us-central1 区域中购买承诺。
示例 1:购买通用 N1 资源的承诺
如需购买 1 年期通用 N1 资源承诺,其中包含 5 个 vCPU 和 32.5 GB 内存(相当于 33280 MB),请运行以下命令。对于 gcloud CLI,您可以使用 MB 或 GB 指定内存。如果您未指定单位,Compute Engine 将使用 GB 作为默认单位。不过,请注意,当您使用 REST 时,Compute Engine 会使用 MB 作为默认单位:
gcloud compute commitments create example-commitment --region us-central1 \
--resources vcpu=5,memory=33280MB --plan 12-month \
--type general-purpose --project=myproject
示例 2:购买计算优化 C2 资源的承诺使用合约
如需购买 1 年期承诺使用合约,以使用 16 个 vCPU 和 64 GB 内存的计算优化 C2 资源,请运行以下命令。对于 gcloud CLI,您可以使用 MB 或 GB 指定内存。如果您未指定单位,Compute Engine 将使用 GB 作为默认单位。不过,请注意,使用 REST 时,Compute Engine 会使用 MB 作为默认单位:
gcloud compute commitments create example-compute-optimized-commitment \
--region us-central1 --resources vcpu=16,memory=64GB --plan 12-month \
--type compute-optimized --project=myproject
示例 3:购买内存优化型 M1 或 M2 资源的承诺
如需购买 1 年期内存优化型 M1 或 M2 资源承诺,其中包含 96 个 vCPU 和 1,433.6 GB 内存,请运行以下命令。对于 gcloud CLI,您可以使用 MB 或 GB 指定内存。如果您未指定单位,Compute Engine 将使用 GB 作为默认单位。不过,请注意,使用 REST 时,Compute Engine 会使用 MB 作为默认单位:
gcloud compute commitments create example-memory-optimized-commitment \
--region us-central1 --resources vcpu=96,memory=1433.6GB \
--plan 12-month --type memory-optimized \
--project=myproject
示例 4:为具有本地 SSD 磁盘的通用 C4 资源购买承诺
如需购买 1 年期本地 SSD 磁盘承诺(仅支持 C4、C4A、C4D、G4、H4D 或 Z3 承诺类型),请在 --resources 标志中添加 local-ssd。每个本地 SSD 磁盘为 375 GB。例如,如需购买一项为期 1 年的承诺,该承诺涵盖 8 个 vCPU、32 GB 内存和 1 个本地 SSD 磁盘 (375 GB) 的通用 C4 资源,请运行以下命令。本地 SSD 存储空间值必须以 GB 为单位指定(例如 375GB)。对于 gcloud CLI,您可以以 MB 或 GB 为单位指定内存。如果您未指定单位,Compute Engine 将使用 GB 作为默认单位。不过,请注意,使用 REST 时,Compute Engine 会使用 MB 作为内存的默认单位。
gcloud compute commitments create example-local-ssd-commitment \
--region us-central1 --resources vcpu=8,memory=32GB,local-ssd=375GB \
--plan 12-month --type general-purpose-c4 --project=myproject
REST
在 API 中,向 regionCommitments.insert 方法发出一个 POST 请求,其请求正文中包含有关承诺的信息。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments?requestId=OPTIONAL_UNIQUE_ID
{
"name": "COMMITMENT_NAME",
"plan": "PLAN",
"type": "COMMITMENT_TYPE",
"resources": [
{
"type": "VCPU",
"amount": "COMMITTED_VCPUS"
},
{
"type": "MEMORY",
"amount": "COMMITTED_MEMORY"
},
{
"type": "LOCAL_SSD",
"amount": "COMMITTED_LOCAL_SSD"
}
],
"customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ",
"autoRenew": AUTO_RENEW_BOOLEAN
}替换以下内容:
PROJECT_ID:您要在其中购买承诺的项目的 ID。REGION:您要购买承诺的区域。OPTIONAL_UNIQUE_ID:可选。一个唯一的请求 ID,有助于防止出现意外的重复请求。COMMITMENT_NAME:您的承诺的名称。PLAN:承诺方案,可以是TWELVE_MONTH或THIRTY_SIX_MONTH。COMMITMENT_TYPE:承诺类型,可以是以下之一:- 对于 A2 机器类型,请使用
ACCELERATOR_OPTIMIZED - 对于 A3 Edge 和 A3 High 机器类型,请使用
ACCELERATOR_OPTIMIZED_A3 - 对于 A3 Mega 机器类型,请使用
ACCELERATOR_OPTIMIZED_A3_MEGA - 对于 G2 机器类型,请使用
GRAPHICS_OPTIMIZED - 对于 G4 机器类型,请使用
GRAPHICS_OPTIMIZED_G4 - 对于 C2 机器类型,请使用
COMPUTE_OPTIMIZED - 对于 C2D 机器类型,请使用
COMPUTE_OPTIMIZED_C2D - 对于 C3 机器类型,请使用
COMPUTE_OPTIMIZED_C3 - 对于 C3D 机器类型,请使用
COMPUTE_OPTIMIZED_C3D - 对于 H3 机器类型,请使用
COMPUTE_OPTIMIZED_H3 - 对于 H4D 机器类型,请使用
COMPUTE_OPTIMIZED_H4D - 对于 N1 机器类型,请使用
GENERAL_PURPOSE - 对于 C4 机器类型,请使用
GENERAL_PURPOSE_C4 - 对于 C4A 机器类型,请使用
GENERAL_PURPOSE_C4A - 对于 C4D 机器类型,请使用
GENERAL_PURPOSE_C4D - 对于 C4N 机器类型,请使用
NETWORK_OPTIMIZED_C4N - 对于 E2 机器类型,请使用
GENERAL_PURPOSE_E2 - 对于 N1 机器类型,请使用
GENERAL_PURPOSE_N2 - 对于 N2D 机器类型,请使用
GENERAL_PURPOSE_N2D - 对于 N1 机器类型,请使用
GENERAL_PURPOSE_N4 - 对于 N4D 机器类型,请使用
GENERAL_PURPOSE_N4D - 对于 N4A 机器类型,请使用
GENERAL_PURPOSE_N4A - 对于 Tau T2D 机器类型,请使用
GENERAL_PURPOSE_T2D - 对于 M1 或 M2 机器类型,请使用
MEMORY_OPTIMIZED - 对于 M3 机器类型,请使用
MEMORY_OPTIMIZED_M3 - 对于配备 6 TB 内存的 M4 机器类型,请使用
MEMORY_OPTIMIZED_M4_6TB - 对于其他 M4 机器类型,请使用
MEMORY_OPTIMIZED_M4 - 对于配备 6 TB 内存的 X4 机器类型,请使用
MEMORY_OPTIMIZED_X4_480_6T - 对于配备 8 TB 内存的 X4 机器类型,请使用
MEMORY_OPTIMIZED_X4_480_8T - 对于配备 12 TB 内存的 X4 机器类型,请使用
MEMORY_OPTIMIZED_X4_960_12T - 对于配备 16 TB 内存的 X4 机器类型,请使用
MEMORY_OPTIMIZED_X4_960_16T - 对于配备 24 TB 内存的 X4 机器类型,请使用
MEMORY_OPTIMIZED_X4_1440_24T - 对于配备 32 TB 内存的 X4 机器类型,请使用
MEMORY_OPTIMIZED_X4_1920_32T - 对于 Z3 机器类型,请使用
STORAGE_OPTIMIZED_Z3
- 对于 A2 机器类型,请使用
COMMITTED_VCPUS:您的承诺中包含的 vCPU 数量。COMMITTED_MEMORY:您的承诺中包含的内存量,以 MB 为单位。对于 REST,Compute Engine 使用 MB 作为默认单位。不过,请注意,使用 gcloud CLI 时,Compute Engine 会使用 GB 作为默认单位。COMMITTED_LOCAL_SSD:可选。本地 SSD 存储空间量,必须以 GB 为单位指定;例如,375GB。 仅支持为 C4、C4A、C4D、G4、H4D 或 Z3 承诺类型购买不含附加预留的本地 SSD 磁盘承诺。CUSTOM_END_DATE:可选。承诺的自定义结束日期,格式为YYYY-MM-DD。END_TIME:美国和加拿大太平洋时间(UTC-8 或 UTC-7)凌晨 0 点。在夏令时期间指定07:00:00,在其他时间指定08:00:00。AUTO_RENEW_BOOLEAN:可选。设置为true可在承诺期限结束时自动续订承诺。
示例
以下示例在 myproject 项目和 us-central1 区域中购买承诺。
示例 1:购买通用 N1 资源的承诺
如需购买 1 年期承诺使用合约,以使用 5 个 vCPU 和 18.75 GB 内存(相当于 19200 MB)的通用 N1 资源,请发出以下 POST 请求。对于 REST,您必须以 MB 为单位指定内存。 不过,请注意,使用 gcloud CLI 时,Compute Engine 会使用 GB 作为默认单位。
POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/commitments
{
"name": "example-commitment",
"plan": "TWELVE_MONTH",
"type": "GENERAL_PURPOSE",
"resources": [
{
"amount": "5",
"type": "VCPU"
},
{
"amount": "19200",
"type": "MEMORY"
}
]
}示例 2:为内存优化 M1 或 M2 资源购买承诺
如需购买 1 年期承诺使用合约,以使用 96 个 vCPU 和 1,433.6 GB 内存(相当于 1468006 MB)的内存优化型 M1 或 M2 资源,请发出以下 POST 请求。对于 REST,您必须以 MB 为单位指定内存。不过,请注意,使用 gcloud CLI 时,Compute Engine 会使用 GB 作为默认单位。
POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/commitments
{
"name": "example-memory-optimized-commitment",
"plan": "TWELVE_MONTH",
"type": "MEMORY_OPTIMIZED",
"resources": [
{
"amount": "96",
"type": "VCPU"
},
{
"amount": "1468006",
"type": "MEMORY"
}
]
}示例 3:为计算优化 C2 资源购买承诺
如需购买 1 年期承诺使用合约,以使用 16 个 vCPU 和 64 GB 内存(相当于 65536 MB)的计算优化 C2 资源,请发出以下 POST 请求。对于 REST,您必须以 MB 为单位指定内存。 不过,请注意,使用 gcloud CLI 时,Compute Engine 会使用 GB 作为默认单位。
POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/commitments
{
"name": "example-compute-optimized-commitment",
"plan": "TWELVE_MONTH",
"type": "COMPUTE_OPTIMIZED",
"resources": [
{
"amount": "16",
"type": "VCPU"
},
{
"amount": "65536",
"type": "MEMORY"
}
]
}示例 4:为具有本地 SSD 磁盘的通用 C4 资源购买承诺
如需购买 1 年期承诺,以使用 8 个 vCPU、32 GB 内存和 1 个本地 SSD 磁盘 (375 GB) 的通用 C4 资源和本地 SSD 磁盘,且不附加任何预留(仅支持 C4、C4A、C4D、G4、H4D 或 Z3 承诺类型),请发出以下 POST 请求。 请注意,本地 SSD 存储空间值必须以 GB 为单位指定。对于内存,您必须以 MB 为单位指定值。不过,请注意,使用 gcloud CLI 时,Compute Engine 会将 GB 用作内存的默认单位。
POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/commitments
{
"name": "example-local-ssd-commitment",
"plan": "TWELVE_MONTH",
"type": "GENERAL_PURPOSE_C4",
"resources": [
{
"amount": "8",
"type": "VCPU"
},
{
"amount": "32768",
"type": "MEMORY"
},
{
"amount": "375",
"type": "LOCAL_SSD"
}
]
}