什么是 AWS RDS 自动故障转移

AWS RDS 自动故障转移是一项内置的高可用性功能,当你的主数据库实例不可用时便会启动。Amazon RDS 会自动提升位于不同可用区(AZ)的备用副本——无需人工干预。

什么是 aws rds 自动故障转移

自动故障转移与 Multi-AZ:有什么联系?

自动故障转移仅在启用 Multi-AZ 时才能工作。启用 Multi-AZ 后,AWS 会在独立的可用区中配置一个同步备用副本,并使其始终与主实例保持同步。

什么会触发 AWS RDS 自动故障转移?

RDS 不会因为轻微中断就切换。只有当 AWS 检测到主实例出现严重问题时,才会启动故障转移:

  • 主可用区失去可用性
  • 网络连接故障
  • 计算实例故障
  • 存储故障
  • 使用“带故障转移的重启”选项进行手动重启
注意:计划内维护——例如操作系统补丁或实例扩缩容——也可能触发故障转移,以尽量减少更新窗口期间的停机时间。

AWS RDS 自动故障转移如何工作

RDS 故障转移不是简单的备份还原。它是在两个独立基础设施环境之间进行的协调切换——旨在快速完成并对你的应用程序透明。

主实例与备用实例

启用 Multi-AZ 后,AWS 会在两个独立的可用区中运行一个主数据库实例和一个备用实例。实现零数据丢失的关键是同步复制

对主实例的每次写入都会同时写入备用实例。只有当两个实例都记录该事务后,事务才会被确认——这使得备用实例在任何时候都是主实例的精确、最新镜像。

故障转移流程分步说明

整个切换通常会在 60 到 120 秒内完成。以下是具体过程:

  1. 检测到主实例故障:AWS 健康检查不再收到主实例的响应,确认其不可用。
  2. 提升备用实例:备用副本被提升为主实例,并开始接受流量。
  3. 更新 DNS 端点:AWS 更新你 RDS 端点的 DNS 记录,使其指向新主实例的 IP 地址。这正是切换对应用透明的原因——你的连接字符串不会改变。
  4. 应用程序重新连接:在下一次连接尝试时,你的应用程序会自动路由到新的主实例。
注意:避免将 DNS 结果缓存过久。如果你的应用一直持有旧 IP,就不会获取更新后的端点——即使故障转移已完成,也会延长停机时间。

AWS RDS 自动故障转移与只读副本对比

Multi-AZ 备用实例和只读副本都涉及数据复制——但它们解决的问题不同。混淆两者是一个常见且代价高昂的错误。

在深入细节之前,先看一个快速对比:

特性 Multi-AZ 备用实例 只读副本
主要用途 高可用性与故障转移 读取扩展与性能
复制类型 同步(零数据丢失) 异步(可能存在延迟)
是否可查询 是(只读)
故障转移 通过 DNS 更新自动完成 手动提升(标准 RDS)
可用区 始终位于不同可用区 同一可用区、不同可用区或不同区域

Multi-AZ 备用实例:为可靠性而生

备用实例是一个被动节点——你无法查询它或直接连接它。它唯一的职责就是与主实例保持同步,并在出现问题时自动接管。这使得 Multi-AZ 成为以可用性为优先时的正确选择。

只读副本:为性能而生

只读副本是活动节点,负责处理只读流量,从而减轻主实例的负载。它们对扩展很有用,但使用的是异步复制——这意味着发生故障时,最新事务存在尚未到达副本的小风险。

AWS RDS 是否支持只读副本自动故障转移?

对于标准 RDS 引擎(MySQL、PostgreSQL、Oracle),不存在只读副本的自动提升。如果主实例发生故障,你需要手动处理提升和 DNS 变更——这意味着相比 Multi-AZ,停机时间更长。

提示:如果你的工作负载要求零数据丢失(RPO = 0),Multi-AZ 是唯一选择。异步复制意味着只读副本永远无法完全保证这一点。

使用 i2Availability 实现混合云与灾难恢复

AWS RDS 自动故障转移在 AWS 内部运行良好。但许多企业环境并非纯云端。如果你的基础设施横跨本地服务器、VMware 平台和公有云,单一云的故障转移方案会在保护上留下缺口。

这正是 i2Availability 的用武之地。它是一款面向复杂异构环境的应用程序级高可用解决方案——将灾难恢复扩展到原生云工具覆盖范围之外。

i2Availability 的主要功能

  • 跨平台保护:i2Availability 支持跨物理机、虚拟机和云主机的任意组合(P2P、P2V、V2P、V2V)进行高可用部署。这使其非常适合涉及 AWS、Azure、VMware 和本地基础设施的混合云架构。
  • 零延迟复制:i2Availability 使用字节级实时复制,捕获生产环境中的所有写操作,并将其持续同步到备用端。RPO 接近零,备用端数据可立即使用——无需恢复步骤。
  • 自动故障转移与故障回切:检测到故障时,i2Availability 会根据预先配置的流程自动提升备用端并恢复服务。虚拟 IP 漂移确保最终用户不受影响。主端修复后,故障回切可手动或自动处理。
  • 安全数据传输:所有数据传输均使用 AES 或 SM4 算法加密。管理系统包含强密码策略和防暴力破解机制以保护访问。
  • 统一 Web 控制台:图形化 Web 控制台提供复制状态、服务健康和切换事件的实时监控。它支持批量客户端部署、基于模板的规则创建,以及自动诊断工具来检测网络或配置异常。

AWS RDS 在其自身生态系统内高效处理故障转移。但对于跨混合环境运行数据库——或有更严格合规与恢复要求——的组织而言,i2Availability 提供了云原生工具单独无法提供的额外控制层和灵活性。

使用 AWS RDS 自动故障转移的最佳实践

启用 Multi-AZ 只是第一步。如果没有正确的应用程序和基础设施设置,即使数据库恢复了,你的应用也可能仍然处于宕机状态。

为应用程序设计重试逻辑

在 RDS 故障转移期间,所有到主实例的现有连接都会被断开。你的应用程序很可能会抛出“Connection reset by peer”或“Communications link failure”之类的错误。

需要实现两件事:

  • 指数退避:不要用大量重连请求冲击数据库,而是逐步增加重试之间的等待时间。这可以防止新主实例上线时被压垮。
  • 错误分类:确保你的代码能够区分临时网络错误(可能是故障转移正在进行)和永久性故障(如身份验证错误)。只有前者才应触发重试。

明智地使用连接

像 PgBouncer 或 HikariCP 这样的连接池工具可以提高性能,但如果配置不当,它们可能会在故障转移期间起反作用。

  • 设置最大连接生命周期:持有陈旧连接的连接池会不断尝试访问旧主实例。设置最大生命周期可强制连接池定期刷新连接。
  • 遵守 DNS TTL:RDS 故障转移通过更新 DNS 记录来工作。如果你的应用程序——或 JVM——无限期缓存 DNS 查询结果,它就不会发现新的主实例。请将 TTL 保持在 60 秒或更短。

监控故障转移事件

不要等到用户投诉才发现发生了故障转移。设置主动告警:

  • RDS 事件通知:通过 Amazon SNS 订阅故障转移事件类别,以便在切换开始时立即收到告警——可通过电子邮件、Slack 或 Lambda 触发器。
  • CloudWatch 告警:跟踪 DatabaseConnections 指标。突然降至零随后又飙升,是故障转移事件的可靠指标。

定期测试故障转移

真正的故障发生时,不是发现配置缺口的好时机。定期进行故障转移演练:

  • 触发手动故障转移:在 AWS 控制台中,选择你的实例并选择“带故障转移的重启”。这会在不模拟硬件故障的情况下启动一次真实切换。
  • 测量恢复时间:跟踪你的应用程序重新连接所需的时间。如果超过两分钟,DNS 缓存很可能是罪魁祸首。
提示:在对生产环境进行故障转移测试之前,始终先在预发布环境中运行测试。

FAQ

Q1:RDS 有自动故障转移吗?

有,但仅在启用 Multi-AZ 时才有。AWS 会监控你的主实例,并在检测到故障时自动切换到不同可用区中的备用副本。

 

Q2:手动故障转移和自动故障转移有什么区别?

自动故障转移由 AWS 在检测到硬件或网络故障时触发——无需人工操作。手动故障转移由用户发起,通常通过 AWS 控制台中的“带故障转移的重启”选项,一般用于测试或计划内维护。

 

Q3:什么会导致 RDS 故障转移?

常见触发因素包括可用区中断、网络连接丢失或主机硬件故障。在某些情况下,AWS 也可能在维护窗口期间执行计划内切换——例如操作系统补丁或实例扩缩容——其行为类似,但并非由故障引起。

 

Q4:RDS 有自动备份吗?

有。Amazon RDS 会自动创建每日快照并捕获事务日志。这些功能支持时间点恢复(PITR),让你可以将数据库恢复到配置的保留期内的任意特定秒。

 

Q5:启用 Multi-AZ 的 Amazon RDS 具备自动故障转移能力吗?

具备。启用 Multi-AZ 后,RDS 会自动提升备用实例并更新 DNS 端点——通常在 60 到 120 秒内完成——无需任何人工干预。

结论

理解 AWS RDS 自动故障转移,是区分小故障和重大宕机的关键。Multi-AZ 为你提供同步复制和自动 DNS 切换——但这只是等式的一半。

要构建真正具有韧性的系统,你的应用程序还需要重试逻辑、较低的 DNS TTL 设置以及定期的故障转移演练。AWS 负责基础设施切换;你的架构决定用户多快能重新上线。

对于跨混合或多平台环境运行数据库的组织而言,原生 AWS 故障转移可能不够。像 i2Availability 这样的工具可以将保护扩展到云端之外——覆盖本地服务器、虚拟化平台和跨数据中心场景,而这些是 RDS 单独无法触及的。

博客分类底部

准备好构建企业数据韧性了吗?

立即开启 60 天免费试用,或预约产品演示,了解英方软件如何为您的核心业务提供「零中断、零丢失」的数据保护。

请先完成图形验证

验  证  码:

英方官网验证码
第三方二维码 第三方二维码
英方公告铃铛图标
英方公告铃铛图标

公告

英方侧边栏向右箭头
英方高亮提示圆点
英方软件公告
各位求职者、合作伙伴:
近期有第三方冒用英方名义发布虚假招聘、不实业务信息。我司正规招聘全程零收费,非官网渠道信息均不作数。
信息核验热线:400-0078-655
遇诈骗请保留证据,及时联系我们并报警
英方软件
2026 年 6 月 23 日
英方邮件咨询图标
英方邮件咨询图标

邮件

英方销售支持图标
英方销售支持图标

销售

英方侧边栏向右箭头
联系销售:400-0078-655 转 1