在 Amazon Route 53 中,你可以使用 健康检查(Health Checks)+ 失效转移(Failover Routing) 方式来实现自动故障转移和恢复。以下是详细步骤:
📌 1. 创建健康检查
步骤
- 登录 AWS 控制台,进入 Route 53 控制面板。
- 在左侧导航栏,选择 Health Checks(健康检查)。
- 点击 Create health check(创建健康检查)。
- 填写健康检查信息:
- 名称:填写一个唯一的名称,例如
MyServerHealthCheck
- Monitor Endpoint(监测端点):
- 选择 IP 地址,输入要监测的服务器 IP
- 端口号(例如
80
或443
) - 选择健康检查类型:
- HTTP / HTTPS(建议选择 HTTPS 以提高安全性)
- Failure Threshold(失败阈值):设置触发故障的次数(默认
3
次)。 - Request Interval(请求间隔):建议
30s
(默认)。 - Invert Health Check Status(反转健康检查状态)(可选):如果希望状态反向,可以选中。
- 名称:填写一个唯一的名称,例如
- 配置 SNS 通知(可选):
- 你可以启用 SNS 以在服务器宕机或恢复时收到通知。
- 点击 Create(创建)。
🔹 ✅ 这样,Route 53 会定期检查服务器 IP 是否正常工作。如果该 IP 宕机,健康检查会标记为 unhealthy
(不健康)。
📌 2. 配置 DNS 记录进行自动故障转移
- 在 Route 53 控制台,进入 你的域名。
- 选择 Record Sets(记录集),点击 Create Record Set(创建记录集)。
- 配置 A 记录(IPv4)或 AAAA 记录(IPv6),针对每个 IP 设置如下:
- Name(名称):留空或填写子域名(如
www
)。 - Type(类型):A(IPv4)或 AAAA(IPv6)。
- Alias(别名):No。
- TTL(缓存时间):建议
60
秒(短 TTL 可加快故障切换)。 - Routing Policy(路由策略):
- 选择 Failover(故障转移)。
- Failover Record Type(故障转移记录类型):
- 对于 主 IP(例如
192.168.1.1
),选择 Primary(主)。 - 对于 备用 IP(例如
192.168.1.2
),选择 Secondary(备用)。
- 对于 主 IP(例如
- Associate with Health Check(关联健康检查):
- 选中 Yes,并选择 之前创建的健康检查。
- Name(名称):留空或填写子域名(如
- 重复上述步骤,为所有服务器 IP 添加健康检查和故障转移设置。
📌 3. 故障转移逻辑
- 正常情况:Route 53 会解析所有 健康(healthy) 状态的 IP。
- 某个 IP 宕机:Route 53 自动从解析列表中移除该 IP,并将流量转移到其他健康 IP。
- IP 恢复:Route 53 自动重新解析该 IP,让它恢复上线。
📌 4. 其他优化(可选)
使用 Weighted Routing(加权路由)
如果你想让流量分配到多个 IP,但仍然具有故障转移功能,可以使用 加权路由(Weighted Routing)+ 健康检查:
- 配置 每个 IP 的权重,如
30%、30%、40%
。 - 仍然关联 健康检查,宕机时 Route 53 自动调整流量分配。
✅ 总结
- 创建 Route 53 健康检查,监控服务器 IP 是否存活。
- 在 DNS 解析中设置故障转移(Failover Routing),主服务器宕机时自动切换到备用 IP。
- 当 IP 恢复后,Route 53 会自动重新解析,让其恢复上线。
这样,你就可以实现 自动下线宕机 IP,并在服务器恢复后 自动上线。🚀