如何仅针对特定域名使用GCP与AWS VPC间的HA VPN
实现GCP VPC通过HA VPN访问AWS特定域名资源的方案
核心思路是通过DNS解析+路由策略区分流量走向:让私有数据库的域名指向AWS私有IP,流量走HA VPN;公网数据库域名指向公网IP,流量走互联网网关。具体实现步骤如下:
1. 配置DNS解析规则
针对私有数据库
- 若AWS私有数据库使用Route 53私有托管区:确保该托管区关联到AWS侧的VPC,同时GCP VPC能通过VPN解析该私有域名(可通过AWS VPC的DNS转发功能,或在GCP云DNS中创建对应私有区域,将域名映射到AWS私有IP)。
- 若没有私有托管区:直接在GCP创建云DNS私有区域,添加A/AAAA记录,将私有数据库的域名指向其AWS私有IP。GCP VPC内的实例会优先使用这条私有解析记录,得到私有IP后,流量会匹配已有的VPN路由(指向AWS私有网段),自动走HA VPN。
针对公网数据库
- 无需额外配置,保持默认的公网DNS解析即可。GCP实例解析域名后得到公网IP,流量会走GCP的互联网网关(因为该公网IP不在VPN的路由网段范围内)。
2. 校验路由配置
- 检查AWS侧VPC路由表:仅将私有数据库所在的私有网段路由指向HA VPN连接,公网数据库的公网网段不要加入VPN路由规则。
- 检查GCP侧VPC路由表:确保已存在指向AWS私有网段的静态路由(关联HA VPN隧道),且没有将公网网段纳入该路由范围。
3. 验证流量走向
在GCP实例上执行以下命令验证:
- 解析私有数据库域名:
dig <私有数据库域名>,确认返回AWS私有IP。 - 追踪私有流量路由:
traceroute <私有数据库域名>,查看路由节点是否经过VPN隧道的IP。 - 解析公网数据库域名:
dig <公网数据库域名>,确认返回公网IP。 - 追踪公网流量路由:
traceroute <公网数据库域名>,查看路由节点是否经过GCP互联网网关的出口IP。
简化方案(适合少量实例)
如果仅需在少数GCP实例上实现该规则,可直接修改实例的/etc/hosts文件,添加私有数据库域名与AWS私有IP的映射:
xxx.xxx.xxx.xxx 私有数据库域名
这种方式无需配置云DNS,适合临时或小规模场景,但批量管理不如云DNS便捷。
内容的提问来源于stack exchange,提问作者Marwan Tukhta
相关产品推荐
相关产品推荐

