在线客服

AWS Route53如何配置健康检查,实现故障自动切换

⏱️2026-04-14 09:00 👁️3

Route 53 健康检查配置指南 🚀

场景: 确保您的应用程序始终可用,并在出现故障时自动切换到健康的备份实例。比如你有两个服务器,一个在美国,一个在欧洲。如果美国的服务器挂了,Route 53 会自动把流量导到欧洲。

步骤概览:

  1. 创建健康检查
  2. 配置 DNS 记录,关联健康检查
  3. 测试故障切换

第一步:创建健康检查 🩺

  1. 登录 AWS 管理控制台,进入 Route 53 服务。
  2. 在左侧导航栏选择 "Health Checks"。
  3. 点击 "Create health check"。
  4. 填写健康检查配置:
    • Health check type: 选择 "HTTP", "HTTPS", "TCP",或者 "Calculated Health Check"(如果需要组合多个健康检查)。
      * "HTTP/HTTPS": 检查 Web 服务器是否响应 HTTP/HTTPS 请求。 * "TCP": 检查 TCP 连接是否建立。 * "Calculated Health Check": 允许您基于其他健康检查的结果创建更复杂的健康检查逻辑。
    • Protocol: 根据您的选择,选择 "HTTP" 或 "HTTPS"。
    • Host name: 输入要检查的主机名或 IP 地址。
    • Path: 指定要请求的路径(例如 /health),用于检查应用程序的健康状态。确保这个路径返回 200 OK 状态码。
    • Port: 指定端口号(例如 80, 443)。
    • Request interval: 选择检查频率(例如 30 秒)。
    • Failure threshold: 指定在声明实例不健康之前允许的连续失败次数(例如 3 次)。
    • Inverted: 如果希望健康检查的行为相反,则勾选此项。(不常用)
    • Enable SNI: 如果您的服务器需要 SNI,则启用此选项。
    • String matching: 可选,可以检查 HTTP 响应中是否包含特定字符串。
    • Alarm when: 选择 "Health check status changes"。
    • IAM role: 选择一个 IAM 角色,允许 Route 53 向 CloudWatch 发送警报。(如果没有,需要创建一个)
    • SNS topic: 选择一个 SNS 主题,用于接收健康检查状态更改的通知。(如果没有,需要创建一个)
  5. 点击 "Create health check"。🎉

详细解释几个重要的配置项:

  • Path (路径): 这是一个关键配置! 确保你的应用提供一个 /health 或者类似的健康检查接口,返回 200 OK。 这样 Route 53 才能准确判断你的应用是否健康。
  • Failure threshold (失败阈值): 这个值决定了 Route 53 在判断你的服务不健康之前,允许的失败次数。 设置得太低可能会导致误判,太高则可能延迟故障切换。 通常 3 次是一个不错的选择。
  • Request Interval (请求间隔): 这个值决定了 Route 53 多久检查一次你的服务。 越频繁的检查可以更快地发现问题,但也可能增加你的服务器负载。

第二步:配置 DNS 记录 📝

  1. 进入 Route 53 的 "Hosted Zones"。
  2. 选择你的域名。
  3. 点击 "Create record"。
  4. 配置 DNS 记录:
    • Record name: 输入子域名 (例如 www)。
    • Record type: 选择 "A" (或其他适用的记录类型)。
    • Alias: 如果指向 AWS 资源,可以选择 "Alias",否则选择 "Value/Route traffic to"。
    • Value/Route traffic to: 输入 IP 地址或域名。
    • Routing policy: 选择 "Failover"。 🚨 重要!
    • Primary/Secondary: 指定记录是 "Primary" 还是 "Secondary"。
    • Associate with health check: 选择你之前创建的健康检查。 ✅
    • Set ID: 为每个记录设置一个唯一的 ID。
  5. 创建另一个记录,作为 "Secondary" 记录,指向备份实例,并关联另一个健康检查。(如果你的备份实例也有健康检查)
  6. 点击 "Create records"。 🎊

解释 Failover 路由策略:

"Failover" 路由策略是实现故障自动切换的关键。 Route 53 会持续监控与 DNS 记录关联的健康检查。 如果 "Primary" 记录关联的健康检查失败,Route 53 会自动将流量切换到 "Secondary" 记录。


第三步:测试故障切换 🧪

  1. 模拟主服务器故障(例如,停止 Web 服务器)。
  2. 观察 Route 53 健康检查状态。 应该会变成 "Unhealthy"。
  3. 检查 DNS 解析。 流量应该会自动切换到备份服务器。 可以使用 dig 命令或在线 DNS 查询工具进行验证。
  4. 恢复主服务器。
  5. 观察 Route 53 健康检查状态。 应该会恢复到 "Healthy"。
  6. 等待 Route 53 将流量切换回主服务器。

一些额外的提示和技巧:💡

  • CloudWatch 警报: 配置 CloudWatch 警报,以便在健康检查失败时收到通知。 这可以帮助您更快地响应问题。
  • 监控: 定期监控 Route 53 健康检查和 DNS 解析,确保一切正常工作。
  • 多区域部署: 考虑使用多区域部署来提高应用程序的可用性。
  • 健康检查路径: 确保你的健康检查路径足够简单,但又能有效地反映应用程序的健康状态。
  • TTL (Time To Live): 设置合理的 TTL 值。 较低的 TTL 值可以加快故障切换速度,但可能会增加 DNS 查询负载。

希望这个指南能帮助你成功配置 Route 53 健康检查! Good luck! 👍