RDS 快照恢复与跨区副本
RDS 的恢复不是原地回滚,而是从快照或时间点创建出一个新实例:原实例保持不动,新实例有独立的端点和连接地址,因此恢复流程里必须包含应用连接串切换这一步。跨区域复制把快照送到另一个区域,用于地域级容灾;恢复前先把副本带过来,再在目标区域执行恢复。
基本信息
| 恢复目标 | 恢复动作产生新实例,原实例不受影响 |
|---|---|
| 端点变化 | 新实例有独立 endpoint,应用与 DNS 需要相应调整 |
| 前置条件 | 自动备份或手动快照存在,且时间点在保留期内 |
| 跨区流程 | 先在目标区复制快照,再在目标区恢复 |
典型使用场景
- 误删数据后做时间点恢复:恢复到误操作前几秒,再选择性取回数据
- 演练验证:定期用快照恢复到隔离实例,确认备份可用
- 跨区域容灾:区域级故障时在目标区恢复并切换应用
- 版本发布回退:发布前打快照,异常时恢复到发布前状态
- 数据交付:从快照恢复实例给分析或测试团队使用
时间点恢复与跨区复制
时间点恢复与跨区复制
# 恢复到指定时间点,生成新实例 appdb-restore
aws rds restore-db-instance-to-point-in-time \
--source-db-instance-identifier appdb \
--target-db-instance-identifier appdb-restore \
--restore-time 2026-10-12T02:29:00Z
# 把自动备份快照复制到新加坡区域
aws rds copy-db-snapshot \
--source-db-snapshot-identifier arn:aws:rds:ap-northeast-1:123456789012:snapshot:rds:appdb-2026-10-12 \
--target-db-snapshot-identifier appdb-copy --region ap-southeast-1
aws rds describe-db-instances --db-instance-identifier appdb-restore \
--query 'DBInstances[0].Endpoint' # 拿到新端点后再切应用恢复路径对比
| 来源 | 恢复粒度 | 注意 |
|---|---|---|
| 自动备份快照 | 备份时点 | 最快,但粒度粗 |
| 时间点恢复(PITR) | 秒级到任意时刻 | 依赖日志备份,恢复耗时更长 |
| 跨区域副本 | 副本时点 | 需先完成复制,RPO 由复制频率决定 |
| 手动快照 | 手动创建时点 | 适合发布前留基线 |
恢复耗时可观:大实例按数据量消耗数十分钟到数小时,RTO 测算应把恢复动作本身、DNS/连接切换与校验时间都算进去。
加密快照跨区域复制需要目标区域有可用的 KMS 密钥权限,缺失时复制直接失败;加密与权限配置建议在演练中提前验证一次。