You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Route 53实现EC2主备实例故障自动切换?

主备EC2实例故障转移的Route 53配置方案

核心思路

你已经将两个EC2实例加入ALB后端池,但要实现主实例正常时流量全走主实例,主实例故障时自动切换到备用实例,需要结合Route 53的故障转移路由策略+健康检查来实现,同时要调整ALB目标组的权重避免流量分发冲突。

具体操作步骤

1. 创建Route 53故障转移记录

  • 在Route 53托管区中,创建两条对应EC2实例的A/AAAA记录(使用公网IP还是私有IP,根据你的网络架构选择)。
  • 路由策略选择故障转移:将主实例的记录设置为「主记录(Primary)」,备用实例的记录设置为「备用记录(Secondary)」。

2. 配置主实例的健康检查

  • 为主实例添加自定义健康检查:
    • 类型选择HTTP/HTTPS(对应你服务的端口,如80/443),指定健康检测路径(比如/health,需确保实例正常运行时返回200状态码);如果是无HTTP服务的场景,选择TCP类型检测端口连通性。
    • 调整判定阈值:例如连续3次检测失败标记为故障,连续2次成功恢复正常状态。
    • 将该健康检查绑定到主实例的Route 53记录上。

3. 调整ALB目标组权重

  • 默认ALB会轮询分发流量到后端实例,这与主备逻辑矛盾,因此需要修改目标组的实例权重:
    • 将主实例的权重设为100,备用实例的权重设为0。这样主实例正常时,ALB只会将流量转发给主实例;当Route 53检测到主实例故障后,可直接切换Route 53记录指向备用实例,或通过自动化工具调整备用实例的权重为100。

4. 自动化切换(可选进阶)

  • 若要实现完全自动化切换,无需手动调整权重,可以搭建CloudWatch告警+Lambda函数的组合:
    • 当Route 53健康检查触发主实例故障告警时,Lambda函数自动将ALB目标组中主实例的权重设为0,备用实例的权重设为100。
    • 当主实例恢复健康后,告警触发Lambda函数将权重恢复至初始状态。

关键注意事项

  • 健康检查的路径必须是实例上真实有效的检测端点,避免因无效路径导致故障误判。
  • 如果使用私有IP,需确保Route 53的私有DNS与你的VPC关联,且健康检查能在VPC内部访问到实例。
  • 务必进行故障测试:手动停止主实例,观察流量是否自动切换到备用实例,验证服务可用性。

内容的提问来源于stack exchange,提问作者vvv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 18:25:36