01 · 云DNS格局与SLA的解读纪律
权威DNS服务已高度云化。各大云DNS均发布可用性SLA(多数为100%可用性承诺,未达标按月费比例赔付),但解读时必须清醒:
| 服务 | SLA要点(公开文档口径) | 解读注意 |
|---|---|---|
| Amazon Route 53 | 100%可用性SLA(按月计费赔付机制) | ①不支持以从属身份区传输(Zone不可作为secondary AXFR接入),多Provider需API级同步;②健康检查按区域探测计票 |
| Cloudflare DNS | 免费/付费版均提供高可用架构;SLA随套餐 | anycast网络自研;Secondary DNS(AXFR接入)为付费能力 |
| Google Cloud DNS | 100%可用性SLA(公开文档) | Anycast网络;支持出向/入向区传输能力依产品形态而定,接入前核实现行文档 |
| Azure DNS | 100%可用性SLA(公开文档) | 2019-05-02全球解析退化事件(第6页)证明:SLA赔付≠业务无感知 |
| 阿里云/腾讯云/华为云解析 | 各云均发布DNS产品SLA(以官网现行文档为准) | 境内备案与线路调度(分运营商解析)能力为本土特色;跨境多Provider时注意数据合规 |
SLA的三个认知陷阱:①SLA是月度计费抵扣而非"不会故障"的承诺(Route 53按未达标时段比例赔付月费,与业务损失无关);②SLA测量点在服务商内部,与你用户的实际解析路径(含注册局、运营商递归、跨境链路)无关;③100% SLA通常不覆盖控制面(控制台/API不可用不视为解析SLA违约)——而控制面恰恰是应急操作所依赖的。韧性结论不变:SLA不能替代多Provider架构。
02 · 多Provider预置架构(Dyn事件的标准答案)
第6页Dyn与AWS事件的共同教训是:多Provider必须常态化共同服务而非灾备式冷备。标准形态:
- 同一NS集合纳入两家提供商的权威:如NS记录为4条:ns1.providerA.net、ns2.providerA.net、ns3.providerB.com、ns4.providerB.com。递归器天然在各NS间负载均衡,任一提供商全局故障时流量自动转移到另一家。
- Zone同步管道:支持AXFR的提供商可做主次同步;Route 53类不支持入向区传输的,用其API+Terraform等IaC工具双写(注意IaC双写本身成为新的故障面:管线故障导致两区漂移)。
- DNSSEC协同:采用RFC 8901多签名者模型(第4页),各自ZSK、CDS自动化聚合;任一Provider的签名事故不会污染另一家的验证链(验证器随机命中不同NS时,多签名者保证各NS应答均可独立验证)。
- 监控对账:持续比对两Provider的区内容、NS委托、DNSSEC链一致性(Zonemaster+自定义探针),漂移即告警。
最低可行配置(MVP):任一核心域名满足——≥4条NS、横跨≥2家提供商、≥2个AS、multi-signer DNSSEC、控制面MFA+双人复核、注册商锁、IaC管理zone、季度一致性对账演练。满足此清单即可在任意单提供商全局故障(Dyn型)下无损存活。
03 · 流量调度与故障切换的现实检验
3.1 健康检查型切换
云DNS的故障转移(Route 53 Failover、Cloudflare LB等)依赖分布式健康检查:探测端点从多个地理区域对目标发探测请求,按失败比例计票切换DNS应答。工程要点:
- 计票窗口与灵敏度:探测频率×区域数×失败阈值决定切换延迟(常见为30秒—数分钟级);过于灵敏会在目标抖动时来回切换(flapping),须配滞回(hysteresis)。
- 探测路径的代表性:从云端探测点可达≠用户可达;跨运营商、跨国的真实用户感知差异需以真实用户监测(RUM)补充。
- 切换≠生效:DNS切换受TTL与多级缓存约束(第4页),客户端连接还会"粘滞"(长连接不重新解析)。对秒级切换有要求的场景,应转向Anycast IP或BGP级切换,DNS仅作兜底。
3.2 分线路/分地域解析
国内云DNS普遍支持按运营商线路(电信/联通/移动)与地域返回差异化应答。其韧性价值在于就近接入与单线路故障绕行;风险在于视图维度的配置复杂度——每条线路记录都是独立的配置面,遗漏即"某线路用户解析失败"的隐蔽故障。治理:线路视图纳入IaC与一致性检查。
04 · SVCB/HTTPS与多CDN时代的解析面
RFC 9460(2023年11月发布)引入的HTTPS记录使解析面开始承载"如何建立加密连接"的参数(ECH配置、ALPN、端口)。对解析韧性的影响正在显现:
- 解析面一致性要求提高:HTTPS记录错误(如ECH公钥与边缘不匹配)会导致握手失败而非解析失败——传统"能解析=可用"的监控假设被打破,解析监控必须覆盖SVCB/HTTPS记录的语义校验。
- 多CDN调度新载体:HTTPS记录的优先级字段为"在权威层做多CDN选择"提供了新标准路径(替代部分CNAME链调度场景),可减少一层CNAME带来的解析时延与故障点。
- 多Provider一致性新挑战:两家DNS提供商都必须正确签发一致的HTTPS记录(multi-signer模式下各家签自己的记录副本),一致性对账清单需新增该类型。
05 · DoH集中化的韧性账
浏览器级DoH(Firefox默认Cloudflare DoH为美国用户启用,2020年起;Chrome自动升级至支持的加密解析器)将终端解析集中到少数全球端点。这笔账的韧性两面:
| 维度 | 收益 | 风险 |
|---|---|---|
| 单端可用性 | 超级端点自带全球anycast与多区域冗余,可用性优于多数本地递归 | 全球端点配置事故或封锁时爆炸半径极大 |
| 企业可见性 | —— | 绕过企业递归与RPZ/DNS防火墙策略,安全可见性受损 |
| 故障可诊断 | 单一加密通道故障模式简单 | 企业与运营商对加密解析故障几乎不可观测 |
| 治理 | 用户隐私收益(子课题03) | 依赖集中化主体,需监管与多主体制衡 |
企业治理实践:①优先下发自有加密解析器(RFC 9463 DNR),使"加密+策略+审计"兼得;②确需管控时采用明示策略(组策略/MDM/显式代理配置)而非端口封杀(封853/443倒逼用户使用更隐蔽的DoH,可见性与韧性双输);③将"公共DoH端点全局不可达"纳入故障演练场景(第8页)。
06 · DNS防火墙(RPZ):韧性还是新故障面?
RPZ(Response Policy Zones,ISC BIND特性)在递归层按策略改写应答(拦截恶意域名、执行合规过滤)。作为韧性机制它提供"域名级紧急刹车"(大规模钓鱼事件时一键拦截);但作为串联组件,RPZ区故障、策略误配置会直接影响全部下游解析。治理要点:RPZ区来源多源冗余、策略变更灰度、拒绝默认"RPZ不可用时全断"的激进配置(应为跳过策略保解析),并将其可用性纳入递归器SLO。
本节参考来源(第7页)
Amazon Route 53 SLA与产品文档(含Zone传输能力边界说明,以现行文档为准)。aws.amazon.com/route53/sla
Google Cloud DNS SLA(100%可用性承诺,公开文档)。cloud.google.com/dns/sla
Azure DNS SLA(公开文档);Azure状态历史(2019-05-02事件)。azure.microsoft.com
Cloudflare DNS产品文档与状态页。cloudflare.com/dns
RFC 8901(2020):Multi-Signer DNSSEC Models(多Provider+DNSSEC前提)。rfc-editor.org/rfc/rfc8901
RFC 9460/9461/9462/9463(2023年11月发布):SVCB/HTTPS、DNS服务器SVCB映射、DDR、DNR。rfc-editor.org
ISC BIND文档:Response Policy Zones (RPZ)。isc.org/rpz
Mozilla Firefox DoH默认启用说明(美国,2020);Google Chrome安全DNS文档。support.mozilla.org