Serverless VPC连接器能否实现GCP同项目App Engine连接VM?
答案
Serverless VPC 连接器是这个场景的官方标准可行方案,完全可以实现App Engine接入目标Windows VM所在的VPC,直接通过VM内部IP调用你托管的REST服务。
配置注意事项
- 环境兼容性:App Engine 标准环境(仅第二代运行时支持)、柔性环境都支持对接Serverless VPC连接器,如果你用的是第一代标准环境运行时,需要先迁移到第二代才能使用该功能。
- 连接器部署要求:连接器必须创建在和目标Windows VM相同的区域、相同VPC下,创建时需要给连接器分配一个和现有VPC子网、VPN对端子网不冲突的私网网段(最小支持/28掩码),避免路由冲突。
- App Engine侧配置:连接器创建完成后,在对应App Engine服务的
app.yaml中添加VPC访问配置,参考如下:
vpc_access_connector: name: projects/[项目ID]/locations/[连接器所在区域]/connectors/[连接器名称] egress_setting: private-ranges-only
配置private-ranges-only出口模式即可满足需求:只有发往VPC内部私网地址、VPN连通的私网段的请求会走连接器转发,公网请求依旧走App Engine默认公网出口,不会产生额外的不必要转发成本。
场景适配校验点
- 提前检查Windows VM自带的Windows Defender防火墙规则,放开REST服务对应端口的入站权限,源地址需要覆盖你给Serverless VPC连接器分配的网段,避免VM本地拦截请求。
- 你现有的VPC到外部客户端的VPN隧道不会受连接器配置影响,VPC原有路由、防火墙规则、VPN连通性都保持原有逻辑,不需要针对VPN做额外调整。
- 配置完成后可以在App Engine服务内直接ping VM内部IP、或者用curl请求对应REST服务端口做连通性验证,不需要给VM分配公网IP。
如果你后续有App Engine访问VPC内资源时固定出口IP的需求,可以给连接器所在子网配置Cloud NAT,纯内部API调用场景不需要做这步配置。
内容的提问来源于stack exchange,提问作者Cloude
相关产品推荐
相关产品推荐

