Google Cloud Platform - 通过完整资源名称查找资源

Google Cloud Platform - 通过完整资源名称查找资源

如何获取完整的资源名称(例如),projects/<project_id>/global/networkInstances/<instance_id>并仅通过该信息查找有关它的更多信息?

我目前正在尝试从我的一个现有 GCP 项目中删除默认网络。运行gcloud compute networks delete --quiet default导致此错误:

- The network resource 'projects/<project_id>/global/networks/default' 
is already being used by 'projects/<project_id>/global/networkInstances/<instance_id>'

我已经搜索了所有能想到的地方,但无法在默认网络中找到任何资源,所以我希望可以使用这个资源名称来了解更多信息。

答案1

就我的情况来说,我有一个连接到 VPC 网络的 Cloud Run 服务。我删除了允许 Cloud Run 连接的“无服务器 VPC 访问连接器”,但这可能不应该被允许,因为 Cloud Run 服务/版本仍然引用该连接器,因此也“使用”VPC 网络。

总结删除 Cloud Run 服务后,我就可以删除 VPC 网络。这可能是projects/<project_id>/global/networkInstances/<instance_id>错误消息所指的。

答案2

根据我的理解,VPC 网络包括:

  1. 子网
  2. 静态内部 IP 地址
  3. 防火墙规则
  4. 路线(包括静态和自动/动态创建的路线)
  5. VPC 网络对等连接
  6. 私人服务连接
  7. 实例

前提条件删除 VPC 网络即,您必须删除其所有子网中的所有资源以及引用该网络的所有资源。引用该网络的资源包括 Cloud VPN 网关、Cloud Router、防火墙规则和自定义静态路由。

我建议在尝试删除该 VPC 网络之前,先删除任何手动添加的配置(自定义静态路由、VPC 对等、私有服务连接等)。

答案3

就像 userX 所说的那样,您需要删除以下所有引用该 VPC 的资源,但还有其他事情 -

  1. 子网
  2. 静态内部 IP 地址
  3. 防火墙规则
  4. 航线
  5. VPC 网络对等连接
  6. 私人服务连接
  7. 实例

因此,如果您确认错误不是由于上述 1 至 7 项引起的,请检查是否存在任何

  1. 云运行
  2. 云任务
  3. 具有 redis 缓存实现的 App Engine 服务

在我的案例中,问题是由于 App engine (标准) Java 服务引用了删除的 redis 缓存,而 redis 缓存需要无服务器 VPC,而无服务器 VPC 需要 VPC。尽管无服务器 VPC 和 Redis 实例已被删除,但 app engine 实例不允许我删除 VPC。

所以也尝试一下吧。

答案4

就我而言,我尝试在主机共享 vpc 项目中更新我的共享 vpc 网络。我遇到了错误“资源使用无效:资源‘projects/project_name/global/networkInstances/v-1212313....’仍链接到共享 VPC 主机”/projects/other-project。

我已遵循以下步骤:

首先,我删除了共享 vpc 子网中的所有 vm 实例和资源。其次,我尝试删除附加项目列表中的主机共享 vpc 项目。

我再次收到该错误:“资源‘projects/project_name/global/networkInstances/v-1212313....’仍然链接到共享 VPC 主机”

毕竟,我仔细检查了我的共享 vpc 项目(不是主机共享 vpc 项目)中的所有资源。我发现一个正在运行的共享 vpc 网络的功能。我将其子网设置为 None。我重新部署了

这就是我解决问题的方法。在我看来,无论谁在处理这个问题,都应该验证所有不应该使用共享 vpc 子网的资源(云运行、云功能、vms 和 vpc 连接器、静态 ip 地址等)。

相关内容