0Pricing
AWS Solutions Architect · 课时

多可用区与自动备份

启用 Multi-AZ 以实现同步备用复制,并了解自动备份窗口和保留期限。

多可用区与自动备份 是 CoddyKit 上的免费 AWS Solutions Architect 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AWS Solutions Architect 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AWS Solutions Architect 课程共包含 4 节课。

RDS 中的 Multi-AZ 是什么

Multi-AZ 是 RDS 的一项高可用性功能,会自动在同一区域内的其他可用区预置同步备用副本。AWS 会透明地管理复制,您只需通过单个 DNS 终端节点连接,RDS 会将流量路由到主实例。

如果主实例因硬件、网络或 OS 问题发生故障,RDS 会自动在大约 60–120 秒内将流量切换到备用实例。您的应用程序使用相同的 DNS 终端节点重新连接,该终端节点此时会解析到备用实例的 IP 地址。

为现有实例启用 Multi-AZ

您可以在创建 RDS 实例时启用 Multi-AZ,也可以为现有实例启用。对正在运行的实例启用该功能时,AWS 会先为主实例创建快照,再将其恢复到第二个 AZ,随后使用数据库引擎的原生复制功能进行同步。此过程可能导致主实例短暂暂停 I/O,因此请安排在低流量时段执行,或接受在维护时段执行所带来的影响。

所有 RDS 引擎都支持 Multi-AZ,包括 MySQL、PostgreSQL、MariaDB、Oracle 和 SQL Server,并且不需要对应用程序进行任何更改。

# Enable Multi-AZ on an existing RDS instance
aws rds modify-db-instance \
  --db-instance-identifier mydb \
  --multi-az \
  --apply-immediately

Multi-AZ 故障转移机制

发生故障转移时,RDS 会在大约 60 秒内更新数据库终端节点的 DNS CNAME,使其指向备用实例。您的应用程序必须在检测到 TCP 连接断开后重新连接。要尽量缩短重新连接的延迟:

  • 使用较短的 DNS TTL(RDS 通常已将其设置为 5 秒)
  • 在连接逻辑中实现带重试的指数退避
  • 使用 RDS Proxy 等能够自动重新连接的连接池工具

维护或更改实例类时也可以手动触发故障转移;启用 Multi-AZ 后,升级时的停机时间可以接近于零。

# Force a manual failover for testing
aws rds reboot-db-instance \
  --db-instance-identifier mydb \
  --force-failover

Multi-AZ 与只读副本

考试中常见的混淆是将Multi-AZ(用于可用性)与只读副本(用于可扩展性)混为一谈。主要区别如下:

  • Multi-AZ 备用实例:同步复制,不提供读取流量服务,自动故障转移,位于同一区域
  • 只读副本:异步复制,提供读取流量服务,不会自动故障转移,可以跨区域部署

Multi-AZ 不会提升读取性能,因为备用实例无法用于查询。若要同时提高可用性并扩展读取能力,请在主实例上启用 Multi-AZ,并另外添加只读副本。

自动备份概述

RDS 会每天自动创建完整数据库快照,并每 5 分钟捕获一次事务日志。两者结合后,可以在备份保留期内的任意时刻执行时间点恢复(PITR)。您可以将数据库恢复到该时间窗口内任意时刻的状态。

自动备份默认启用,保留期限可设置为1 到 35 天。将保留期限设置为 0 会禁用自动备份(以及 PITR)。备份时段为 30 分钟,您可以自行指定,也可以让 AWS 在非高峰时段自动选择。

备份窗口和维护窗口

备份窗口是执行每日快照的时间段。在此窗口期间,单 AZ 部署的存储 I/O 可能会短暂暂停。多 AZ 部署会从备用实例创建快照,因此不会影响主实例的 I/O。

维护窗口是每周单独安排的时间段,AWS 会在此期间应用 OS 补丁、数据库引擎小版本升级和实例修改。最佳实践是将这两个窗口都设置在流量较低的时段,并确保它们不重叠。

# Set backup window and retention on create
aws rds create-db-instance \
  --db-instance-identifier mydb \
  --engine mysql \
  --db-instance-class db.t3.micro \
  --master-username admin \
  --master-user-password MyPass123! \
  --allocated-storage 20 \
  --backup-retention-period 7 \
  --preferred-backup-window '03:00-04:00'

时间点恢复(PITR)

要恢复到特定时间点,RDS 会先恢复最近的每日快照,然后重放事务日志,直到请求的时间戳。恢复结果是一个新的数据库实例——PITR 绝不会覆盖源实例,为您提供不会中断生产环境的安全恢复途径。

恢复的实例可用后,您需要更新应用程序的连接字符串,使其指向新的端点,验证数据完整性,然后在此次恢复为有意操作的情况下删除原实例。典型的恢复时间与数据库大小以及上次快照以来的日志量成正比。

# Restore to a specific point in time
aws rds restore-db-instance-to-point-in-time \
  --source-db-instance-identifier mydb \
  --target-db-instance-identifier mydb-restored \
  --restore-time 2026-06-20T14:30:00Z

手动数据库快照

除了自动备份之外,您还可以随时创建手动快照。与自动备份不同,手动快照不受保留期限制,除非您明确将其删除,否则会一直保留。

手动快照非常适合在进行重大架构迁移、应用程序升级之前,或计费周期结束时捕获系统状态,以便进行合规归档。您还可以与其他 AWS 账户共享手动快照,或将其复制到其他区域用于灾难恢复。

# Create a manual snapshot
aws rds create-db-snapshot \
  --db-instance-identifier mydb \
  --db-snapshot-identifier mydb-before-migration-2026-06-20

跨区域复制快照

您可以将自动快照或手动快照复制到其他 AWS 区域,用于灾难恢复。复制结果是存储在目标区域 S3 基础设施中的完整快照。复制完成后,如果主区域不可用,您可以在该区域恢复新的 RDS 实例。

即使源快照未加密,也可以在目标位置对快照副本进行加密,反之亦然。跨区域复制会产生数据传输费用。您可以使用 AWS Backup 或由 EventBridge 触发的 Lambda,自动定期复制跨区域快照。

# Copy a snapshot to another region
aws rds copy-db-snapshot \
  --source-db-snapshot-identifier arn:aws:rds:us-east-1:123456789:snapshot:mydb-snap \
  --target-db-snapshot-identifier mydb-snap-copy \
  --source-region us-east-1 \
  --region us-west-2

用于连接池的 RDS 代理

Amazon RDS Proxy位于您的应用程序与 RDS 之间,并对数据库连接进行池化。这对于 Lambda 函数尤其有用,因为这类函数可能会打开数千个短生命周期连接,从而耗尽数据库连接上限。RDS Proxy 会对连接进行多路复用,使数据库实际看到的活动连接大幅减少。

在多 AZ 故障转移期间,RDS Proxy 会保持应用程序连接,并重新建立与新主实例的数据库连接,将应用程序重新连接时间从几分钟缩短到几秒。RDS Proxy 还集成了 Secrets Manager,可以在不导致应用程序停机的情况下轮换凭证。

多 AZ 集群与多 AZ 实例

RDS 现在提供两种多 AZ 选项:多 AZ 数据库实例(经典模式,包含一个备用实例)和多 AZ 数据库集群(在不同 AZ 中包含两个可读备用实例)。集群模式使用半同步复制,并允许备用实例处理读取流量,因此无需单独的 Read Replicas 即可提供更高的可用性和读取扩展能力。

对于 SAA-C03 考试,经典的多 AZ 数据库实例最常被考查。请记住:多 AZ 集群是较新的选项,备用实例可以处理读取请求;而经典模式的备用实例不能处理读取请求。

快速检查

请测试您对本课 AWS Solutions Architect(SAA-C03)概念的理解。

课程回顾

本课您学到了:多 AZ 通过自动故障转移提供同步备用复制,故障转移时间为 60–120 秒;自动备份支持 PITR,可以恢复到保留窗口内的任意一秒(1–35 天);手动快照会无限期保留,并且可以跨区域复制以用于 DR。接下来,我们将探讨用于分发读取流量和提高读取吞吐量的 Read Replicas。

常见问题解答

「多可用区与自动备份」课时是免费的吗?

是的 — 「多可用区与自动备份」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AWS Solutions Architect 课程的其余内容,请升级到 CoddyKit PRO。 AWS Solutions Architect 课程共包含 4 节课。

「多可用区与自动备份」这节课中我会学到什么?

启用 Multi-AZ 以实现同步备用复制,并了解自动备份窗口和保留期限。 你通过在浏览器中直接运行的动手代码来练习 AWS Solutions Architect,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 AWS Solutions Architect 需要有经验吗?

无需任何先前经验。CoddyKit 上的 AWS Solutions Architect 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「多可用区与自动备份」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 AWS Solutions Architect 课中编写并运行代码吗?

能。每节 AWS Solutions Architect 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. RDS 引擎与实例类别
  2. 多可用区与自动备份
  3. 用于读取扩展的只读副本
  4. RDS 安全性:加密与参数组
← 返回 AWS Solutions Architect