GCP创建VPC Connector时报VPC Access子网权限或不存在错误
GCP VPC Connector创建报错解决指南
报错原因
- 服务账号权限不足:VPC Access专属服务账号未被授予项目内的
compute.networkUser角色,无法读取子网资源,这是新建项目最常见的触发原因。 - 子网参数匹配错误:创建Connector时填写的子网所属项目、区域、名称和实际存在的子网信息不一致,或子网CIDR与预留范围冲突。
- 依赖API未启用:新建项目未提前启用VPC Access API或Compute Engine API,导致服务无法调用VPC相关资源接口。
排查解决步骤
- 核对子网配置
- 进入GCP控制台「VPC网络」-「子网」页面,确认
10.8.0.0/28子网确实归属la-gcp-cloud-run-demo项目,且子网所在区域和你创建Connector选择的区域完全一致。 - 确认子网没有被设置访问限制,也没有处于删除/归档状态。
- 配置VPC Access服务账号权限
执行如下gcloud命令查询当前项目编号:
gcloud projects describe la-gcp-cloud-run-demo --format='value(projectNumber)'
确认服务账号权限:gcloud projects get-iam-policy la-gcp-cloud-run-demo --filter="bindings.members:serviceAccount:service-<替换为上一步获取的项目编号>@gcp-sa-vpcaccess.iam.gserviceaccount.com"
- 如果返回结果中没有
roles/compute.networkUser角色,执行如下命令绑定权限:gcloud projects add-iam-policy-binding la-gcp-cloud-run-demo --member=serviceAccount:service-<替换为项目编号>@gcp-sa-vpcaccess.iam.gserviceaccount.com --role=roles/compute.networkUser - 若使用跨项目共享VPC,需要将上述权限绑定到共享VPC的宿主项目。
- 检查依赖API状态
执行如下命令查询已启用API:
gcloud services list --enabled --project la-gcp-cloud-run-demo | grep -E "vpcaccess|compute"
- 如果
vpcaccess.googleapis.com或compute.googleapis.com未在返回结果中,执行如下命令启用:gcloud services enable vpcaccess.googleapis.com compute.googleapis.com --project la-gcp-cloud-run-demo
- 重试创建Connector
所有配置调整完成后,删除创建失败的残留Connector,重新选择对应子网发起创建即可。
内容的提问来源于stack exchange,提问作者Shivani Gandhi
相关产品推荐
相关产品推荐

