本文由 亚马逊云站代理商『翼龙云/TG @Yilongcloud 撰写』如需转载请注明!
作者:翼龙云/Yilongcloud
重要前置提示:RDS 快照资源按地域相互隔离,排查清理务必切换全部地域;备份存储账单存在 2448 小时统计延迟,删除快照后费用不会立刻在账单体现。
1. 导致 RDS 快照费用上升的常见场景
在日常运维中,以下情况容易导致快照存储空间超出预期:
- 手动快照残留:在进行重大变更前创建的手动快照,在任务完成后未被及时删除。
- 实例删除后的遗留:删除开发或测试环境的 RDS 实例时,如果勾选了 “保留最终快照”,该快照将转为手动快照并持续计费;删除实例时若开启Retain automated backups保留自动备份,被保留的自动备份也会继续计费直至保留周期到期。
- 备份保留期设置过长:自动备份保留期被设置为远超业务实际需求的周期,占用备份存储。
- 复制快照遗留:自动备份经过 Copy 复制得到新快照,会变为手动快照,不受原实例备份策略管控。
- AWS Backup 托管备份:通过 AWS Backup 生成 RDS 恢复点,不在 RDS 快照面板展示,遗忘后持续产生存储开销。
2. AWS RDS 快照计费与生命周期机制
理解快照计费逻辑是进行成本优化的前提。
免费额度说明
AWS 提供单地域维度免费备份存储额度:该地域下所有运行中 RDS 实例的总存储容量之和,即为该地域免费备份额度。地域内全部自动备份、手动快照总容量超出该额度后,按 GB月计费。
实例删除后的计费变化
一旦 RDS 实例被删除,该实例贡献的免费备份存储额度会立即失效。
- 如果删除实例开启Retain automated backups,自动备份会保留至原保留周期结束,这段时间全额计费;到期自动清除。
- 所有手动快照(含 Final 最终快照)独立留存,全额计费,不会自动删除。
自动快照与手动快照对比
| 特性 | 自动快照 (Automated Backups) | 手动快照 (Manual Snapshots) |
| 触发方式 | 系统按备份窗口自动触发 | 用户手动触发、实例删除 Final 快照、自动备份 Copy 复制、AWS Backup 备份 |
| 保留周期 | 035 天(实例配置自定义) | 永久保留,直至手动删除 |
| 计费逻辑 | 地域共享免费备份额度,超出部分计费 | 地域共享免费备份额度,超出部分计费 |
| 实例删除后 | 默认随实例删除;开启 Retain automated backups 则保留至保留期结束 | 不会删除,独立存在并全额计费 |
| 适用场景 | 日常灾备、时间点恢复 (PITR) | 变更基线、长期归档、跨区域灾备 |
3. 修改自动备份保留周期
根据业务的 RPO(恢复点目标)合理设置保留周期,可以从源头控制自动备份的规模。
注意: 将备份保留期设置为 0 会禁用自动备份功能,并立即删除所有现有的自动快照,彻底丧失时间点恢复(PITR)能力。
将保留期调小,早于新保留期的旧自动备份会立刻被清除,PITR 恢复窗口同步缩短,生产环境变更前务必确认业务 RPO 要求。 生产环境建议保留 714 天。
操作步骤(基于 2026 年控制台逻辑):
1. 登录 AWS 管理控制台,进入 Amazon RDS 服务。
2. 在 Databases(数据库) 列表中点击目标实例。
3. 点击 Modify(修改)。
4. 找到 Additional configuration(附加配置) 中的 Backup(备份) 栏目。
5. 在 Backup retention period(备份保留期) 中选择天数。
6. 点击 Continue,选择 Apply immediately(立即应用) 并确认。
AWS CLI 命令参考:
aws rds modify-db-instance \
–db-instance-identifier your-db-instance-id \
–backup-retention-period 7 \
–apply-immediately
4. 清理手动快照的流程
对于堆积的手动快照,建议按以下流程处理:
- 筛选:在 Snapshots 页面按 Snapshot Type = Manual 过滤,找出创建时间较早的快照。
- 验证:确认快照是否被其他账号共享,或是否为自动化环境的基准镜像。建议先打上 ReadyToDelete 标签观察。
- 删除:确认无误后执行删除。
补充:AWS Backup 创建的备份恢复点,请到 AWS Backup 控制台进行生命周期管理,RDS 快照列表看不到这类备份。
AWS CLI 删除示例:
aws rds delete-db-snapshot –db-snapshot-identifier your-manual-snapshot-id
5. 自动化管理建议
对于规模较大的环境,手动清理效率较低,可以考虑以下方案:
AWS Backup:通过备份计划(Backup Plan)统一管理 RDS 快照的生命周期,支持自动调度和过期自动删除。
自定义脚本:利用 AWS Lambda 结合 EventBridge,根据快照标签(如过期日期)定期扫描并清理。
6. 运维建议
- 规范标签:为手动快照强制添加项目、创建者和过期时间标签,便于批量识别。
- 谨慎处理最终快照:删除实例时评估是否真的需要 “最终快照”;测试环境尽量不生成 Final 快照;如确需保留,设置日历清理提醒。
- 删除实例选项:非特殊场景,删除实例不要开启Retain automated backups,避免遗留付费自动备份。
- 恢复演练:在缩短保留周期前,确保已通过恢复演练验证了现有备份的有效性。
- 成本告警:配置 AWS Budgets 监控RDSBackupStorage预估开销,备份存储突增触发邮件告警。
常见问题 (FAQ)
Q:快照、备份与容灾分别解决什么问题,如何确定 RPO 和 RTO?
A:快照记录时点状态,备份提供可恢复副本,容灾保障业务连续性。方案应根据 RPO(可接受最大数据丢失量)和 RTO(允许业务恢复时长)倒推。流程为:设定 RPO/RTO → 确定备份与副本组合 → 设置保留与保护规则 → 记录依赖 → 定期演练。备份成功不代表恢复可行,必须通过演练验证。
Q:AWS RDS 自动快照和手动快照在计费上有什么区别?
A:实例运行期间,两者共享地域级免费备份存储额度,超出部分计费标准一致。 区别在于实例删除后:
- 自动快照:默认随实例销毁;如果删除实例开启Retain automated backups,会保留至原保留周期,实例删除阶段无免费额度,全额计费,到期自动清除。
- 手动快照:永久留存,实例删除后没有免费额度抵扣,按实际容量全额收取存储费用,必须手动删除。
Q:如何批量删除 AWS RDS 中过期的手动快照?
A:主要有两种方式: 一是使用 AWS CLI 结合脚本,通过 describedbsnapshots 筛选特定日期前的手动快照并循环调用删除命令; 二是使用 AWS Backup 服务,在备份计划中配置过期规则,由系统自动执行清理。 执行批量删除前务必核实快照的依赖关系、跨区域副本与快照共享场景。
Q:已经删除 RDS 实例,但备份存储账单依旧很高是什么原因?
A:大概率存在:①Final 最终快照或历史手动快照;②删除实例开启了保留自动备份;③跨区域复制快照;④AWS Backup 托管恢复点。切换全部地域,分别检查 RDS 快照面板与 AWS Backup 控制台。
Q:删除 RDS 快照之后 Cost Explorer 账单没有立刻下降?
A:RDS 备份存储账单存在 2448 小时统计延迟,清理完成后等待 12 个工作日再复核账单。
