RDS 自动备份与 PITR
云数据库的自动备份由两个部分组成:每日一次存储级快照,以及持续归档的事务日志。两者合起来支持把实例恢复到保留期内的任意时间点(PITR),恢复产物是一个新实例,原实例不受影响。保留期可配置为 1 到 35 天,设为 0 等于关闭并删除现有自动备份,属于不可逆操作。
基本信息
| 适用平台 | AWS RDS(MySQL / PostgreSQL / MariaDB / SQL Server 等),其他云厂商对应产品机制类似 |
|---|---|
| 保留期 | 1-35 天可配置;设为 0 会关闭自动备份并删除已有备份文件 |
| PITR 口径 | 恢复到指定时间点,产物为新实例;不覆盖原实例 |
| 备份窗口 | 可指定 30 分钟窗口,实际时长受数据量与写入量影响 |
典型使用场景
- 误删数据回滚:用 PITR 恢复到误操作前的时间点实例,再导出所需数据
- 升级与发布前的兜底:发布前确认自动备份正常,异常时可快速回到某个时间点
- 日常巡检:核对保留期是否与 RPO 要求匹配,检查备份窗口是否落在业务低峰
- 跨环境取数:从恢复出的时间点实例导出数据到分析或测试环境
- 长期留存补充:把超过保留期仍需保留的恢复点转为手动快照
查看与调整保留期
查看与调整保留期
# 查看保留期与备份窗口
aws rds describe-db-instances --db-instance-identifier appdb \
--query 'DBInstances[0].{Retention:BackupRetentionPeriod,Window:PreferredBackupWindow}'
# 调整为保留 14 天,并指定低峰时段作为备份窗口
aws rds modify-db-instance --db-instance-identifier appdb \
--backup-retention-period 14 \
--preferred-backup-window "18:00-18:30" --apply-immediately
# 长期留存:把手动快照保留,不受自动备份保留期限制
aws rds create-db-snapshot --db-instance-identifier appdb \
--db-snapshot-identifier appdb-before-release-202610备份相关状态读法
| 字段/概念 | 含义 | 正常/异常 |
|---|---|---|
| BackupRetentionPeriod | 自动备份保留天数 | 为 0 表示已关闭自动备份,无 PITR 能力 |
| PreferredBackupWindow | 每日快照的执行窗口 | 与业务高峰重叠时会出现 IO 抖动 |
| LatestRestorableTime | 可恢复到的最新时间点 | 明显落后当前时间说明日志归档延迟 |
| 手动快照 | 人工创建、不受保留期限制 | 长期保留要靠它,自动备份会按期淘汰 |
| 加密 | 快照继承实例的 KMS 加密设置 | 跨账号或跨区复制需处理密钥权限 |
备份窗口与维护窗口尽量错开:写入密集的实例在快照阶段可能出现延迟抖动,放在业务低峰更稳妥。
PITR 只能恢复到保留期内的时间点。保留期内的日志归档一旦滞后,LatestRestorableTime 会退后,设计 RPO 时要把这一延迟考虑进去。