4. DNS在租户拓扑中的角色:内部DNS、外部DNS、PrivateZone与PublicZone

在租户拓扑中,DNS不仅是简单的域名解析工具,更是流量调度、安全隔离与故障隔离的核心基础设施。理解内部DNS、外部DNS、PrivateZone与PublicZone的职责边界,是诊断DNS延迟与故障的前提。

4.1 内部DNS与外部DNS的职责边界

租户网络通常划分为内部服务网络与面向公网的边缘网络,DNS系统也随之分为内部DNS与外部DNS两个逻辑平面。

维度 内部DNS 外部DNS
服务对象 租户VPC内ECS、容器Pod、内部微服务 公网用户、第三方API调用方、CDN边缘节点
解析范围 私有域名(如 db.internal.tenant.local) 公网域名(如 api.tenant.com)
延迟敏感度 极高(微服务调用链中DNS延迟直接影响RPC成功率) 高(影响用户首屏加载与API响应)
缓存策略 短TTL(5~30秒),支持动态服务发现 长TTL(60~600秒),兼顾稳定与缓存命中
故障影响面 内部服务间调用中断、服务发现失败 用户无法访问、业务入口瘫痪
实战要点:内部DNS通常部署在租户VPC内或通过PrivateLink接入,外部DNS则托管在云厂商的DNS服务或自建BIND集群中。两者必须物理或逻辑隔离,避免内部域名泄露到公网。

4.2 PrivateZone与PublicZone的核心差异

PrivateZone(私有域)与PublicZone(公有域)是云环境中的两种DNS区域类型,它们的解析范围、访问控制与路由逻辑完全不同。

特性 PrivateZone PublicZone
可见性 仅关联的VPC内可见 全球公网可见
解析来源 VPC内DNS服务器(如AWS Route53 Resolver、阿里云PrivateZone) 公共DNS递归服务器(如8.8.8.8、114.114.114.114)
记录类型 A/AAAA/CNAME + 私有IP映射 A/AAAA/CNAME/MX/TXT + 公网IP映射
延迟特征 低延迟(VPC内递归,无公网跳转) 受公网链路、递归节点位置影响
安全控制 基于VPC ACL、RAM策略 基于DNS SEC、Rate Limit、WAF前置
常见陷阱:同一域名在PrivateZone与PublicZone中同时存在时,VPC内解析优先命中PrivateZone。若PrivateZone记录配置错误(如指向已销毁的IP),会导致内部服务完全不可达,而外部用户访问正常——这种“内外不一致”是延迟排查中最隐蔽的问题之一。

4.3 租户拓扑中的DNS流量路径

下图展示了典型租户拓扑中,内部DNS与外部DNS的解析路径,以及PrivateZone与PublicZone的流量走向。

租户拓扑DNS流量路径 租户拓扑DNS流量路径 公网用户 外部DNS PublicZone 公网入口/ALB 租户VPC 内部DNS PrivateZone 微服务A 微服务B RDS数据库 说明: 内部服务间通过内部DNS + PrivateZone解析,延迟低且隔离安全。 外部用户通过外部DNS + PublicZone解析,经公网入口进入VPC。

4.4 延迟视角下的角色关键点

  • 内部DNS延迟:主要受VPC内DNS服务器负载、缓存命中率、后端服务注册中心响应速度影响。典型延迟应 < 5ms。
  • 外部DNS延迟:受递归节点地理位置、公网链路质量、权威服务器响应时间影响。典型延迟 10~100ms。
  • PrivateZone延迟优势:解析请求不经过公网,且支持VPC内就近递归,延迟通常比PublicZone低一个数量级。
  • PublicZone延迟风险:若权威节点部署在单一地域,跨洲用户解析延迟会显著增加,需配合GeoDNS或Anycast。
延迟处置黄金法则:内部服务调用必须使用PrivateZone + 内部DNS,禁止将内部域名暴露到PublicZone;外部用户流量必须经过外部DNS + PublicZone,但应在边缘节点做DNS缓存或HTTPDNS降级,减少递归链路。

4.5 典型故障场景:PrivateZone与PublicZone冲突

某租户将内部数据库域名 db.internal.tenant.com 同时配置在PrivateZone(指向10.0.1.100)和PublicZone(指向203.0.113.50)。VPC内ECS解析时命中PrivateZone,延迟2ms;但运维人员从堡垒机(位于另一VPC,未关联该PrivateZone)解析时命中PublicZone,延迟45ms且指向公网IP。最终导致备份脚本超时失败。

解析位置 命中Zone 解析结果 延迟 是否可达
VPC内ECS PrivateZone 10.0.1.100 2ms 是
未关联VPC的堡垒机 PublicZone 203.0.113.50 45ms 否(公网IP未开放)
处置建议:内部域名仅在PrivateZone中声明,PublicZone中不创建同名记录;若必须共存,使用不同的子域名层级(如 internal.db.tenant.com 与 api.tenant.com)彻底隔离。