如何为GCP VPC下的所有子网开启Private Google Access
为GCP VPC所有子网批量开启Private Google Access的操作方法
如果需要批量开启单个VPC内所有子网的Private Google Access(PGA),无需逐个子网手动操作,可选择以下两种常用方案实现:
方案1:gcloud命令行一键批量开启(适合临时快速操作)
直接在Cloud Shell或者本地安装好gcloud并完成权限认证的终端中执行以下命令即可:
# 替换<目标VPC名称>为你的实际VPC名,<VPC所在项目ID>为对应GCP项目ID gcloud compute networks subnets list --network <目标VPC名称> --project <VPC所在项目ID> --format="value(name,region)" | xargs -L1 gcloud compute networks subnets update --enable-private-ip-google-access --project <VPC所在项目ID> --region
操作完成后可执行下面的命令验证配置结果,所有子网的privateIpGoogleAccess字段值为True即代表配置成功:
gcloud compute networks subnets list --network <目标VPC名称> --project <VPC所在项目ID> --format="value(name,privateIpGoogleAccess)"
方案2:IaC工具统一配置(适合生产环境持久化管控)
如果是通过Terraform等基础设施即代码工具管理GCP资源,只需在子网资源定义块中统一添加private_ip_google_access = true参数即可;如果是通过循环逻辑批量创建子网,在循环参数中加入该配置,就能保证所有同VPC下的子网默认开启PGA,避免后续手动操作遗漏。
注意事项
- Private Google Access开启后即时生效,无需重启子网内的云服务器实例
- 该配置仅对子网内只有私网IP的实例生效,持有公网IP的实例访问Google服务时仍默认走公网链路
内容的提问来源于stack exchange,提问作者Thinh Ha
相关产品推荐
相关产品推荐

