• 首页
  • 博客
  • 标签
  • 联系
街街的脏书包
  • 首页
  • 博客
  • 标签
  • 联系
联系

Copyright © 2026 - odaneo.com 保留所有权利

云端高可用:CloudFront 与 Route 53 健康检查对比全解析

AWSHigh Availability2026-01-29 00:46

核心工作原理

特性
CloudFront 源组健康检查
Route 53 健康检查
检查方式
被动式 (Passive)。只有当真实的用户请求到达并失败时,CloudFront 才会触发故障转移
主动式 (Active)。由 AWS 的检查器全球定期(如每 30 秒)向端点发送探测请求
状态维护
无状态。它不会记住源站挂了。每次新请求都会先尝试主源站,失败后再转到辅助源站
有状态。它会持续监控并记录源站状态。如果发现不健康,DNS 会直接把流量指向备用 IP
触发层级
应用层 (HTTP/HTTPS),基于 HTTP 状态码
网络/应用层。支持 TCP、HTTP、HTTPS 端口检查,支持 CloudWatch 报警
延迟影响
发生故障时,第一个请求会有明显延迟(因为要等主源超时后再重试,而且,需要搭配边缘缓存使用,否则每次都会等待超时再重试),但是第二次请求后,TCP 链接还在,所以会明显加快
发生故障时,取决于 TTL(DNS 缓存时间)。TTL 到期后流量才切走

详细对比

CloudFront 健康检查通常用于内容分发的高可用性

CloudFront 需要配置源组,包含主源和从源。当主源返回特定的错误代码(如 504 Gateway Timeout)时,CloudFront 立即尝试从辅助源获取数据。但是,它只针对特定的 HTTP 方法(通常是 GET, HEAD, OPTIONS)。如果是 POST 请求失败,通常不会自动重试,以防止重复提交数据。

Route 53 健康检查用于全局流量调度

Route 53 更像一个独立的监视器。如果服务器宕机,Route 53 会在 DNS 层面把域名解析到另一个正常的 IP 或另一个 AWS 区域。它可以根据地理位置、延迟或加权比例来分配流量。它甚至可以监控 S3 桶的健康状况。

最佳实践

使用 CloudFront 源组处理瞬间的、局部的源站抖动。它能保证单个请求在主源失败时,用户依然能从备份源拿到数据。
使用 Route 53 健康检查处理整个区域或大规模的架构故障。如果整个主数据中心挂了,通过 Route 53 将流量全局切换到备用机房。