删除 Apigee 组织

本页面适用于 Apigee,但不适用于 Apigee Hybrid。

查看 Apigee Edge 文档。

本页面介绍了如何从 Google Cloud 项目中完全删除 Apigee 组织,包括释放 Apigee 无法自行清理的网络资源所需的后续步骤。您需要执行的删除后清理取决于组织的预配方式:

  • 在启用 VPC 对等互连的情况下预配的组织在您的 VPC 与 Apigee 租户网络之间也具有 Service Networking VPC 对等互连连接。在您删除组织后,该连接以及与其关联的任何预留对等互连范围和 VPC 网络仍会保留,如果您不再需要它们,则必须单独清理。请参阅后续操作:使用 VPC 对等互连预配的组织。

  • 在预配时停用了 VPC 对等互连的组织使用 Private Service Connect 而不是 Service Networking 连接,因此没有要移除的提供方对等互连。您仍必须删除在预配组织时创建的北向 Private Service Connect 负载均衡器(转发规则、目标 HTTPS 代理、网址映射、后端服务、PSC 网络端点组、SSL 证书和预留 IP 地址),否则转发规则和预留 IP 地址会继续产生费用。请参阅后续操作:在不使用 VPC 对等互连的情况下预配的组织。

准备工作部分介绍了如何确定您的组织属于哪个类别。

准备工作

必需的 IAM 权限

  • 在 Apigee 组织(通常为 APIGEE_PROJECT_ID)上:apigee.organizations.delete。此权限包含在 roles/apigee.admin 角色中,Apigee 角色指南将其描述为唯一可以创建、删除或更新组织的角色。

  • 此外,如果您的组织在预配时启用了 VPC 对等互连,并且您计划清理服务网络连接、VPC 对等互连范围或 VPC 网络(如后续操作:预配了 VPC 对等互连的组织中所述),则在拥有对等互连 VPC 网络的项目(网络项目,在共享 VPC 设置中可能与您的 Apigee 项目不同)上,需要 servicenetworking.services.deleteConnection、compute.globalAddresses.delete 和 compute.networks.delete。

请先删除依赖资源

在删除组织之前,请先删除 Apigee 要求您移除的资源:

备份您要保留的所有数据

备份您以后可能需要的任何组织级层数据或资源。 保留期限过后,存储在组织中的数据将无法恢复。

确定您的组织是否使用 VPC 对等互连

删除组织后需要执行的后续清理工作取决于该组织在预配时是否启用了 VPC 对等互连。在删除组织的配置之前,请使用 organizations.get API 读取该配置:

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://apigee.googleapis.com/v1/organizations/ORGANIZATION"

此页面上的此 Apigee REST 调用和所有其他 Apigee REST 调用都以全局 apigee.googleapis.com 端点为目标。如果您的组织位于数据驻留区域,请在每个示例中替换相应的区域端点。

在响应中查找 disableVpcPeering 字段:

  • 如果响应包含 "disableVpcPeering": true,则表示该组织是在不使用 VPC 对等互连的情况下预配的。删除组织后,请按照后续操作:不使用 VPC 对等互连预配的组织中的说明操作。

  • 如果该字段为 false 或不存在,则表示该组织是使用 VPC 对等互连预配的。记录同一响应中的以下两个额外值;您在清理期间需要用到它们:

    • authorizedNetwork 字段,用于标识与 Apigee 对等互连的 VPC 网络。它以以下两种形式之一显示:
      • 完整资源路径 projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME,其中对网络项目和网络名称进行了编码。当网络与 Apigee 组织位于不同的项目中时,通常在共享 VPC 设置中使用此表单,其中网络位于宿主项目中。
      • 仅网络名称(例如 apigee-network)。如果仅存在名称,则网络与 Apigee 组织位于同一 Google Cloud 云项目 中,请将该项目 (APIGEE_PROJECT_ID) 视为清理步骤的 NETWORK_PROJECT_ID。
      请注意,authorizedNetwork 仅在 VPC 对等互连组织中设置。
    • 您最初为 VPC 对等互连范围预留的全局地址的名称(例如 apigee-range)。您在首次预配组织时预留了此地址。

    删除组织后,请按照后续操作:使用 VPC 对等互连预配的组织中的步骤操作。

删除 Apigee 组织

调用 organizations.delete API 以删除组织。该调用会返回一个长时间运行的操作,对于评估组织,会立即执行删除操作;对于付费组织(订阅或随用随付),会执行软删除,具体取决于保留期限。

curl -X DELETE \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://apigee.googleapis.com/v1/organizations/ORGANIZATION"

如需为付费组织使用最短(24 小时)保留期限,请附加 retention 查询参数:

curl -X DELETE \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://apigee.googleapis.com/v1/organizations/ORGANIZATION?retention=MINIMUM"

响应包含长时间运行的操作。您可以使用 organizations.operations.get 对其进行轮询。

后续:在不使用 VPC 对等互连的情况下预配的组织

如果组织的 disableVpcPeering 字段为 true,则删除该组织不会释放任何 Service Networking 资源,因为在没有 VPC 对等互连的情况下预配的组织从未建立过 Service Networking 连接,也没有要移除的提供方对等互连。

您仍必须删除在预配组织时在自己的项目中创建的北向 Private Service Connect 负载均衡器。这些资源不归 Apigee 所有,organizations.delete 不会释放其中任何资源。按依赖项的反向顺序删除它们:

  1. 转发规则
  2. 目标 HTTPS 代理
  3. 网址映射
  4. 后端服务
  5. PSC 网络端点组
  6. SSL 证书
  7. 预留的 IP 地址

北向清理完成后,继续执行保留窗口和重新预配。

后续行动:使用 VPC 对等互连预配的组织

删除 Apigee 组织不会释放您在预配组织时建立的服务网络 VPC 对等互连连接。连接仍保留在您的 VPC 网络中,以及预留的对等互连范围和您专用于对等互连的任何 VPC 网络。如果您不再需要这些资源,请按照规范的配置专用服务访问通道和 Service Networking 过程完成清理。本部分的其余部分仅提供特定于 Apigee 拆解的值和警告。

收集所需的值

以下清理步骤会重复使用相同的几个值,以便插入到关联的 Service Networking 和 VPC 指南中的过程中。确定每个值一次,然后将其设置为 shell 变量,以便您可以逐字复制关联的命令:

  • NETWORK_PROJECT_ID - 拥有对等 VPC 网络的项目。这并不总是与您的 Apigee 服务项目相同:在共享 VPC 设置中,网络位于宿主项目中。根据您在确定您的组织是否使用 VPC 对等互连中记录的 authorizedNetwork 值推导:

    • 如果 authorizedNetwork 是完整资源路径 projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME,请从该路径中获取 NETWORK_PROJECT_ID。
    • 如果 authorizedNetwork 只是一个网络名称(例如 apigee-network),则该网络与 Apigee 组织位于同一项目中;请使用您的 Apigee 项目 (APIGEE_PROJECT_ID)。
  • NETWORK_NAME - VPC 网络名称(例如 apigee-network)。从 authorizedNetwork 中的完整路径中获取该名称,或者在 authorizedNetwork 只是一个名称时使用裸值。

  • APIGEE_RANGE_NAME - 预配组织时为 VPC 对等互连范围分配的全局地址的名称(例如 apigee-range)。您可以在 gcloud services vpc-peerings list 返回的 reservedPeeringRanges 列表中查看附加到对等互连的预留范围。

  • NETWORK_PROJECT_NUMBER - NETWORK_PROJECT_ID 的数字项目 编号。Service Networking REST API 要求在 consumerNetwork 字段中输入项目编号(而非项目 ID):

    gcloud projects describe NETWORK_PROJECT_ID \
      --format="value(projectNumber)"

每当链接的过程要求提供网络、网络项目或使用方网络时,请替换这些值。

适用于 Apigee 拆解的警告

完成清理

按照链接中的步骤操作,并替换收集所需的值中的变量:

  • 删除 Service Networking 连接。按照删除专用连接中的说明操作。由于您已在删除 Apigee 组织中删除了 Apigee 组织,因此对于评估组织,该指南中移除服务实例的前提条件已满足,这些组织会立即删除。对于付费组织,删除操作是软删除,只有在保留期过后,连接删除操作才会成功 - 请参阅保留期和重新预配,或使用 ?retention=MINIMUM 删除组织,将保留期缩短到 24 小时。当该过程要求提供网络和网络项目时,请使用 NETWORK_NAME 和 NETWORK_PROJECT_ID;当底层 services.connections.deleteConnection REST 调用要求提供 consumerNetwork 时,请使用 projects/NETWORK_PROJECT_NUMBER/global/networks/NETWORK_NAME。

  • (可选)释放预留的对等互连范围。按照删除分配的 IP 地址范围中的步骤操作,使用 APIGEE_RANGE_NAME 和 NETWORK_PROJECT_ID。 预留范围是客户拥有的资源,在 Apigee 组织和 Service Networking 连接删除后仍会保留;将其保留不会中断任何 Google Cloud 服务。

  • (可选)删除 VPC 网络。如果您通过此网络中的代管式实例组或内部负载均衡器路由北向流量,请先删除这些资源,否则网络删除操作会失败,并显示依赖资源错误:转发规则、目标代理、网址映射、后端服务、代管式实例组、实例模板、健康检查、防火墙规则和预留地址。然后,按照 VPC 网络指南中的删除网络部分,使用 NETWORK_NAME 和 NETWORK_PROJECT_ID。

保留窗口和重新预配

如 organizations.delete 参考文档中所述:

  • Apigee 会立即删除评估组织。
  • Apigee 会软删除付费组织(订阅或随用随付),默认保留期限为 7 天。在保留期内,您可以通过向 Apigee 提交支持服务工单来恢复组织。在删除请求中传递 ?retention=MINIMUM 会将时间范围缩短到 24 小时。
  • 在保留期内,您无法在同一 Google Cloud 项目中重新创建 Apigee 组织。

后续步骤

Apigee 参考文档:

Service Networking 和专用服务访问通道参考文档: