1. 客户最常问的一句话:RDS 是不是比自建贵很多
作为常年帮企业做云上架构方案的代理商,我几乎每周都会听到同一个问题。客户拿着一份 AWS 账单,看到 RDS 实例的每小时费用,再对比一下自己在 EC2 上装 MySQL 的成本,第一反应往往是"托管数据库怎么这么贵"。这个直觉没错,但问题在于,大多数客户对比的只是"实例单价",根本没有把后面那几项隐性成本算进去。今天这篇,我就把自己这些年给客户做 RDS 与自建数据库对比评估的经验完整梳理一遍。
1.1 用三年账单算一笔总账
要回答"RDS 贵不贵",先别对着单价表纠结,我们把账期拉长到三年。自建方案表面上只需要一台 EC2 实例的费用(甚至可以用预留实例再打折),但实际开销远不止这些。我先列一个对比表,这是我在给客户做成本评估时常用的模板,里面的数值按中等规格估算,不一定精确,但能反映数量级差异:
| 成本项 | 自建 MySQL | RDS MySQL |
|---|---|---|
| 实例费用 | 按 EC2 规格计费,可用 RI 降成本 | 按 RDS 实例规格计费,同样可用 RI |
| 存储费用 | EBS 卷费用 + 手动快照费用 | 按分配的存储空间计费,自动备份含在存储成本中 |
| 备份费用 | 备份脚本 + S3 存储成本 + 定期恢复演练成本 | 自动备份默认保留 7 天,长期备份存 S3 另计 |
| 高可用费用 | 需额外搭建主从,至少 2 台实例 + 1 台仲裁/监控节点 | Multi-AZ 只按备节点实例收费,切换逻辑全托管 |
| 运维人力 | DBA 工资 / 核心骨干时间成本 | 基本为零 |
| 版本升级 | 手工升级 + 测试停机窗口 + 回滚方案 | 控制台一键升级,或维护窗口自动升级 |
| 安全补丁 | 手工打补丁,且要自己测试 | 自动处理或维护窗口处理 |
这张表里,最容易让客户忽视的是"运维人力"这一项。我见过太多创业公司,CTO 亲自在 EC2 上装 MySQL,觉得省了不少钱。结果数据库一挂,全家半夜爬起来看日志。一次生产事故的损失,可能就抵得上 RDS 几年的托管费。我常跟客户算一笔账:你们团队一个月花在数据库维护上的时间有多少小时?按核心工程师的时薪折算,一年下来是一笔不小的数字。把这些时间抢回来投到业务开发上,才是 RDS 真正的价值来源。
1.2 预留实例与无服务器选项的隐藏折扣
另外要说明的是,RDS 并不是只能按需付费硬扛。RDS Reserved Instance 可以预付 1 年或 3 年,最高能省 60% 左右;如果业务流量波动明显,还可以用 RDS 的无服务器模式(Aurora Serverless 或 RDS Serverless v2),按实际消耗的容量计费,秒级伸缩。起步阶段用小规格,业务量起来后再纵向扩容,根本不需要提前把硬件买大。相比之下,自建方案一旦把 EC2 规格买大了,想降下来就得重新迁移数据,麻烦得很。
成本这个话题,说到底是"账期"问题。看一个月账单,自建确实便宜;看三年账单,再叠加一次事故的损失,RDS 的性价比往往就显现出来了。不过成本只是其中一个维度,下面聊运维,这个才是自建数据库真正的分水岭。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 自建数据库的运维账本:备份、补丁、监控哪个都不能省
很多团队选择自建,不是因为算过账,而是因为"觉得 MySQL 装个包很简单"。没错,装一个 MySQL 确实简单,但"运营一个数据库"和"装一个数据库"完全是两件事。日常运维里最磨人的三件事——备份、补丁、监控,每一项在自建环境里都能磨掉你一层皮。
2.1 备份:做一天容易,做三年难
自建数据库的备份,看起来就是一句 mysqldump 或者 xtrabackup,但真正落地的时候你会发现一堆问题:备份任务失败了有没有告警?备份文件有没有做异机保存?恢复流程有没有演练过?我接手过一个客户,备份脚本跑了两年,从没演练过恢复。结果某天磁盘损坏,打开备份文件才发现,脚本因为
