Amazon Route 53 DNS 设计 - 路由策略与健康检查实践

通过别名记录和 7 种路由策略实现高级流量控制。介绍通过健康检查实现多区域故障转移的设计。

Route 53 基础与别名记录

Route 53 是高可用的权威 DNS 服务,SLA 100%。别名记录(Alias Record)是 Route 53 特有的功能,可将域名直接指向 AWS 资源(CloudFront、ALB、S3 等)。与 CNAME 不同,别名记录可在区域顶点(裸域名)使用,且对 AWS 资源的别名查询不收费。别名记录自动跟踪目标资源的 IP 变更,无需手动更新 DNS 记录。

路由策略的选择

Route 53 提供 7 种路由策略。简单路由返回单一值。加权路由按指定比例分配流量,适用于蓝绿部署和 A/B 测试。延迟路由将用户路由到延迟最低的区域。故障转移路由在主资源不健康时自动切换到备用资源。地理位置路由基于用户地理位置路由到指定端点。地理邻近路由基于资源与用户的地理距离路由,可通过偏移值调整。多值应答路由返回多个健康端点的 IP,提供简单的负载分散。

健康检查与故障转移设计

Route 53 健康检查定期监控端点可用性,不健康时自动从 DNS 响应中移除。健康检查类型包括 HTTP/HTTPS/TCP 端点监控、CloudWatch 告警监控和计算型健康检查(组合多个检查结果)。多区域故障转移设计中,主区域和备用区域各设置端点,通过故障转移路由策略在主区域不健康时自动切换到备用区域。健康检查间隔可选 30 秒(标准)或 10 秒(快速),快速检查可缩短故障检测时间但费用增加。字符串匹配检查可验证响应体中是否包含特定字符串,检测应用级故障。 关于 DNS 设计的详细解析,可参考Amazon 相关书籍

Route 53 定价

托管区域每个月费 0.50 美元。标准查询每百万次 0.40 美元,别名查询对 AWS 资源免费。健康检查 AWS 端点每个月费 0.50 美元,非 AWS 端点每个月费 0.75 美元。快速间隔(10 秒)健康检查额外收费。字符串匹配和 HTTPS 健康检查也有附加费用。域名注册费因 TLD 而异(.com 约 13 美元/年)。

总结

Route 53 是 SLA 100% 的高可用 DNS 服务,通过别名记录和 7 种路由策略实现高级流量控制。健康检查自动检测端点故障,故障转移路由策略实现多区域 DR。延迟路由将全球用户路由到最近区域,加权路由支持渐进式部署。