取消或删除未来预留请求


本文档介绍了如何取消或删除未来预留请求。

在未来预留请求达到其锁定时间之前,您可以执行以下操作之一,以阻止 Compute Engine 预配请求的资源:

  • 取消未来预留请求。这对于在创建新请求时保留已取消的请求以供参考非常有用。不过,如果未来预留请求已被取消,则您将无法在项目中或与该请求共享的项目中创建属性与该取消的请求匹配的新请求,直到您删除该请求为止。如需了解详情,请参阅创建方面的限制

  • 删除未来预留请求。当您不再需要请求时,此方法非常有用。删除未来预留请求会永久删除该请求,并移除对创建新请求的任何限制。

已执行的未来预留达到其预留期结束时间后,您可以将其删除,以便解除对创建新请求的任何限制。不过,删除已履行的未来预订不会删除其自动创建的预订。如需在预留期结束后删除自动创建的预留,请参阅删除预留

准备工作

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

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

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证

所需的角色

如需获得取消或删除未来预留请求所需的权限,请让您的管理员为您授予项目的 Compute Future Reservation Admin (roles/compute.futureReservationAdmin) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

此预定义角色包含取消或删除未来预订请求所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需取消或删除未来预留请求,您需要具备以下权限:

  • 取消未来预留:针对项目的 compute.futureReservations.cancel 权限
  • 删除未来预留:针对项目的 compute.futureReservations.delete 权限

您也可以使用自定义角色或其他预定义角色来获取这些权限。

取消未来预留请求

只有在以下情况下,您才能取消未来预留:

  • 请求正在等待审批或已被拒绝。

  • 该请求已获批准,但尚未到达锁定时间。

取消未来预留请求后,您只能查看该请求的详细信息将其删除

如需取消未来预留请求,请选择以下选项之一:

gcloud

要取消未来预留请求,请使用 gcloud beta compute future-reservations cancel 命令

gcloud beta compute future-reservations cancel FUTURE_RESERVATION_NAME \
    --zone=ZONE

替换以下内容:

  • FUTURE_RESERVATION_NAME:现有未来预留请求的名称。

  • 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 控制台。否则,如需删除单个未来预留请求,请选择以下任一选项:

控制台

  1. 在 Google Cloud 控制台中,转到预留页面。

    转到“预留”

  2. 点击未来预留标签页。

  3. 选择您要删除的每个未来预留请求。

  4. 点击 删除预留

  5. 请点击删除来确认操作。

    删除未来预留请求可能最多需要一分钟就能完成。

gcloud

如需删除未来预留请求,请使用 gcloud beta compute future-reservations delete 命令

gcloud beta compute future-reservations delete FUTURE_RESERVATION_NAME \
    --zone=ZONE

替换以下内容:

  • FUTURE_RESERVATION_NAME:现有未来预留请求的名称。

  • 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:现有未来预留请求的名称。

后续步骤