本文档介绍了如何管理未来预留请求。具体而言:
修改未来预留请求草稿或已提交的未来预留请求,以更改其一个或多个属性。
取消未来预留请求,以阻止 Google Cloud 对其进行审核,或阻止已获批准的未来预留进入其锁定时间。
在未来预留进入其所需的锁定时间之前或在其预留期结束后将其删除。
如果要在预留期结束后管理已完成的未来预留的自动创建预留,请参阅以下内容:
准备工作
-
设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证。
选择标签页以了解您打算如何使用本页面上的示例:
控制台
当您使用 Google Cloud 控制台访问 Google Cloud 服务和 API 时,无需设置身份验证。
gcloud
-
安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:
gcloud init
- 设置默认区域和可用区。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
-
所需的角色
如需获得修改、取消或删除未来预留请求所需的权限,请让您的管理员为您授予项目的 Compute Future Reservation Admin (roles/compute.futureReservationAdmin
) IAM 角色。如需详细了解如何授予角色,请参阅管理访问权限。
此预定义角色包含修改、取消或删除未来预留请求所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需修改、取消或删除未来预留请求,您需要具备以下权限:
-
取消未来预留:针对项目的
compute.futureReservations.cancel
权限 -
删除未来预留:针对项目的
compute.futureReservations.delete
权限 -
修改未来预留:针对项目的
compute.futureReservations.update
权限
限制
除了针对未来预留的一般限制之外,当您修改、取消或删除未来预留请求时,需要遵循以下限制:
您只能在创建未来预留请求的项目中修改、取消或删除未来预留请求。这使您可以与其他项目共享未来预留请求,但仅对其他项目具有权限的用户无法修改该未来预留请求。
只有在未来预留请求的采购状态允许时,您才能修改、取消或删除该未来预留请求。有关详情,请参阅下表:
采购状态 取消 删除 修改 正在草拟 ( DRAFTING
)待审批 ( PENDING_APPROVAL
)已获批 ( APPROVED
)已拒绝 ( DECLINED
)已取消 ( CANCELED
)正在采购 ( PROCURING
)正在预配 ( PROVISIONING
)已完成 ( FULFILLED
)* 部分完成 ( FAILED_PARTIALLY_FULFILLED
)* 已失败 ( FAILED
)* * 只有在未来预留的结束时间之后才能删除已完成、部分完成或失败的未来预留。
修改未来预留请求
您可以在未来预留请求达到处于正在预配 (PROVISIONING
) 的采购状态之前进行修改,前提是该请求未取消或待批准。修改未来预留请求时,您无法更改以下属性:
对于任何未来预留:
未来预留的名称。
创建未来预留请求的项目。
未来预留所在的可用区。
对于通过指定实例模板创建的未来预留请求:
您无法替换实例模板中指定的虚拟机属性。
您不能将用于创建未来预留的请求的实例模板替换为其他模板。
要修改上述任何属性,您必须使用所需的更新创建新的未来预留请求。
如果要修改其他属性,请选择以下方法之一:
-
本部分介绍了如何修改采购状态设置为“正在草拟”(
DRAFTING
) 或“已拒绝”(DECLINED
) 的未来预留请求。 -
本部分介绍了如何修改采购状态设置为“已批准”(
APPROVED
) 或“正在采购”(PROCURING
) 的未来预留。如果您想要修改未来预留的自动删除选项、说明或名称前缀,可以直接修改,无需进行审核。如果您想要修改其他属性,则需要 Google Cloud 的批准。
修改未来预留请求草稿或被拒绝的未来预留请求
如果您修改了未来预留请求草稿,您可以保存更改或者将更新后的未来预留请求提交给 Google Cloud 进行审核。如果您改为修改被拒绝的未来预留请求,则必须提交该请求以供审核。
要修改未来预留请求草稿或被拒绝的未来预留请求的属性,请选择以下方法之一:
通过指定实例模板修改所创建的未来预留请求草稿或被拒绝的未来预留请求。
本部分介绍了如何通过指定实例模板修改所创建的未来预留请求草稿或被拒绝的未来预留请求中的一个或多个属性。您无法修改未来预留请求的虚拟机属性。但是,您必须创建新的未来预留。
通过直接指定属性修改所创建的未来预留请求草稿或被拒绝的未来预留请求。
本部分介绍了如何通过直接指定属性修改所创建的未来预留请求草稿或被拒绝的未来预留请求中的一个或多个属性。
通过指定实例模板修改未来预留请求草稿或被拒绝的未来预留请求
对于通过指定实例模板创建并且采购状态为“正在草拟”(DRAFTING
) 或“已拒绝”(DECLINED
) 的未来预留请求,您可以修改以下属性:
自动删除
说明
名称前缀
共享设置
预留期的开始时间和结束时间
总数(虚拟机数量)
您可以通过使用 Google Cloud 控制台、gcloud CLI 和 REST 指定实例模板来修改已创建的未来预留请求草稿或被拒绝的未来预留请求。
控制台
如需请求 Google Cloud 通过指定实例模板来修改所创建的未来预留请求草稿或被拒绝的未来预留请求,请按照以下步骤操作:
在 Google Cloud 控制台中,转到预留页面。
点击未来预留标签页。
在名称列中,点击要修改的未来预留请求的名称。
系统会打开所选未来预留请求的详情页面。
如需修改未来预留请求,请点击
修改或 修改草稿。系统会打开用于修改所选未来预留请求的页面。
执行以下一个或多个操作:
在前缀字段中,输入新的名称前缀。
在说明字段中,输入新说明。
修改未来预留请求的开始时间或结束时间。为此,您需要确保实现以下各项安排:
在共享类型部分中,您可以选择本地或共享。如果您选择共享,则可以添加或移除项目,以便共享未来预留请求。
您最多可以选择 100 个项目。这些项目必须与创建该未来预留请求的项目(所有者项目)位于同一组织中。请勿指定所有者项目。默认情况下,系统已经允许为此未来预留请求使用共享的自动创建预留。
在虚拟机实例数量中输入您要为该时间段预留的虚拟机总数、虚拟机配置和未来预留请求中指定的项目。
计算要为已获批准的未来预留创建的预留数量时,Compute Engine 会首先检查现有预留。如果现有预留与已获批准的未来预留匹配,则系统会从该请求中所请求的预留总数减去现有预留数量,以确定 Compute Engine 创建的新预留的数量。如需了解详情,请参阅 Compute Engine 如何计算和预配预留资源。
在自动生成的预留自动删除部分中,您可以为未来预留请求启用或停用对自动创建的预留执行自动删除的操作。
可选。如果启用自动删除选项,则可以指定 Compute Engine 删除自动创建的预留的日期和时间。日期和时间必须晚于预留期的结束时间。如果您将此字段留空,则自动创建的预留将在预留期结束时间之后 2 小时内删除。
根据您要修改的未来预留请求的采购状态,执行以下操作之一:
对于未来预留请求草稿,请选择以下选项之一:
要保存更改,请点击保存草稿。
如需将未来预留请求草稿提交给 Google Cloud 进行审核,请点击提交。
对于已被拒绝的未来预留请求,您只能点击提交以将其提交进行审核。
如果您提交请求,系统会打开预留页面。否则,系统会打开未来预留请求的详情页面。
gcloud
如需请求 Google Cloud 通过指定实例模板修改所创建的未来预留请求草稿或被拒绝的未来预留请求,请使用 gcloud beta compute future-reservations update
命令。
gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \
--description="DESCRIPTION" \
--name-prefix=NAME_PREFIX \
--planning-status=PLANNING_STATUS \
--project=PROJECT_ID \
--share-setting=SHARE_SETTING \
--share-with=CONSUMER_PROJECT_IDS \
--start-time=START_TIME \
--end-time=END_TIME \
--total-count=TOTAL_COUNT \
--zone=ZONE
替换以下内容:
FUTURE_RESERVATION_NAME
:现有未来预留请求草稿或被拒绝的未来预留请求的名称。
DESCRIPTION
:可选。未来预留请求的新说明。
NAME_PREFIX
:可选。未来预留请求的新名称前缀。此未来预留请求的每个自动创建的预留的名称以名称前缀开头。为了便于识别针对此未来预留请求自动创建的预留,建议您指定唯一的名称前缀。
PLANNING_STATUS
:未来预留请求的规划状态。您只能指定SUBMITTED
,这会将未来预留请求提交给 Google Cloud 以供审核。
PROJECT_ID
:可选。在其中创建未来预留请求的项目的 ID。 如果您将单项目未来预留请求修改为共享未来预留请求,则此项目将成为未来预留请求的所有者项目。如果您省略--project
标志,则值将设置为当前项目的 ID。
SHARE_SETTING
:可选。要更改此未来预留请求的类型,请指定以下值之一:如需将单项目未来预留请求更改为共享未来预留请求,请指定
projects
。请确保使用--share-with
标志至少指定一个使用方项目。否则,修改未来预留将失败。否则,请指定
local
。
CONSUMER_PROJECT_IDS
:可选。可与其共享此未来预留请求的项目的项目 ID 的逗号分隔列表。例如,您应指定project-1,project-2
。您最多可以指定 100 个项目。这些项目必须与创建此未来预留请求的项目(所有者项目)位于同一组织中。请勿指定所有者项目。默认情况下,系统已经允许为此未来预留请求使用共享的自动创建预留。START_TIME
:可选。采用 RFC 3339 时间戳格式的预留期的新开始时间,必须如下所示:YYYY-MM-DDTHH:MM:SSOFFSET
替换以下内容:
YYYY-MM-DD
:格式为 4 位数年份、2 位数月份和 2 位数日期而且相互之间以连字符 (-
) 分隔的日期。HH:MM:SS
:格式为 2 位数小时、2 位数分钟和 2 位数秒而且相互之间以冒号 (:
) 分隔的采用 24 小时制的时间。OFFSET
:采用世界协调时间 (UTC) 的偏移量格式的时区。 例如,要使用太平洋标准时间 (PST),请指定-08:00
。或者,如果不使用偏移量,请指定Z
。
开始时间不能比您提交未来预留请求以供审核的日期和时间晚 1 年。如需有足够的时间在未来预留获得批准之后或在其进入锁定时间之前选择取消、删除或修改未来预留,请务必指定建议的开始时间。
END_TIME
:可选。预留期的新结束时间,格式为 RFC 3339 时间戳。预留期必须至少持续 24 小时。或者,您可以将--end-time
标志替换为--duration=END_DURATION
标志,其中END_DURATION
是预留期的时长,以秒表示。例如,指定1209600
表示 1,209,600 秒(14 天)。为了提高 Google Cloud 在您提交未来预留请求以供审核后批准该请求的可能性,请务必指定其中一个预留期建议值。
TOTAL_COUNT
:可选。您要为该时间段预留的虚拟机的新总数、虚拟机配置和此未来预留请求中指定的项目。计算要为已获批准的未来预留创建的预留数量时,Compute Engine 会首先检查现有预留。如果现有预留与已获批准的未来预留匹配,则系统会从该请求中所请求的预留总数减去现有预留数量,以确定 Compute Engine 创建的新预留的数量。如需了解详情,请参阅 Compute Engine 如何计算和预配预留资源。
注意:请确保您有足够的配额用于请求预留的资源。否则,Google Cloud 会拒绝您的未来预留请求。
ZONE
:未来预留请求所在的可用区。
或者,您也可以通过执行以下操作之一,更改 Compute Engine 自动删除为未来预留请求自动创建的预留的条件和时间:
如需使 Compute Engine 在预留期结束时间之后自动删除自动创建的预留,请选择以下方法之一:
如需在结束时间后 2 小时内(默认)删除预留,请指定
--auto-delete-auto-created-reservations
标志。gcloud beta compute future-reservations update example-future-reservation \ --auto-delete-auto-created-reservations
如需在预留期结束时间之后的特定时间删除自动创建的预留,请指定
--auto-delete-auto-created-reservations
和--auto-created-reservations-delete-time
标志。gcloud beta compute future-reservations update example-future-reservation \ --auto-delete-auto-created-reservations \ --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME
将
AUTO_CREATED_RESERVATIONS_DELETE_TIME
替换为采用 RFC 3339 时间戳格式的日期和时间。如需在预留期结束时间后的特定时长之后删除自动创建的预留,请指定
--auto-delete-auto-created-reservations
和--auto-created-reservations-duration
标志。gcloud beta compute future-reservations update example-future-reservation \ --auto-delete-auto-created-reservations \ --auto-created-reservations-duration=DURATION_BEFORE_DELETE
将
DURATION_BEFORE_DELETE
替换为以天、小时、分钟或秒为单位的时长。例如,指定30m
表示 30 分钟,或指定1d2h3m4s
表示 1 天 2 小时 3 分钟 4 秒。
如需停用 Compute Engine,使其无法自动删除自动创建的预留,请指定
--no-auto-delete-auto-created-reservations
标志。gcloud beta compute future-reservations update example-future-reservation \ --no-auto-delete-auto-created-reservations
例如,可考虑指定名为 fr-03
且位于可用区 us-central1-a
的共享未来预留请求草稿。假设您希望通过进行以下更改来修改此共享未来预留请求:
将其转换为单项目未来预留请求。
停用自动删除选项。
预留 100 个虚拟机。
将未来预留请求提交给 Google Cloud 以供批准。
如需修改 fr-03
,请运行以下命令:
gcloud beta compute future-reservations update fr-03 \
--clear-share-settings \
--no-auto-delete-auto-created-reservations \
--planning-status=SUBMITTED \
--project=example-project \
--total-count=100 \
--zone=us-central1-a
REST
如需请求 Google Cloud 通过指定实例模板修改所创建的未来预留请求草稿或被拒绝的未来预留请求,请发出针对 beta.futureReservations.update
方法的 PATCH
请求。
在 updateMask
查询参数中,指定要更新的每个字段。如果需要从预留中删除可选字段,请在 updateMask
查询参数中添加该字段,并在请求正文中省略该字段。
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=UPDATE_FIELDS
{
"autoDeleteAutoCreatedReservations": "AUTO_DELETE_AUTO_CREATED_RESERVATIONS",
"description": "DESCRIPTION",
"name": "FUTURE_RESERVATION_NAME",
"namePrefix": "NAME_PREFIX",
"planningStatus": "PLANNING_STATUS",
"shareSettings": {
"projects": [
"CONSUMER_PROJECT_ID_1",
"CONSUMER_PROJECT_ID_2"
],
"shareType": "SHARE_TYPE"
},
"specificSkuProperties": {
"totalCount": "TOTAL_COUNT"
},
"timeWindow": {
"endTime": "END_TIME",
"startTime": "START_TIME"
}
}
替换以下内容:
PROJECT_ID
:未来预留请求所在项目的 ID。ZONE
:未来预留请求所在的可用区。FUTURE_RESERVATION_NAME
:现有未来预留请求草稿或被拒绝的未来预留请求的名称。 您无法修改未来预留请求的名称。UPDATE_FIELDS
:此PATCH
请求中要更新的字段的逗号分隔列表。您必须将每个英文逗号编码为%2C
。例如,如果要更新未来预留请求中的autoDeleteAutoCreatedReservations
、totalCount
和endTime
字段,请指定以下项:autoDeleteAutoCreatedReservations%2CspecificSkuProperties.totalCount%2CtimeWindow.endTime
AUTO_DELETE_AUTO_CREATED_RESERVATIONS
:可选。如果您将此字段设置为true
,则 Compute Engine 会自动删除针对此未来预留请求的自动创建的预留。默认情况下,删除时间为预留期结束时间之后的 2 小时内。如需更改此设置,请执行以下操作之一:如需在预留期结束时间之后的特定时间删除自动创建的预留,请将
autoDeleteAutoCreatedReservations
设置为true
并指定autoCreatedReservationsDeleteTime
字段。PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDeleteTime { "autoDeleteAutoCreatedReservations": "true", "autoCreatedReservationsDeleteTime": "DELETE_TIME" }
将
DELETE_TIME
替换为 Compute Engine 删除预留的日期和时间。日期和时间必须采用 RFC 3339 时间戳格式,并且必须如下所示:YYYY-MM-DDTHH:MM:SSOFFSET
替换以下内容:
YYYY-MM-DD
:格式为 4 位数年份、2 位数月份和 2 位数日期而且相互之间以连字符 (-
) 分隔的日期。HH:MM:SS
:格式为 2 位数小时、2 位数分钟和 2 位数秒而且相互之间以冒号 (:
) 分隔的采用 24 小时制的时间。OFFSET
:采用世界协调时间 (UTC) 的偏移量格式的时区。 例如,要使用太平洋标准时间 (PST),请指定-08:00
。或者,如果不使用偏移量,请指定Z
。
如需在预留期开始时间起的特定时长后删除自动创建的预留,请将
autoDeleteAutoCreatedReservations
设置为true
并指定autoCreatedReservationsDuration
字段。PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDuration { "autoDeleteAutoCreatedReservations": "true", "autoCreatedReservationsDuration": { "seconds": "DURATION_BEFORE_DELETE" } }
将
DURATION_BEFORE_DELETE
替换为持续时间,以秒为单位。例如,指定604800
表示 604,800 秒(7 天)。
DESCRIPTION
:可选。如需更新此未来预留请求的说明,请执行以下操作之一:如需添加或更新说明,请指定说明。
如需移除说明,请从请求正文中删除
description
字段并在UPDATE_FIELDS
中指定该字段。
NAME_PREFIX
:可选。未来预留请求的新名称前缀。此未来预留请求的每个自动创建的预留的名称以名称前缀开头。为了帮助您识别此未来预留的自动创建的预留,建议指定唯一的名称前缀。
PLANNING_STATUS
:未来预留请求的规划状态。您只能指定SUBMITTED
,这会将未来预留请求提交给 Google Cloud 以供审核。SHARE_TYPE
:可选。要更改此未来预留请求的共享类型,请指定以下值之一:如需将单项目未来预留请求更改为共享未来预留请求,请指定
SPECIFIC_PROJECTS
。此外,您必须在projects
字段中指定至少一个使用方项目。否则,修改未来预留请求将失败。否则,请指定
LOCAL
。 此外,您必须从请求正文中删除projects
字段并在UPDATE_FIELDS
中指定该字段。否则,修改未来预留请求将失败。
CONSUMER_PROJECT_ID_1
和CONSUMER_PROJECT_ID_2
:可选。可与其共享“共享未来预留请求”的项目的项目 ID。您最多可以指定 100 个项目。 这些项目必须与创建该未来预留请求的项目(所有者项目)位于同一组织中。请勿指定所有者项目。默认情况下,系统已经允许为此未来预留请求使用共享的自动创建预留。
TOTAL_COUNT
:可选。您要为该时间段预留的虚拟机的新总数、虚拟机配置和此未来预留请求中指定的项目。计算要为已获批准的未来预留创建的预留数量时,Compute Engine 会首先检查现有预留。如果现有预留与已获批准的未来预留匹配,则系统会从该请求中所请求的预留总数减去现有预留数量,以确定 Compute Engine 创建的新预留的数量。如需了解详情,请参阅 Compute Engine 如何计算和预配预留资源。
START_TIME
:可选。:采用 RFC 3339 时间戳格式的新的预留期开始时间。开始时间不能比您提交未来预留请求以供审核的日期和时间晚 1 年。此外,请务必指定建议的开始时间,以确保您在未来预留进入其锁定时间之前有足够的时间。END_TIME
:可选。预留期的新结束时间,格式为 RFC 3339 时间戳。预留期必须至少持续 24 小时。或者,您可以将endTime
字段替换为duration
字段,以指定从预留期开始时间起的具体时长:"duration": { "seconds": "END_DURATION" }
将
END_DURATION
替换为持续时间,以秒为单位。例如,指定1209600
表示 1,209,600 秒(14 天)。为了提高 Google Cloud 在您提交未来预留请求以供审核后批准该请求的可能性,请务必指定其中一个预留期建议值。
例如,可考虑指定名为 fr-03
且位于可用区 us-central1-a
的共享未来预留请求草稿。假设您希望通过进行以下更改来修改此共享未来预留请求:
将其转换为单项目未来预留请求。
停用自动删除选项。
预留 100 个虚拟机。
将未来预留请求提交给 Google Cloud 以供批准。
如需修改 fr-03
,请发出以下 PATCH
请求:
PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/fr-03?updateMask=autoDeleteAutoCreatedReservations%2CplanningStatus%2CshareSettings.shareType%2CspecificSkuProperties.totalCount
{
"autoDeleteAutoCreatedReservations": "false",
"name": "fr-03",
"planningStatus": "SUBMITTED",
"shareSettings": {
"shareType": "LOCAL"
},
"specificSkuProperties": {
"totalCount": "100"
}
}
将未来预留请求提交给 Google Cloud 进行审核后,请查看其详细信息,以监控其采购状态。
通过直接指定属性来修改未来预留草稿或被拒绝的未来预留
对于直接通过属性创建的、采购状态设置为“正在草拟”(DRAFTING
) 或“已拒绝”(DECLINED
) 的未来预留请求,您可以修改以下属性:
自动删除
说明
名称前缀
GPU
本地 SSD 和磁盘接口类型
机器系列和机器类型
满足最低 CPU 要求的平台
共享设置
预留期的开始时间和结束时间
总数(虚拟机数量)
您可以通过使用 Google Cloud 控制台、gcloud CLI 和 REST 直接指定属性来修改已创建的未来预留请求草稿或被拒绝的未来预留请求。
控制台
如需请求 Google Cloud 通过直接指定属性修改未来预留请求草稿或被拒绝的未来预留请求,请按以下步骤操作:
在 Google Cloud 控制台中,转到预留页面。
点击未来预留标签页。
在名称列中,点击要修改的未来预留请求的名称。
系统会打开所选未来预留请求的详情页面。
如需修改未来预留请求,请点击
修改或 修改草稿。系统会打开用于修改所选未来预留请求的页面。
执行以下一个或多个操作:
在前缀字段中,输入新的名称前缀。
在说明字段中,输入新说明。
修改未来预留请求的开始时间或结束时间。为此,您需要确保实现以下各项安排:
在共享类型部分中,您可以选择本地或共享。如果您选择共享,则可以添加或移除项目,以便共享未来预留请求。
您最多可以选择 100 个项目。这些项目必须与创建该未来预留请求的项目(所有者项目)位于同一组织中。请勿指定所有者项目。默认情况下,系统已经允许为此未来预留请求使用共享的自动创建预留。
在虚拟机实例数量中输入您要为该时间段预留的虚拟机总数、虚拟机配置和未来预留请求中指定的项目。
计算要为已获批准的未来预留创建的预留数量时,Compute Engine 会首先检查现有预留。如果现有预留与已获批准的未来预留匹配,则系统会从该请求中所请求的预留总数减去现有预留数量,以确定 Compute Engine 创建的新预留的数量。如需了解详情,请参阅 Compute Engine 如何计算和预配预留资源。
在机器配置部分中,您可以更改以下内容:
已预留虚拟机中使用的机器系列和机器类型。
要挂接到已预留虚拟机的 GPU。
已预留虚拟机的本地 SSD 和磁盘接口类型。
根据您要修改的未来预留请求的采购状态,执行以下操作之一:
对于未来预留请求草稿,请选择以下选项之一:
要保存更改,请点击保存草稿。
如需将未来预留请求草稿提交给 Google Cloud 进行审核,请点击提交。
对于已被拒绝的未来预留请求,您只能点击提交以将其提交进行审核。
如果您提交请求,系统会打开预留页面。否则,系统会打开未来预留请求的详情页面。
gcloud
如需请求 Google Cloud 通过直接指定属性修改所创建的未来预留请求草稿或被拒绝的未来预留请求,请使用 gcloud beta compute future-reservations update
命令。
gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \
--accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \
--description="DESCRIPTION" \
--local-ssd=size=375,interface=INTERFACE_1 \
--local-ssd=size=375,interface=INTERFACE_2 \
--machine-type=MACHINE_TYPE \
--min-cpu-platform=MIN_CPU_PLATFORM \
--name-prefix=NAME_PREFIX \
--planning-status=PLANNING_STATUS \
--project=PROJECT_ID \
--share-setting=SHARE_SETTING \
--share-with=CONSUMER_PROJECT_IDS \
--start-time=START_TIME \
--end-time=END_TIME \
--total-count=TOTAL_COUNT \
--zone=ZONE
替换以下内容:
FUTURE_RESERVATION_NAME
:现有未来预留请求草稿或被拒绝的未来预留请求的名称。
可选。执行下列其中一项操作:
如需向每个已预留虚拟机添加图形处理器 (GPU),请指定以下内容:
NUMBER_OF_ACCELERATORS
:要为每个已预留虚拟机添加的 GPU 的数量。ACCELERATOR_TYPE
:要添加到已预留虚拟机的 GPU 的类型。
确保您在未来预留请求中指定的机器类型支持您指定的 GPU 类型,并且该 GPU 在您要预留资源的可用区中可用。否则,您会遇到错误。
如需从此未来预留请求中移除所有 GPU,请将
--accelerator
标志替换为--clear-accelerator
标志。
DESCRIPTION
:可选。未来预留请求的新说明。
可选。执行下列其中一项操作:
如需添加或修改您希望每个虚拟机的本地 SSD 使用的接口类型,请替换
INTERFACE_1
和INTERFACE_2
。该值必须为以下项之一:如果您的启动磁盘映像具有优化的 NVMe 驱动程序,请指定
nvme
。否则,请指定
scsi
。
每个本地 SSD 为 375 GB。对您要添加的每个本地 SSD,请重复使用
--local-ssd
标志。您最多可以指定 24 个本地 SSD。如需从此未来请求预留中移除所有本地 SSD,请移除所有
--local-ssd
标志并指定--clear-local-ssd
标志。
MACHINE_TYPE
:可选。要用于每个虚拟机的预定义或自定义机器类型。在指定自定义机器类型之前,请查看自定义机器类型的虚拟机的限制。MINIMUM_CPU_PLATFORM
:可选。用于每个虚拟机的满足最低要求的 CPU 平台。如果您省略--min-cpu-platform
标志,则其值设置为可用区的默认 CPU 平台。
NAME_PREFIX
:可选。未来预留请求的新名称前缀。此未来预留请求的每个自动创建的预留的名称以名称前缀开头。为了便于识别针对此未来预留请求自动创建的预留,建议您指定唯一的名称前缀。
PLANNING_STATUS
:未来预留请求的规划状态。您只能指定SUBMITTED
,这会将未来预留请求提交给 Google Cloud 以供审核。
PROJECT_ID
:可选。在其中创建未来预留请求的项目的 ID。 如果您将单项目未来预留请求修改为共享未来预留请求,则此项目将成为未来预留请求的所有者项目。如果您省略--project
标志,则值将设置为当前项目的 ID。
SHARE_SETTING
:可选。要更改此未来预留请求的类型,请指定以下值之一:如需将单项目未来预留请求更改为共享未来预留请求,请指定
projects
。请确保使用--share-with
标志至少指定一个使用方项目。否则,修改未来预留将失败。否则,请指定
local
。
CONSUMER_PROJECT_IDS
:可选。可与其共享此未来预留请求的项目的项目 ID 的逗号分隔列表。例如,您应指定project-1,project-2
。您最多可以指定 100 个项目。这些项目必须与创建此未来预留请求的项目(所有者项目)位于同一组织中。请勿指定所有者项目。默认情况下,系统已经允许为此未来预留请求使用共享的自动创建预留。START_TIME
:可选。采用 RFC 3339 时间戳格式的预留期的新开始时间,必须如下所示:YYYY-MM-DDTHH:MM:SSOFFSET
替换以下内容:
YYYY-MM-DD
:格式为 4 位数年份、2 位数月份和 2 位数日期而且相互之间以连字符 (-
) 分隔的日期。HH:MM:SS
:格式为 2 位数小时、2 位数分钟和 2 位数秒而且相互之间以冒号 (:
) 分隔的采用 24 小时制的时间。OFFSET
:采用世界协调时间 (UTC) 的偏移量格式的时区。 例如,要使用太平洋标准时间 (PST),请指定-08:00
。或者,如果不使用偏移量,请指定Z
。
开始时间不能比您提交未来预留请求以供审核的日期和时间晚 1 年。如需有足够的时间在未来预留获得批准之后或在其进入锁定时间之前选择取消、删除或修改未来预留,请务必指定建议的开始时间。
END_TIME
:可选。预留期的新结束时间,格式为 RFC 3339 时间戳。预留期必须至少持续 24 小时。或者,您可以将--end-time
标志替换为--duration=END_DURATION
标志,其中END_DURATION
是预留期的时长,以秒表示。例如,指定1209600
表示 1,209,600 秒(14 天)。为了提高 Google Cloud 在您提交未来预留请求以供审核后批准该请求的可能性,请务必指定其中一个预留期建议值。
TOTAL_COUNT
:可选。您要为该时间段预留的虚拟机的新总数、虚拟机配置和此未来预留请求中指定的项目。计算要为已获批准的未来预留创建的预留数量时,Compute Engine 会首先检查现有预留。如果现有预留与已获批准的未来预留匹配,则系统会从该请求中所请求的预留总数减去现有预留数量,以确定 Compute Engine 创建的新预留的数量。如需了解详情,请参阅 Compute Engine 如何计算和预配预留资源。
注意:请确保您有足够的配额用于请求预留的资源。否则,Google Cloud 会拒绝您的未来预留请求。
ZONE
:未来预留请求所在的可用区。
或者,您也可以通过执行以下操作之一,更改 Compute Engine 自动删除为未来预留请求自动创建的预留的条件和时间:
如需使 Compute Engine 在预留期结束时间之后自动删除自动创建的预留,请选择以下方法之一:
如需在结束时间后 2 小时内(默认)删除预留,请指定
--auto-delete-auto-created-reservations
标志。gcloud beta compute future-reservations update example-future-reservation \ --auto-delete-auto-created-reservations
如需在预留期结束时间之后的特定时间删除自动创建的预留,请指定
--auto-delete-auto-created-reservations
和--auto-created-reservations-delete-time
标志。gcloud beta compute future-reservations update example-future-reservation \ --auto-delete-auto-created-reservations \ --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME
将
AUTO_CREATED_RESERVATIONS_DELETE_TIME
替换为采用 RFC 3339 时间戳格式的日期和时间。如需在预留期结束时间后的特定时长之后删除自动创建的预留,请指定
--auto-delete-auto-created-reservations
和--auto-created-reservations-duration
标志。gcloud beta compute future-reservations update example-future-reservation \ --auto-delete-auto-created-reservations \ --auto-created-reservations-duration=DURATION_BEFORE_DELETE
将
DURATION_BEFORE_DELETE
替换为以天、小时、分钟或秒为单位的时长。例如,指定30m
表示 30 分钟,或指定1d2h3m4s
表示 1 天 2 小时 3 分钟 4 秒。
如需停用 Compute Engine,使其无法自动删除自动创建的预留,请指定
--no-auto-delete-auto-created-reservations
标志。gcloud beta compute future-reservations update example-future-reservation \ --no-auto-delete-auto-created-reservations
例如,可考虑指定名为 fr-03
且位于可用区 us-central1-a
的共享未来预留请求草稿。假设您希望通过进行以下更改来修改此共享未来预留请求:
将其转换为单项目未来预留请求。
停用自动删除选项。
预留 100 个虚拟机。
将未来预留请求提交给 Google Cloud 以供批准。
如需修改 fr-03
,请运行以下命令:
gcloud beta compute future-reservations update fr-03 \
--clear-share-settings \
--no-auto-delete-auto-created-reservations \
--planning-status=SUBMITTED \
--project=example-project \
--total-count=100 \
--zone=us-central1-a
REST
如需请求 Google Cloud 通过直接指定属性修改所创建的未来预留请求草稿或被拒绝的未来预留请求,请发出针对 beta.futureReservations.update
方法的 PATCH
请求。
在 updateMask
查询参数中,指定要更新的每个字段。如果需要从预留中删除可选字段,请在 updateMask
查询参数中添加该字段,并在请求正文中省略该字段。
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=UPDATE_FIELDS
{
"autoDeleteAutoCreatedReservations": "AUTO_DELETE_AUTO_CREATED_RESERVATIONS",
"description": "DESCRIPTION",
"name": "FUTURE_RESERVATION_NAME",
"namePrefix": "NAME_PREFIX",
"planningStatus": "PLANNING_STATUS",
"shareSettings": {
"projects": [
"CONSUMER_PROJECT_ID_1",
"CONSUMER_PROJECT_ID_2"
],
"shareType": "SHARE_TYPE"
},
"specificSkuProperties": {
"instanceProperties": {
"guestAccelerators": [
{
"acceleratorCount": NUMBER_OF_ACCELERATORS,
"acceleratorType": "ACCELERATOR_TYPE"
}
],
"localSsds": [
{
"diskSizeGb": "375",
"interface": "INTERFACE_1"
},
{
"diskSizeGb": "375",
"interface": "INTERFACE_2"
}
],
"machineType": "MACHINE_TYPE",
"minCpuPlatform": "MINIMUM_CPU_PLATFORM"
},
"totalCount": "TOTAL_COUNT"
},
"timeWindow": {
"endTime": "END_TIME",
"startTime": "START_TIME"
}
}
替换以下内容:
PROJECT_ID
:未来预留请求所在项目的 ID。ZONE
:未来预留请求所在的可用区。FUTURE_RESERVATION_NAME
:现有未来预留请求草稿或被拒绝的未来预留请求的名称。 您无法修改未来预留请求的名称。UPDATE_FIELDS
:此PATCH
请求中要更新的字段的逗号分隔列表。您必须将每个英文逗号编码为%2C
。例如,如果要更新未来预留请求中的autoDeleteAutoCreatedReservations
、totalCount
和endTime
字段,请指定以下项:autoDeleteAutoCreatedReservations%2CspecificSkuProperties.totalCount%2CtimeWindow.endTime
AUTO_DELETE_AUTO_CREATED_RESERVATIONS
:可选。如果您将此字段设置为true
,则 Compute Engine 会自动删除针对此未来预留请求的自动创建的预留。默认情况下,删除时间为预留期结束时间之后的 2 小时内。如需更改此设置,请执行以下操作之一:如需在预留期结束时间之后的特定时间删除自动创建的预留,请将
autoDeleteAutoCreatedReservations
设置为true
并指定autoCreatedReservationsDeleteTime
字段。PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDeleteTime { "autoDeleteAutoCreatedReservations": "true", "autoCreatedReservationsDeleteTime": "DELETE_TIME" }
将
DELETE_TIME
替换为 Compute Engine 删除预留的日期和时间。日期和时间必须采用 RFC 3339 时间戳格式,并且必须如下所示:YYYY-MM-DDTHH:MM:SSOFFSET
替换以下内容:
YYYY-MM-DD
:格式为 4 位数年份、2 位数月份和 2 位数日期而且相互之间以连字符 (-
) 分隔的日期。HH:MM:SS
:格式为 2 位数小时、2 位数分钟和 2 位数秒而且相互之间以冒号 (:
) 分隔的采用 24 小时制的时间。OFFSET
:采用世界协调时间 (UTC) 的偏移量格式的时区。 例如,要使用太平洋标准时间 (PST),请指定-08:00
。或者,如果不使用偏移量,请指定Z
。
如需在预留期开始时间起的特定时长后删除自动创建的预留,请将
autoDeleteAutoCreatedReservations
设置为true
并指定autoCreatedReservationsDuration
字段。PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDuration { "autoDeleteAutoCreatedReservations": "true", "autoCreatedReservationsDuration": { "seconds": "DURATION_BEFORE_DELETE" } }
将
DURATION_BEFORE_DELETE
替换为持续时间,以秒为单位。例如,指定604800
表示 604,800 秒(7 天)。
DESCRIPTION
:可选。如需更新此未来预留请求的说明,请执行以下操作之一:如需添加或更新说明,请指定说明。
如需移除说明,请从请求正文中删除
description
字段并在UPDATE_FIELDS
中指定该字段。
NAME_PREFIX
:可选。未来预留请求的新名称前缀。此未来预留请求的每个自动创建的预留的名称以名称前缀开头。为了帮助您识别此未来预留的自动创建的预留,建议指定唯一的名称前缀。
PLANNING_STATUS
:未来预留请求的规划状态。您只能指定SUBMITTED
,这会将未来预留请求提交给 Google Cloud 以供审核。SHARE_TYPE
:可选。要更改此未来预留请求的共享类型,请指定以下值之一:如需将单项目未来预留请求更改为共享未来预留请求,请指定
SPECIFIC_PROJECTS
。此外,您必须在projects
字段中指定至少一个使用方项目。否则,修改未来预留请求将失败。否则,请指定
LOCAL
。 此外,您必须从请求正文中删除projects
字段并在UPDATE_FIELDS
中指定该字段。否则,修改未来预留请求将失败。
CONSUMER_PROJECT_ID_1
和CONSUMER_PROJECT_ID_2
:可选。可与其共享“共享未来预留请求”的项目的项目 ID。您最多可以指定 100 个项目。 这些项目必须与创建该未来预留请求的项目(所有者项目)位于同一组织中。请勿指定所有者项目。默认情况下,系统已经允许为此未来预留请求使用共享的自动创建预留。
可选。如需更新挂接到每个预留的虚拟机的图形处理单元 (GPU),请执行以下操作之一:
如需添加或修改 GPU,请指定以下内容:
NUMBER_OF_ACCELERATORS
:要为每个已预留虚拟机添加的 GPU 的数量。ACCELERATOR_TYPE
:要添加到已预留虚拟机的 GPU 的类型。
确保您在未来预留请求中指定的机器类型支持您指定的 GPU 类型,并且该 GPU 在您要预留资源的可用区中可用。否则,您会遇到错误。
如需从此未来预留请求中移除所有 GPU,请省略请求正文中的
guestAccelerators
字段并在UPDATE_FIELDS
中指定该字段。
可选。如需更新挂接到每个预留虚拟机的本地 SSD,请执行以下操作之一:
如需添加或修改您希望每个虚拟机的本地 SSD 使用的接口类型,请替换
INTERFACE_1
和INTERFACE_2
。该值必须为以下项之一:如果您的启动磁盘映像具有优化的 NVMe 驱动程序,请指定
NVME
。否则,请指定
SCSI
。
对要添加或更新的每个本地 SSD 重复
diskSizeGb
和interface
字段。您最多可以指定 24 个本地 SSD。如需从此未来请求预留中移除所有本地 SSD,请从请求正文中删除
localSsds
字段并在UPDATE_FIELDS
中指定该字段。
MACHINE_TYPE
:可选。要用于每个虚拟机的预定义或自定义机器类型。在指定自定义机器类型之前,请查看自定义机器类型的虚拟机的限制。MINIMUM_CPU_PLATFORM
:可选。如需更新每个虚拟机的满足最低要求的 CPU 平台,请执行以下操作之一:如需添加或更新满足最低要求的 CPU 平台,请指定满足最低要求的 CPU 平台。
要还原为可用区的默认 CPU 平台,请从请求正文中删除
minCpuPlatform
字段并在UPDATE_FIELDS
中指定该字段。
TOTAL_COUNT
:可选。您要为该时间段预留的虚拟机的新总数、虚拟机配置和此未来预留请求中指定的项目。计算要为已获批准的未来预留创建的预留数量时,Compute Engine 会首先检查现有预留。如果现有预留与已获批准的未来预留匹配,则系统会从该请求中所请求的预留总数减去现有预留数量,以确定 Compute Engine 创建的新预留的数量。如需了解详情,请参阅 Compute Engine 如何计算和预配预留资源。
START_TIME
:可选。:采用 RFC 3339 时间戳格式的新的预留期开始时间。开始时间不能比您提交未来预留请求以供审核的日期和时间晚 1 年。此外,请务必指定建议的开始时间,以确保您在未来预留进入其锁定时间之前有足够的时间。END_TIME
:可选。预留期的新结束时间,格式为 RFC 3339 时间戳。预留期必须至少持续 24 小时。或者,您可以将endTime
字段替换为duration
字段,以指定从预留期开始时间起的具体时长:"duration": { "seconds": "END_DURATION" }
将
END_DURATION
替换为持续时间,以秒为单位。例如,指定1209600
表示 1,209,600 秒(14 天)。为了提高 Google Cloud 在您提交未来预留请求以供审核后批准该请求的可能性,请务必指定其中一个预留期建议值。
例如,可考虑指定名为 fr-03
且位于可用区 us-central1-a
的共享未来预留请求草稿。假设您希望通过进行以下更改来修改此共享未来预留请求:
将其转换为单项目未来预留请求。
停用自动删除选项。
预留 100 个虚拟机。
将未来预留请求提交给 Google Cloud 以供批准。
如需修改 fr-03
,请发出以下 PATCH
请求:
PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/fr-03?updateMask=autoDeleteAutoCreatedReservations%2CplanningStatus%2CshareSettings.shareType%2CspecificSkuProperties.totalCount
{
"autoDeleteAutoCreatedReservations": "false",
"name": "fr-03",
"planningStatus": "SUBMITTED",
"shareSettings": {
"shareType": "LOCAL"
},
"specificSkuProperties": {
"totalCount": "100"
}
}
将未来预留请求提交给 Google Cloud 进行审核后,请查看其详细信息,以监控其采购状态。
修改已批准或正在采购的未来预留
要修改已批准或正在采购的未来预留的属性,请选择以下方法之一:
-
本部分介绍了如何修改已批准或正在采购的未来预留(无需审核)中的自动删除选项、说明和名称前缀。您可以直接修改这些属性,并且在 Google Cloud 开始创建预留之前,您可以无限次地更改这些属性。
-
本部分介绍了如何请求 Google Cloud 修改已批准或正在采购的未来预留中的一个或多个属性。您只能提交请求来修改采购状态为“正在采购”(
PROCURING
) 的未来预留。
修改已批准或正在采购的未来预留(无需审核)
对于采购状态设置为“已批准”(APPROVED
) 或“正在采购”(PROCURING
) 的未来预留,您无需获得 Google Cloud 的批准即可修改以下字段:
自动删除
说明
名称前缀
您可立即修改这些属性。在未来预留的预留期开始时间之前,您可以无限次地修改这些属性。
您可以使用 Google Cloud 控制台、gcloud CLI 和 REST 修改已批准或正在采购的未来预留,而无需审核。
控制台
如需修改已批准或采购的未来预留(无需审核),请按以下步骤操作:
在 Google Cloud 控制台中,转到预留页面。
点击未来预留标签页。
在名称列中,点击要修改的未来预留的名称。
系统会打开所选未来预留的详情页面。
如果您想要修改未来预留的自动删除选项和说明,请执行以下一项或多项操作:
在自动创建预留的自动删除时间行中,点击
修改,然后按照以下步骤操作:执行下列其中一项操作:
如需启用 Compute Engine 自动删除为未来预留请求自动创建的预留,请执行以下操作:
点击启用自动删除切换开关,以切换到开启位置。
可选:在自动删除时间字段中,输入删除自动创建预留的新日期和时间。日期和时间必须晚于预留期的结束时间。如果您将此字段留空,则自动创建的预留将在预留期结束时间之后 2 小时内删除。
否则,请点击启用自动删除切换开关,以切换到关闭位置。
点击提交。
在前缀行中,点击
修改,然后执行以下操作:在前缀字段中,输入新的名称前缀。
点击提交。
在说明行中,点击
修改,然后执行以下操作:在说明字段中,输入新说明。
点击提交。
gcloud
如需修改已批准或采购的未来预留(无需审核),请使用 gcloud beta compute future-reservations update
命令。
gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \
--description="DESCRIPTION" \
--name-prefix=NAME_PREFIX \
--project=PROJECT_ID \
--zone=ZONE
替换以下内容:
FUTURE_RESERVATION_NAME
:现有已批准或正在采购的未来预留的名称。
DESCRIPTION
:可选。未来预留的新说明。
NAME_PREFIX
:可选。未来预留的新名称前缀。 此未来预留的每个自动创建预留的名称以名称前缀开头。为了帮助您识别此未来预留的自动创建的预留,建议指定唯一的名称前缀。
PROJECT_ID
:可选。在其中创建未来预留的项目的 ID。
ZONE
:未来预留所在的可用区。
或者,您也可以通过执行以下操作之一,更改 Compute Engine 自动删除为未来预留自动创建的预留的条件和时间:
如需使 Compute Engine 在预留期结束时间之后自动删除自动创建的预留,请选择以下方法之一:
如需在结束时间后 2 小时内(默认)删除预留,请指定
--auto-delete-auto-created-reservations
标志。gcloud beta compute future-reservations update example-future-reservation \ --auto-delete-auto-created-reservations
如需在预留期结束时间之后的特定时间删除自动创建的预留,请指定
--auto-delete-auto-created-reservations
和--auto-created-reservations-delete-time
标志。gcloud beta compute future-reservations update example-future-reservation \ --auto-delete-auto-created-reservations \ --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME
将
AUTO_CREATED_RESERVATIONS_DELETE_TIME
替换为采用 RFC 3339 时间戳格式的日期和时间。如需在预留期结束时间后的特定时长之后删除自动创建的预留,请指定
--auto-delete-auto-created-reservations
和--auto-created-reservations-duration
标志。gcloud beta compute future-reservations update example-future-reservation \ --auto-delete-auto-created-reservations \ --auto-created-reservations-duration=DURATION_BEFORE_DELETE
将
DURATION_BEFORE_DELETE
替换为以天、小时、分钟或秒为单位的时长。例如,指定30m
表示 30 分钟,或指定1d2h3m4s
表示 1 天 2 小时 3 分钟 4 秒。
如需停用 Compute Engine,使其无法自动删除自动创建的预留,请指定
--no-auto-delete-auto-created-reservations
标志。gcloud beta compute future-reservations update example-future-reservation \ --no-auto-delete-auto-created-reservations
例如,请考虑已获批准的名为 fr-04
且位于可用区 us-central1-a
的未来预留。假设您希望通过进行以下更改来修改此未来预留:
启用自动删除选项。
86.4 万秒(10 天)后自动删除自动创建的预留。
指定新的名称前缀。
如需修改 fr-04
,请运行以下命令:
gcloud beta compute future-reservations update fr-04 \
--auto-delete-auto-created-reservations \
--auto-created-reservations-duration=864000 \
--name-prefix=new-prefix \
--project=example-project \
--zone=us-central1-a
REST
如需修改已批准或正在采购的未来预留(无需审核),请发出针对 beta.futureReservations.update
方法的 PATCH
请求。在 updateMask
查询参数中,指定要更新的每个字段。如果需要从预留中删除可选字段,请在 updateMask
查询参数中添加该字段,并在请求正文中省略该字段。
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=UPDATE_FIELDS
{
"autoDeleteAutoCreatedReservations": "AUTO_DELETE_AUTO_CREATED_RESERVATIONS",
"description": "DESCRIPTION",
"name": "FUTURE_RESERVATION_NAME",
"namePrefix": "NAME_PREFIX"
}
替换以下内容:
PROJECT_ID
:未来预留所在项目的 ID。ZONE
:未来预留所在的可用区。FUTURE_RESERVATION_NAME
:现有已批准或正在采购的未来预留的名称。 您无法修改未来预留的名称。UPDATE_FIELDS
:此PATCH
请求中要更新的字段的逗号分隔列表。您必须将每个英文逗号编码为%2C
。例如,如果要更新未来预留中的description
和namePrefix
字段,请指定以下内容:description%2CnamePrefix
AUTO_DELETE_AUTO_CREATED_RESERVATIONS
:可选。如果您将此字段设置为true
,则 Compute Engine 会自动删除此未来预留的自动创建预留。默认情况下,删除时间为预留期结束时间之后的 2 小时内。如需更改此设置,请执行以下操作之一:如需在预留期结束时间之后的特定时间删除自动创建的预留,请将
autoDeleteAutoCreatedReservations
设置为true
并指定autoCreatedReservationsDeleteTime
字段。PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDeleteTime { "autoDeleteAutoCreatedReservations": "true", "autoCreatedReservationsDeleteTime": "DELETE_TIME" }
将
DELETE_TIME
替换为 Compute Engine 删除预留的日期和时间。日期和时间必须采用 RFC 3339 时间戳格式,并且必须如下所示:YYYY-MM-DDTHH:MM:SSOFFSET
替换以下内容:
YYYY-MM-DD
:格式为 4 位数年份、2 位数月份和 2 位数日期而且相互之间以连字符 (-
) 分隔的日期。HH:MM:SS
:格式为 2 位数小时、2 位数分钟和 2 位数秒而且相互之间以冒号 (:
) 分隔的采用 24 小时制的时间。OFFSET
:采用世界协调时间 (UTC) 的偏移量格式的时区。 例如,要使用太平洋标准时间 (PST),请指定-08:00
。或者,如果不使用偏移量,请指定Z
。
如需在预留期开始时间起的特定时长后删除自动创建的预留,请将
autoDeleteAutoCreatedReservations
设置为true
并指定autoCreatedReservationsDuration
字段。PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDuration { "autoDeleteAutoCreatedReservations": "true", "autoCreatedReservationsDuration": { "seconds": "DURATION_BEFORE_DELETE" } }
将
DURATION_BEFORE_DELETE
替换为持续时间,以秒为单位。例如,指定604800
表示 604,800 秒(7 天)。
DESCRIPTION
:可选。如需更新未来预留的说明,请执行以下操作之一:如需添加或更新说明,请指定说明。
如需移除说明,请从请求正文中删除
description
字段并在UPDATE_FIELDS
中指定该字段。
NAME_PREFIX
:可选。未来预留的新名称前缀。 此未来预留的每个自动创建预留的名称以名称前缀开头。为了帮助您识别此未来预留的自动创建的预留,建议指定唯一的名称前缀。
例如,请考虑已获批准的名为 fr-04
且位于可用区 us-central1-a
的未来预留。假设您希望通过进行以下更改来修改此未来预留:
启用自动删除选项。
86.4 万秒(10 天)后自动删除自动创建的预留。
指定新的名称前缀。
要修改 fr-04
,请发出以下 PATCH
请求:
PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/fr-04?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDuration%2CnamePrefix
{
"autoDeleteAutoCreatedReservations": "true",
"autoCreatedReservationsDuration": {
"seconds": "864000"
},
"name": "fr-04",
"namePrefix": "new-prefix"
}
请求修改已批准或正在采购的未来预留
您可以依如下所示,请求 Google Cloud 修改采购状态设置为“已批准”(APPROVED
) 或“正在采购”(PROCURING
) 的未来预留:
如果您请求修改已批准的未来预留,则 Google Cloud 会执行以下操作之一:
批准请求,并将采购状态设置为“已批准”(
APPROVED
)。如果预留期的开始时间在 56 天(8 周)内,则 Compute Engine 会在几分钟内将采购状态设置为“正在采购”(PROCURING
)。拒绝请求,并将采购状态设置为“已拒绝” (
DECLINED
)。如果您想再次修改该未来预留,请参阅本文档中的修改未来预留请求草稿或被拒绝的未来预留请求。
如果您请求修改正在采购的未来预留,则 Compute Engine 会在未来预留中创建更新状态并将其设置为“更新待审批”(
AMENDMENT_PENDING_APPROVAL
)。然后,Google Cloud 会审核您的请求,并执行以下操作之一:批准该请求,并将更新状态设置为“更新已获批”(
AMENDMENT_APPROVED
)。拒绝请求,并将更新状态设置为“更新被拒绝”(
AMENDMENT_DECLINED
),并将之前已获批的属性用于自动创建的预留。
在 Google Cloud 审核您修改正在采购未来预留的请求期间,您无法修改任何属性,包括通常未经审批即可修改的属性(直到 Google Cloud 批准或拒绝您的请求为止)。
如需请求 Google Cloud 修改已批准或正在采购的未来预留的属性,请选择以下方法之一:
-
本部分介绍了如何请求 Google Cloud 通过指定实例模板修改所创建的已获批准且已提交的未来预留中的一个或多个属性。您无法替换用于创建未来预留的实例模板或替换其虚拟机属性。
-
本部分介绍了如何请求 Google Cloud 通过直接指定属性来修改所创建的已提交且已获批准的未来预留中一个或多个属性。
请求通过指定实例模板修改所创建的未来预留
对于通过指定实例模板创建并且采购状态为“已批准”(APPROVED
) 或“正在采购”(PROCURING
) 的未来预留,您可以请求修改以下属性:
自动删除
说明
名称前缀
共享设置
预留期的开始时间和结束时间
总数(虚拟机数量)†
† 如果您在未来预留开始时间后的 14 天内请求大幅增加或减少总数,Google Cloud 可能会拒绝您的请求。
您可以通过使用 gcloud CLI 和 REST 指定实例模板来请求 Google Cloud 修改已创建的未来预留。
控制台
如需请求 Google Cloud 通过指定实例模板修改所创建的已批准或正在采购的未来预留,请执行以下步骤:
在 Google Cloud 控制台中,转到预留页面。
点击未来预留标签页。
在名称列中,点击要修改的未来预留的名称。
系统会打开所选未来预留的详情页面。
如果您想要修改未来预留的自动删除选项和说明,请执行以下一项或多项操作:
在自动创建预留的自动删除时间行中,点击
修改,然后按照以下步骤操作:执行下列其中一项操作:
如需启用 Compute Engine 自动删除为未来预留请求自动创建的预留,请执行以下操作:
点击启用自动删除切换开关,以切换到开启位置。
可选:在自动删除时间字段中,输入删除自动创建预留的新日期和时间。日期和时间必须晚于预留期的结束时间。如果您将此字段留空,则自动创建的预留将在预留期结束时间之后 2 小时内删除。
否则,请点击启用自动删除切换开关,以切换到关闭位置。
点击提交。
在前缀行中,点击
修改,然后执行以下操作:在前缀字段中,输入新的名称前缀。
点击提交。
在说明行中,点击
修改,然后执行以下操作:在说明字段中,输入新说明。
点击提交。
点击
修改。系统随即会打开用于修改所选未来预留的页面。
如果要修改其他属性,请执行以下操作之一:
修改未来预留的开始时间或结束时间。为此,您需要确保实现以下各项安排:
在共享类型部分中,您可以选择本地或共享。如果您选择共享,则可以添加或移除项目,以便共享未来预留。
您最多可以选择 100 个项目。这些项目必须与创建该未来预留的项目(所有者项目)位于同一组织中。请勿指定所有者项目。默认情况下,系统已经允许为此未来预留使用共享的自动创建预留。
在虚拟机实例数量中输入您要为该时间段预留的虚拟机的总数、虚拟机配置和此未来预留中指定的项目。
计算要为已获批准的未来预留创建的预留数量时,Compute Engine 会首先检查现有预留。如果现有预留与已获批准的未来预留匹配,则系统会从该请求中所请求的预留总数减去现有预留数量,以确定 Compute Engine 创建的新预留的数量。如需了解详情,请参阅 Compute Engine 如何计算和预配预留资源。
如需向 Google Cloud 提交修改请求以供审核,请点击提交。
如果您提交请求,系统会打开预留页面。否则,系统会打开未来预留的详情页面。
gcloud
如需请求 Google Cloud 通过指定实例模板修改所创建的已批准或正在采购的未来预留,请使用 gcloud beta compute future-reservations update
命令。
gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \
--description="DESCRIPTION" \
--name-prefix=NAME_PREFIX \
--planning-status=PLANNING_STATUS \
--project=PROJECT_ID \
--share-setting=SHARE_SETTING \
--share-with=CONSUMER_PROJECT_IDS \
--start-time=START_TIME \
--end-time=END_TIME \
--total-count=TOTAL_COUNT \
--zone=ZONE
替换以下内容:
FUTURE_RESERVATION_NAME
:现有已批准或正在采购的未来预留的名称。
DESCRIPTION
:可选。未来预留的新说明。
NAME_PREFIX
:可选。未来预留的新名称前缀。 此未来预留的每个自动创建预留的名称以名称前缀开头。为了帮助您识别此未来预留的自动创建的预留,建议指定唯一的名称前缀。
PLANNING_STATUS
:未来预留的规划状态。您只能指定SUBMITTED
,这会将未来预留提交到 Google Cloud 以供审核。
PROJECT_ID
:可选。在其中创建未来预留的项目的 ID。 如果您将单项目未来预留修改为共享未来预留,则此项目将成为未来预留的所有者项目。如果您省略--project
标志,则值将设置为当前项目的 ID。
SHARE_SETTING
:可选。如需更改此未来预留的类型,请指定以下值之一:如需将单项目未来预留更改为共享未来预留,请指定
projects
。请确保使用--share-with
标志至少指定一个使用方项目。否则,修改未来预留请求将失败。否则,请指定
local
。
CONSUMER_PROJECT_IDS
:可选。可与其共享此未来预留的项目的项目 ID 的逗号分隔列表。例如,您应指定project-1,project-2
。您最多可以指定 100 个项目。这些项目必须与创建此未来预留的项目(所有者项目)位于同一组织中。请勿指定所有者项目。默认情况下,系统已经允许为此未来预留使用共享的自动创建预留。START_TIME
:可选。采用 RFC 3339 时间戳格式的预留期的新开始时间,必须如下所示:YYYY-MM-DDTHH:MM:SSOFFSET
替换以下内容:
YYYY-MM-DD
:格式为 4 位数年份、2 位数月份和 2 位数日期而且相互之间以连字符 (-
) 分隔的日期。HH:MM:SS
:格式为 2 位数小时、2 位数分钟和 2 位数秒而且相互之间以冒号 (:
) 分隔的采用 24 小时制的时间。OFFSET
:采用世界协调时间 (UTC) 的偏移量格式的时区。 例如,要使用太平洋标准时间 (PST),请指定-08:00
。或者,如果不使用偏移量,请指定Z
。
开始时间不能比您提交未来预留以供审核的日期和时间晚 1 年。如需有足够的时间在未来预留获得批准之后或在其进入锁定时间之前选择取消、删除或修改未来预留,请务必指定建议的开始时间。
END_TIME
:可选。预留期的新结束时间,格式为 RFC 3339 时间戳。预留期必须至少持续 24 小时。或者,您可以将--end-time
标志替换为--duration=END_DURATION
标志,其中END_DURATION
是预留期的时长,以秒表示。例如,指定1209600
表示 1,209,600 秒(14 天)。为了提高 Google Cloud 在您提交未来预留请求以供审核后批准该请求的可能性,请务必指定其中一个预留期建议值。
TOTAL_COUNT
:可选。您要为该时间段预留的虚拟机的新总数、虚拟机配置和此未来预留请求中指定的项目。计算要为已获批准的未来预留创建的预留数量时,Compute Engine 会首先检查现有预留。如果现有预留与已获批准的未来预留匹配,则系统会从该请求中所请求的预留总数减去现有预留数量,以确定 Compute Engine 创建的新预留的数量。如需了解详情,请参阅 Compute Engine 如何计算和预配预留资源。
注意:如果要增加要预留的虚拟机数量,请确保您有足够的配额用于请求预留的其他资源。否则,Google Cloud 会拒绝您的修改请求。
ZONE
:未来预留所在的可用区。
或者,您也可以通过执行以下操作之一,更改 Compute Engine 自动删除为未来预留自动创建的预留的条件和时间:
如需使 Compute Engine 在预留期结束时间之后自动删除自动创建的预留,请选择以下方法之一:
如需在结束时间后 2 小时内(默认)删除预留,请指定
--auto-delete-auto-created-reservations
标志。gcloud beta compute future-reservations update example-future-reservation \ --auto-delete-auto-created-reservations
如需在预留期结束时间之后的特定时间删除自动创建的预留,请指定
--auto-delete-auto-created-reservations
和--auto-created-reservations-delete-time
标志。gcloud beta compute future-reservations update example-future-reservation \ --auto-delete-auto-created-reservations \ --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME
将
AUTO_CREATED_RESERVATIONS_DELETE_TIME
替换为采用 RFC 3339 时间戳格式的日期和时间。如需在预留期结束时间后的特定时长之后删除自动创建的预留,请指定
--auto-delete-auto-created-reservations
和--auto-created-reservations-duration
标志。gcloud beta compute future-reservations update example-future-reservation \ --auto-delete-auto-created-reservations \ --auto-created-reservations-duration=DURATION_BEFORE_DELETE
将
DURATION_BEFORE_DELETE
替换为以天、小时、分钟或秒为单位的时长。例如,指定30m
表示 30 分钟,或指定1d2h3m4s
表示 1 天 2 小时 3 分钟 4 秒。
如需停用 Compute Engine,使其无法自动删除自动创建的预留,请指定
--no-auto-delete-auto-created-reservations
标志。gcloud beta compute future-reservations update example-future-reservation \ --no-auto-delete-auto-created-reservations
例如,请考虑已获批准的名为 fr-05
且位于可用区 us-central1-a
的未来预留。假设您希望请求 Google Cloud 通过进行以下更改来修改此未来预留:
将其预留期的结束时间更改为 2023 年 12 月 31 日午夜(世界协调时间 (UTC))。
预留 10 个虚拟机。
指定新的名称前缀。
如需请求 Google Cloud 修改 fr-05
,请运行以下命令:
gcloud beta compute future-reservations update fr-05 \
--end-time=2024-12-31T00:00:00Z \
--name-prefix=new-prefix \
--planning-status=SUBMITTED \
--project=example-project \
--total-count=10 \
--zone=us-central1-a
REST
如需请求 Google Cloud 通过指定实例模板修改所创建的已批准或正在采购的未来预留,请发出针对的 beta.futureReservations.update
方法的 PATCH
请求。在 updateMask
查询参数中,指定要更新的每个字段。如果需要从预留中删除可选字段,请在 updateMask
查询参数中添加该字段,并在请求正文中省略该字段。
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=UPDATE_FIELDS
{
"autoDeleteAutoCreatedReservations": "AUTO_DELETE_AUTO_CREATED_RESERVATIONS",
"description": "DESCRIPTION",
"name": "FUTURE_RESERVATION_NAME",
"namePrefix": "NAME_PREFIX",
"planningStatus": "PLANNING_STATUS",
"shareSettings": {
"projects": [
"CONSUMER_PROJECT_ID_1",
"CONSUMER_PROJECT_ID_2"
],
"shareType": "SHARE_TYPE"
},
"specificSkuProperties": {
"totalCount": "TOTAL_COUNT"
},
"timeWindow": {
"endTime": "END_TIME",
"startTime": "START_TIME"
}
}
替换以下内容:
PROJECT_ID
:未来预留所在项目的 ID。ZONE
:未来预留所在的可用区。FUTURE_RESERVATION_NAME
:现有已批准或正在采购的未来预留的名称。 您无法修改未来预留的名称。UPDATE_FIELDS
:此PATCH
请求中要更新的字段的逗号分隔列表。您必须将每个英文逗号编码为%2C
。例如,如果要更新未来预留中的autoDeleteAutoCreatedReservations
、totalCount
和endTime
字段,请指定以下项:autoDeleteAutoCreatedReservations%2CspecificSkuProperties.totalCount%2CtimeWindow.endTime
AUTO_DELETE_AUTO_CREATED_RESERVATIONS
:可选。如果您将此字段设置为true
,则 Compute Engine 会自动删除此未来预留的自动创建预留。默认情况下,删除时间为预留期结束时间之后的 2 小时内。如需更改此设置,请执行以下操作之一:如需在预留期结束时间之后的特定时间删除自动创建的预留,请将
autoDeleteAutoCreatedReservations
设置为true
并指定autoCreatedReservationsDeleteTime
字段。PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDeleteTime { "autoDeleteAutoCreatedReservations": "true", "autoCreatedReservationsDeleteTime": "DELETE_TIME" }
将
DELETE_TIME
替换为 Compute Engine 删除预留的日期和时间。日期和时间必须采用 RFC 3339 时间戳格式,并且必须如下所示:YYYY-MM-DDTHH:MM:SSOFFSET
替换以下内容:
YYYY-MM-DD
:格式为 4 位数年份、2 位数月份和 2 位数日期而且相互之间以连字符 (-
) 分隔的日期。HH:MM:SS
:格式为 2 位数小时、2 位数分钟和 2 位数秒而且相互之间以冒号 (:
) 分隔的采用 24 小时制的时间。OFFSET
:采用世界协调时间 (UTC) 的偏移量格式的时区。 例如,要使用太平洋标准时间 (PST),请指定-08:00
。或者,如果不使用偏移量,请指定Z
。
如需在预留期开始时间起的特定时长后删除自动创建的预留,请将
autoDeleteAutoCreatedReservations
设置为true
并指定autoCreatedReservationsDuration
字段。PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDuration { "autoDeleteAutoCreatedReservations": "true", "autoCreatedReservationsDuration": { "seconds": "DURATION_BEFORE_DELETE" } }
将
DURATION_BEFORE_DELETE
替换为持续时间,以秒为单位。例如,指定604800
表示 604,800 秒(7 天)。
DESCRIPTION
:可选。如需更新未来预留的说明,请执行以下操作之一:如需添加或更新说明,请指定说明。
如需移除说明,请从请求正文中删除
description
字段并在UPDATE_FIELDS
中指定该字段。
NAME_PREFIX
:可选。未来预留的新名称前缀。 此未来预留的每个自动创建预留的名称以名称前缀开头。为了帮助您识别此未来预留的自动创建的预留,建议指定唯一的名称前缀。
PLANNING_STATUS
:未来预留的规划状态。您只能指定SUBMITTED
,这会将未来预留提交到 Google Cloud 以供审核。SHARE_TYPE
:可选。如需更改此未来预留的共享类型,请指定以下值之一:如需将单项目未来预留更改为共享未来预留,请指定
SPECIFIC_PROJECTS
。此外,您必须在projects
字段中指定至少一个使用方项目。否则,修改未来预留将失败。否则,请指定
LOCAL
。 此外,您必须从请求正文中删除projects
字段并在UPDATE_FIELDS
中指定该字段。否则,修改未来预留将失败。
CONSUMER_PROJECT_ID_1
和CONSUMER_PROJECT_ID_2
:可选。可与其共享“共享未来预留”的项目的项目 ID。您最多可以指定 100 个项目。 这些项目必须与创建该未来预留的项目(所有者项目)位于同一组织中。请勿指定所有者项目。默认情况下,系统已经允许为此未来预留使用共享的自动创建预留。
TOTAL_COUNT
:可选。您要为该时间段预留的虚拟机的新总数、虚拟机配置和此未来预留请求中指定的项目。计算要为已获批准的未来预留创建的预留数量时,Compute Engine 会首先检查现有预留。如果现有预留与已获批准的未来预留匹配,则系统会从该请求中所请求的预留总数减去现有预留数量,以确定 Compute Engine 创建的新预留的数量。如需了解详情,请参阅 Compute Engine 如何计算和预配预留资源。
START_TIME
:可选。:采用 RFC 3339 时间戳格式的新的预留期开始时间。开始时间不能比您提交未来预留以供审核的日期和时间晚 1 年。此外,请务必指定建议的开始时间,以确保您在未来预留进入其锁定时间之前有足够的时间。END_TIME
:可选。预留期的新结束时间,格式为 RFC 3339 时间戳。预留期必须至少持续 24 小时。或者,您可以将endTime
字段替换为duration
字段,以指定从预留期开始时间起的具体时长:"duration": { "seconds": "END_DURATION" }
将
END_DURATION
替换为持续时间,以秒为单位。例如,指定1209600
表示 1,209,600 秒(14 天)。为了提高 Google Cloud 在您提交未来预留请求以供审核后批准该请求的可能性,请务必指定其中一个预留期建议值。
例如,请考虑已获批准的名为 fr-05
且位于可用区 us-central1-a
的未来预留。假设您希望请求 Google Cloud 通过进行以下更改来修改此未来预留:
将其预留期的结束时间更改为 2023 年 12 月 31 日午夜(世界协调时间 (UTC))。
预留 10 个虚拟机。
指定新的名称前缀。
如需请求 Google Cloud 修改 fr-05
,请发出以下 PATCH
请求:
PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/fr-05?updateMask=namePrefix%2CspecificSkuProperties.totalCount%2CtimeWindow.endTime
{
"name": "fr-05",
"namePrefix": "new-prefix",
"planningStatus": "SUBMITTED",
"specificSkuProperties": {
"totalCount": "10"
},
"timeWindow": {
"endTime": "2023-12-31T00:00:00Z"
}
}
向 Google Cloud 提交修改未来预留的请求后,您可以通过查看未来预留的详细信息来监控请求的状态。
请求通过直接指定属性来修改所创建的未来预留
对于通过直接指定属性来创建并且采购状态为“已批准”(APPROVED
) 或“正在采购”(Procuring
) 的未来预留,您可以请求修改以下属性:
自动删除
说明
名称前缀
GPU‡
本地 SSD 和磁盘接口类型‡
机器系列和机器类型‡
满足最低 CPU 要求的平台‡
共享设置
预留期的开始时间和结束时间
总数(虚拟机数量)‡
‡ 如果您在未来预留开始时间后的 14 天内请求更改任何虚拟机属性或者请求大幅增加或减少总数,Google Cloud 可能会拒绝您的请求。
您可以通过使用 Google Cloud 控制台、gcloud CLI 和 REST 直接指定属性来请求 Google Cloud 修改已创建的未来预留。
控制台
如需请求 Google Cloud 通过直接指定属性修改所创建的已批准或正在采购的未来预留,请执行以下步骤:
在 Google Cloud 控制台中,转到预留页面。
点击未来预留标签页。
在名称列中,点击要修改的未来预留的名称。
系统会打开所选未来预留的详情页面。
如果您想要修改未来预留的自动删除选项和说明,请执行以下一项或多项操作:
在自动创建预留的自动删除时间行中,点击
修改,然后按照以下步骤操作:执行下列其中一项操作:
如需启用 Compute Engine 自动删除为未来预留请求自动创建的预留,请执行以下操作:
点击启用自动删除切换开关,以切换到开启位置。
可选:在自动删除时间字段中,输入删除自动创建预留的新日期和时间。日期和时间必须晚于预留期的结束时间。如果您将此字段留空,则自动创建的预留将在预留期结束时间之后 2 小时内删除。
否则,请点击启用自动删除切换开关,以切换到关闭位置。
点击提交。
在前缀行中,点击
修改,然后执行以下操作:在前缀字段中,输入新的名称前缀。
点击提交。
在说明行中,点击
修改,然后执行以下操作:在说明字段中,输入新说明。
点击提交。
点击
修改。系统随即会打开用于修改所选未来预留的页面。
如果要修改其他属性,请执行以下操作之一:
修改未来预留的开始时间或结束时间。为此,您需要确保实现以下各项安排:
在共享类型部分中,您可以选择本地或共享。如果您选择共享,则可以添加或移除项目,以便共享未来预留。
您最多可以选择 100 个项目。这些项目必须与创建该未来预留的项目(所有者项目)位于同一组织中。请勿指定所有者项目。默认情况下,系统已经允许为此未来预留使用共享的自动创建预留。
在虚拟机实例数量中输入您要为该时间段预留的虚拟机的总数、虚拟机配置和此未来预留中指定的项目。
计算要为已获批准的未来预留创建的预留数量时,Compute Engine 会首先检查现有预留。如果现有预留与已获批准的未来预留匹配,则系统会从该请求中所请求的预留总数减去现有预留数量,以确定 Compute Engine 创建的新预留的数量。如需了解详情,请参阅 Compute Engine 如何计算和预配预留资源。
在机器配置部分中,您可以更改以下内容:
已预留虚拟机中使用的机器系列和机器类型。
要挂接到已预留虚拟机的 GPU。
已预留虚拟机的本地 SSD 和磁盘接口类型。
如需向 Google Cloud 提交修改请求以供审核,请点击提交。
如果您提交请求,系统会打开预留页面。否则,系统会打开未来预留的详情页面。
gcloud
如需请求 Google Cloud 通过直接指定属性修改所创建的已批准或正在采购的未来预留,请使用 gcloud beta compute future-reservations update
命令。
gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \
--accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \
--description="DESCRIPTION" \
--local-ssd=size=375,interface=INTERFACE_1 \
--local-ssd=size=375,interface=INTERFACE_2 \
--machine-type=MACHINE_TYPE \
--min-cpu-platform=MIN_CPU_PLATFORM \
--name-prefix=NAME_PREFIX \
--planning-status=PLANNING_STATUS \
--project=PROJECT_ID \
--share-setting=SHARE_SETTING \
--share-with=CONSUMER_PROJECT_IDS \
--start-time=START_TIME \
--end-time=END_TIME \
--total-count=TOTAL_COUNT \
--zone=ZONE
替换以下内容:
FUTURE_RESERVATION_NAME
:现有已批准或正在采购的未来预留的名称。
可选。执行下列其中一项操作:
如需向每个已预留虚拟机添加图形处理器 (GPU),请指定以下内容:
NUMBER_OF_ACCELERATORS
:要为每个已预留虚拟机添加的 GPU 的数量。ACCELERATOR_TYPE
:要添加到已预留虚拟机的 GPU 的类型。
确保您在未来预留中指定的机器类型支持您指定的 GPU 类型,并且该 GPU 在您要预留资源的可用区中可用。否则,您会遇到错误。
如需从此未来请求中移除所有 GPU,请将
--accelerator
标志替换为--clear-accelerator
标志。
DESCRIPTION
:可选。未来预留的新说明。
可选。执行下列其中一项操作:
如需添加或修改您希望每个虚拟机的本地 SSD 使用的接口类型,请替换
INTERFACE_1
和INTERFACE_2
。该值必须为以下项之一:如果您的启动磁盘映像具有优化的 NVMe 驱动程序,请指定
nvme
。否则,请指定
scsi
。
每个本地 SSD 为 375 GB。对您要添加的每个本地 SSD,请重复使用
--local-ssd
标志。您最多可以指定 24 个本地 SSD。如需从此未来预留中移除所有本地 SSD,请移除所有
--local-ssd
标志并指定--clear-local-ssd
标志。
MACHINE_TYPE
:可选。要用于每个虚拟机的预定义或自定义机器类型。在指定自定义机器类型之前,请查看自定义机器类型的虚拟机的限制。MINIMUM_CPU_PLATFORM
:可选。用于每个虚拟机的满足最低要求的 CPU 平台。如果您省略--min-cpu-platform
标志,则其值设置为可用区的默认 CPU 平台。
NAME_PREFIX
:可选。未来预留的新名称前缀。 此未来预留的每个自动创建预留的名称以名称前缀开头。为了帮助您识别此未来预留的自动创建的预留,建议指定唯一的名称前缀。
PLANNING_STATUS
:未来预留的规划状态。您只能指定SUBMITTED
,这会将未来预留提交到 Google Cloud 以供审核。
PROJECT_ID
:可选。在其中创建未来预留的项目的 ID。 如果您将单项目未来预留修改为共享未来预留,则此项目将成为未来预留的所有者项目。如果您省略--project
标志,则值将设置为当前项目的 ID。
SHARE_SETTING
:可选。如需更改此未来预留的类型,请指定以下值之一:如需将单项目未来预留更改为共享未来预留,请指定
projects
。请确保使用--share-with
标志至少指定一个使用方项目。否则,修改未来预留请求将失败。否则,请指定
local
。
CONSUMER_PROJECT_IDS
:可选。可与其共享此未来预留的项目的项目 ID 的逗号分隔列表。例如,您应指定project-1,project-2
。您最多可以指定 100 个项目。这些项目必须与创建此未来预留的项目(所有者项目)位于同一组织中。请勿指定所有者项目。默认情况下,系统已经允许为此未来预留使用共享的自动创建预留。START_TIME
:可选。采用 RFC 3339 时间戳格式的预留期的新开始时间,必须如下所示:YYYY-MM-DDTHH:MM:SSOFFSET
替换以下内容:
YYYY-MM-DD
:格式为 4 位数年份、2 位数月份和 2 位数日期而且相互之间以连字符 (-
) 分隔的日期。HH:MM:SS
:格式为 2 位数小时、2 位数分钟和 2 位数秒而且相互之间以冒号 (:
) 分隔的采用 24 小时制的时间。OFFSET
:采用世界协调时间 (UTC) 的偏移量格式的时区。 例如,要使用太平洋标准时间 (PST),请指定-08:00
。或者,如果不使用偏移量,请指定Z
。
开始时间不能比您提交未来预留以供审核的日期和时间晚 1 年。如需有足够的时间在未来预留获得批准之后或在其进入锁定时间之前选择取消、删除或修改未来预留,请务必指定建议的开始时间。
END_TIME
:可选。预留期的新结束时间,格式为 RFC 3339 时间戳。预留期必须至少持续 24 小时。或者,您可以将--end-time
标志替换为--duration=END_DURATION
标志,其中END_DURATION
是预留期的时长,以秒表示。例如,指定1209600
表示 1,209,600 秒(14 天)。为了提高 Google Cloud 在您提交未来预留请求以供审核后批准该请求的可能性,请务必指定其中一个预留期建议值。
TOTAL_COUNT
:可选。您要为该时间段预留的虚拟机的新总数、虚拟机配置和此未来预留请求中指定的项目。计算要为已获批准的未来预留创建的预留数量时,Compute Engine 会首先检查现有预留。如果现有预留与已获批准的未来预留匹配,则系统会从该请求中所请求的预留总数减去现有预留数量,以确定 Compute Engine 创建的新预留的数量。如需了解详情,请参阅 Compute Engine 如何计算和预配预留资源。
注意:如果要增加要预留的虚拟机数量,请确保您有足够的配额用于请求预留的其他资源。否则,Google Cloud 会拒绝您的修改请求。
ZONE
:未来预留所在的可用区。
或者,您也可以通过执行以下操作之一,更改 Compute Engine 自动删除为未来预留自动创建的预留的条件和时间:
如需使 Compute Engine 在预留期结束时间之后自动删除自动创建的预留,请选择以下方法之一:
如需在结束时间后 2 小时内(默认)删除预留,请指定
--auto-delete-auto-created-reservations
标志。gcloud beta compute future-reservations update example-future-reservation \ --auto-delete-auto-created-reservations
如需在预留期结束时间之后的特定时间删除自动创建的预留,请指定
--auto-delete-auto-created-reservations
和--auto-created-reservations-delete-time
标志。gcloud beta compute future-reservations update example-future-reservation \ --auto-delete-auto-created-reservations \ --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME
将
AUTO_CREATED_RESERVATIONS_DELETE_TIME
替换为采用 RFC 3339 时间戳格式的日期和时间。如需在预留期结束时间后的特定时长之后删除自动创建的预留,请指定
--auto-delete-auto-created-reservations
和--auto-created-reservations-duration
标志。gcloud beta compute future-reservations update example-future-reservation \ --auto-delete-auto-created-reservations \ --auto-created-reservations-duration=DURATION_BEFORE_DELETE
将
DURATION_BEFORE_DELETE
替换为以天、小时、分钟或秒为单位的时长。例如,指定30m
表示 30 分钟,或指定1d2h3m4s
表示 1 天 2 小时 3 分钟 4 秒。
如需停用 Compute Engine,使其无法自动删除自动创建的预留,请指定
--no-auto-delete-auto-created-reservations
标志。gcloud beta compute future-reservations update example-future-reservation \ --no-auto-delete-auto-created-reservations
例如,请考虑已获批准的名为 fr-05
且位于可用区 us-central1-a
的未来预留。假设您希望请求 Google Cloud 通过进行以下更改来修改此未来预留:
将其预留期的结束时间更改为 2023 年 12 月 31 日午夜(世界协调时间 (UTC))。
预留 10 个虚拟机。
指定新的名称前缀。
如需请求 Google Cloud 修改 fr-05
,请运行以下命令:
gcloud beta compute future-reservations update fr-05 \
--end-time=2024-12-31T00:00:00Z \
--name-prefix=new-prefix \
--planning-status=SUBMITTED \
--project=example-project \
--total-count=10 \
--zone=us-central1-a
REST
如需请求 Google Cloud 通过直接指定属性修改所创建的已批准或正在采购的未来预留,请发出针对 beta.futureReservations.update
方法的 PATCH
请求。在 updateMask
查询参数中,指定要更新的每个字段。如果需要从预留中删除可选字段,请在 updateMask
查询参数中添加该字段,并在请求正文中省略该字段。
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=UPDATE_FIELDS
{
"autoDeleteAutoCreatedReservations": "AUTO_DELETE_AUTO_CREATED_RESERVATIONS",
"description": "DESCRIPTION",
"name": "FUTURE_RESERVATION_NAME",
"namePrefix": "NAME_PREFIX",
"planningStatus": "PLANNING_STATUS",
"shareSettings": {
"projects": [
"CONSUMER_PROJECT_ID_1",
"CONSUMER_PROJECT_ID_2"
],
"shareType": "SHARE_TYPE"
},
"specificSkuProperties": {
"instanceProperties": {
"guestAccelerators": [
{
"acceleratorCount": NUMBER_OF_ACCELERATORS,
"acceleratorType": "ACCELERATOR_TYPE"
}
],
"localSsds": [
{
"diskSizeGb": "375",
"interface": "INTERFACE_1"
},
{
"diskSizeGb": "375",
"interface": "INTERFACE_2"
}
],
"machineType": "MACHINE_TYPE",
"minCpuPlatform": "MINIMUM_CPU_PLATFORM"
},
"totalCount": "TOTAL_COUNT"
},
"timeWindow": {
"endTime": "END_TIME",
"startTime": "START_TIME"
}
}
替换以下内容:
PROJECT_ID
:未来预留所在项目的 ID。ZONE
:未来预留所在的可用区。FUTURE_RESERVATION_NAME
:现有已批准或正在采购的未来预留的名称。 您无法修改未来预留的名称。UPDATE_FIELDS
:此PATCH
请求中要更新的字段的逗号分隔列表。您必须将每个英文逗号编码为%2C
。例如,如果要更新未来预留中的autoDeleteAutoCreatedReservations
、totalCount
和endTime
字段,请指定以下项:autoDeleteAutoCreatedReservations%2CspecificSkuProperties.totalCount%2CtimeWindow.endTime
AUTO_DELETE_AUTO_CREATED_RESERVATIONS
:可选。如果您将此字段设置为true
,则 Compute Engine 会自动删除此未来预留的自动创建预留。默认情况下,删除时间为预留期结束时间之后的 2 小时内。如需更改此设置,请执行以下操作之一:如需在预留期结束时间之后的特定时间删除自动创建的预留,请将
autoDeleteAutoCreatedReservations
设置为true
并指定autoCreatedReservationsDeleteTime
字段。PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDeleteTime { "autoDeleteAutoCreatedReservations": "true", "autoCreatedReservationsDeleteTime": "DELETE_TIME" }
将
DELETE_TIME
替换为 Compute Engine 删除预留的日期和时间。日期和时间必须采用 RFC 3339 时间戳格式,并且必须如下所示:YYYY-MM-DDTHH:MM:SSOFFSET
替换以下内容:
YYYY-MM-DD
:格式为 4 位数年份、2 位数月份和 2 位数日期而且相互之间以连字符 (-
) 分隔的日期。HH:MM:SS
:格式为 2 位数小时、2 位数分钟和 2 位数秒而且相互之间以冒号 (:
) 分隔的采用 24 小时制的时间。OFFSET
:采用世界协调时间 (UTC) 的偏移量格式的时区。 例如,要使用太平洋标准时间 (PST),请指定-08:00
。或者,如果不使用偏移量,请指定Z
。
如需在预留期开始时间起的特定时长后删除自动创建的预留,请将
autoDeleteAutoCreatedReservations
设置为true
并指定autoCreatedReservationsDuration
字段。PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/example-future-reservation?updateMask=autoDeleteAutoCreatedReservations%2CautoCreatedReservationsDuration { "autoDeleteAutoCreatedReservations": "true", "autoCreatedReservationsDuration": { "seconds": "DURATION_BEFORE_DELETE" } }
将
DURATION_BEFORE_DELETE
替换为持续时间,以秒为单位。例如,指定604800
表示 604,800 秒(7 天)。
DESCRIPTION
:可选。如需更新未来预留的说明,请执行以下操作之一:如需添加或更新说明,请指定说明。
如需移除说明,请从请求正文中删除
description
字段并在UPDATE_FIELDS
中指定该字段。
NAME_PREFIX
:可选。未来预留的新名称前缀。 此未来预留的每个自动创建预留的名称以名称前缀开头。为了帮助您识别此未来预留的自动创建的预留,建议指定唯一的名称前缀。
PLANNING_STATUS
:未来预留的规划状态。您只能指定SUBMITTED
,这会将未来预留提交到 Google Cloud 以供审核。SHARE_TYPE
:可选。如需更改此未来预留的共享类型,请指定以下值之一:如需将单项目未来预留更改为共享未来预留,请指定
SPECIFIC_PROJECTS
。此外,您必须在projects
字段中指定至少一个使用方项目。否则,修改未来预留将失败。否则,请指定
LOCAL
。 此外,您必须从请求正文中删除projects
字段并在UPDATE_FIELDS
中指定该字段。否则,修改未来预留将失败。
CONSUMER_PROJECT_ID_1
和CONSUMER_PROJECT_ID_2
:可选。可与其共享“共享未来预留”的项目的项目 ID。您最多可以指定 100 个项目。 这些项目必须与创建该未来预留的项目(所有者项目)位于同一组织中。请勿指定所有者项目。默认情况下,系统已经允许为此未来预留使用共享的自动创建预留。
可选。如需更新挂接到每个预留的虚拟机的图形处理单元 (GPU),请执行以下操作之一:
如需添加或修改 GPU,请指定以下内容:
NUMBER_OF_ACCELERATORS
:要为每个已预留虚拟机添加的 GPU 的数量。ACCELERATOR_TYPE
:要添加到已预留虚拟机的 GPU 的类型。
确保您在未来预留中指定的机器类型支持您指定的 GPU 类型,并且该 GPU 在您要预留资源的可用区中可用。否则,您会遇到错误。
如需从此 future 请求中移除所有 GPU,请省略请求正文中的
guestAccelerators
字段并在UPDATE_FIELDS
中指定该字段。
可选。如需更新挂接到每个预留虚拟机的本地 SSD,请执行以下操作之一:
如需添加或修改您希望每个虚拟机的本地 SSD 使用的接口类型,请替换
INTERFACE_1
和INTERFACE_2
。该值必须为以下项之一:如果您的启动磁盘映像具有优化的 NVMe 驱动程序,请指定
NVME
。否则,请指定
SCSI
。
对要添加或更新的每个本地 SSD 重复
diskSizeGb
和interface
字段。您最多可以指定 24 个本地 SSD。如需从此未来预留中移除所有本地 SSD,请从请求正文中删除
localSsds
字段并在UPDATE_FIELDS
中指定该字段。
MACHINE_TYPE
:可选。要用于每个虚拟机的预定义或自定义机器类型。在指定自定义机器类型之前,请查看自定义机器类型的虚拟机的限制。MINIMUM_CPU_PLATFORM
:可选。如需更新每个虚拟机的满足最低要求的 CPU 平台,请执行以下操作之一:如需添加或更新满足最低要求的 CPU 平台,请指定满足最低要求的 CPU 平台。
要还原为可用区的默认 CPU 平台,请从请求正文中删除
minCpuPlatform
字段并在UPDATE_FIELDS
中指定该字段。
TOTAL_COUNT
:可选。您要为该时间段预留的虚拟机的新总数、虚拟机配置和此未来预留请求中指定的项目。计算要为已获批准的未来预留创建的预留数量时,Compute Engine 会首先检查现有预留。如果现有预留与已获批准的未来预留匹配,则系统会从该请求中所请求的预留总数减去现有预留数量,以确定 Compute Engine 创建的新预留的数量。如需了解详情,请参阅 Compute Engine 如何计算和预配预留资源。
START_TIME
:可选。:采用 RFC 3339 时间戳格式的新的预留期开始时间。开始时间不能比您提交未来预留以供审核的日期和时间晚 1 年。此外,请务必指定建议的开始时间,以确保您在未来预留进入其锁定时间之前有足够的时间。END_TIME
:可选。预留期的新结束时间,格式为 RFC 3339 时间戳。预留期必须至少持续 24 小时。或者,您可以将endTime
字段替换为duration
字段,以指定从预留期开始时间起的具体时长:"duration": { "seconds": "END_DURATION" }
将
END_DURATION
替换为持续时间,以秒为单位。例如,指定1209600
表示 1,209,600 秒(14 天)。为了提高 Google Cloud 在您提交未来预留请求以供审核后批准该请求的可能性,请务必指定其中一个预留期建议值。
例如,请考虑已获批准的名为 fr-05
且位于可用区 us-central1-a
的未来预留。假设您希望请求 Google Cloud 通过进行以下更改来修改此未来预留:
将其预留期的结束时间更改为 2023 年 12 月 31 日午夜(世界协调时间 (UTC))。
预留 10 个虚拟机。
指定新的名称前缀。
如需请求 Google Cloud 修改 fr-05
,请发出以下 PATCH
请求:
PATCH https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/fr-05?updateMask=namePrefix%2CspecificSkuProperties.totalCount%2CtimeWindow.endTime
{
"name": "fr-05",
"namePrefix": "new-prefix",
"planningStatus": "SUBMITTED",
"specificSkuProperties": {
"totalCount": "10"
},
"timeWindow": {
"endTime": "2023-12-31T00:00:00Z"
}
}
向 Google Cloud 提交修改未来预留的请求后,您可以通过查看未来预留的详细信息来监控请求的状态。
更改未来预留请求中的任何其他属性
如果您想要在未来预留请求达到“正在采购”(PROCURING
) 的采购状态之前更改任何其他属性,请按照以下步骤操作:
执行以下一个或多个操作:
问题排查
如果您在修改未来预留请求时遇到错误,请参阅如何对未来预留请求进行问题排查。
如果您在进行问题排查后仍遇到问题,请联系您的客户代表或 Google Cloud 支持团队。
取消未来预留请求
您可以取消已批准、已拒绝或待审批的未来预留请求,以阻止 Google Cloud 预配所请求的容量。取消未来预留请求后,您只能查看其详细信息或将其删除。
您可以使用 gcloud CLI 和 REST 取消未来预留请求。
gcloud
要取消未来预留请求,请使用 gcloud beta compute future-reservations cancel
命令。
gcloud beta compute future-reservations cancel FUTURE_RESERVATION_NAME \
--project=PROJECT_ID \
--zone=ZONE
替换以下内容:
FUTURE_RESERVATION_NAME
:现有未来预留请求的名称。PROJECT_ID
:可选。未来预留请求所在项目的 ID。如果您省略--project
标志,则系统会使用当前项目的 ID。ZONE
:未来预留请求所在的可用区。
REST
要取消未来预留请求,请发出针对 beta.futureReservations.cancel
方法的 POST
请求。
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME/cancel
替换以下内容:
PROJECT_ID
:未来预留请求所在项目的 ID。ZONE
:未来预留请求所在的可用区。FUTURE_RESERVATION_NAME
:现有未来预留请求的名称。
删除未来预留请求
只有在以下一种情况下,您才能删除某未来预留请求:
该未来预留请求已取消。
在该未来预留到达其预留期的开始时间之前。
未来预留达到其预留期结束时间之后。
删除某未来预留不会删除针对该未来预留的自动创建预留。如果您想要在预留期结束后删除自动创建的预留,请参阅删除预留。
您可以使用 Google Cloud 控制台、gcloud CLI 和 REST 删除未来预留请求。
控制台
如需删除某未来预留请求,请按以下步骤操作:
在 Google Cloud 控制台中,转到预留页面。
点击未来预留标签页。
选中您想要删除的每个未来预留请求旁边的复选框。
点击
删除预留。请点击删除来确认操作。
删除未来预留请求可能最多需要一分钟就能完成。
gcloud
如需删除未来预留请求,请使用 gcloud beta compute future-reservations delete
命令。
gcloud beta compute future-reservations delete FUTURE_RESERVATION_NAME \
--project=PROJECT_ID \
--zone=ZONE
替换以下内容:
FUTURE_RESERVATION_NAME
:现有未来预留请求的名称。PROJECT_ID
:可选。未来预留请求所在项目的 ID。如果您省略--project
标志,则系统会使用当前项目的 ID。ZONE
:未来预留请求所在的可用区。
REST
如需删除未来预留请求,请发出针对 beta.futureReservations.delete
方法的 DELETE
请求。
DELETE https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME
替换以下内容:
PROJECT_ID
:未来预留请求所在项目的 ID。ZONE
:未来预留请求所在的可用区。FUTURE_RESERVATION_NAME
:现有未来预留请求的名称。