You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCP私有VM实例无法通过私有DNS解析ghs.googlehosted.com求助

解决GCP私有VM通过私有DNS访问App Engine的连接问题

可行解决方案

1. 在私有DNS区域添加App Engine的CNAME记录

直接在你的私有DNS区域(如dev.example.com)中,为目标App Engine服务的子域名添加CNAME记录,指向ghs.googlehosted.com。例如你的App Engine服务地址是app.dev.example.com,添加如下记录:

app.dev.example.com.  IN  CNAME  ghs.googlehosted.com.

这样私有DNS解析该子域名时会返回正确的CNAME,VM后续会自动通过公网DNS解析ghs.googlehosted.com的IP(因为私有DNS未覆盖该域名,会自动 fallback 到公网解析)。

2. 配置私有DNS条件转发规则

在GCP私有DNS区域中创建条件转发规则,将ghs.googlehosted.com的解析请求转发到公网DNS服务器(比如8.8.8.8或GCP内部DNS169.254.169.254)。这样私有VM解析该域名时,会绕过私有DNS的限制,直接获取公网IP。

3. 调整VM的DNS服务器优先级

修改私有VM的DNS配置,将公网DNS服务器放在私有DNS之前,确保ghs.googlehosted.com的解析优先走公网:

  • 若使用systemd-resolved,编辑/etc/systemd/resolved.conf,设置DNS=8.8.8.8 <你的私有DNSIP>,然后执行sudo systemctl restart systemd-resolved
  • 通过GCP实例元数据配置:添加dns-servers元数据,值为8.8.8.8, <私有DNSIP>,确保配置持久化(避免GCP自动覆盖)

4. 启用App Engine私有访问(Serverless VPC Access)

配置Serverless VPC Access连接器,让App Engine服务接入你的VPC网络,私有VM可直接通过内部IP访问App Engine,无需依赖公网DNS解析ghs.googlehosted.com:

  • 在GCP控制台创建Serverless VPC Access连接器
  • 修改App Engine的app.yaml,添加vpc_access_connector配置指向该连接器
  • 配置VPC防火墙规则,允许VM与连接器之间的通信

内容的提问来源于stack exchange,提问作者Kaslie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 07:40:56