EC2 选型踩坑一年亏多少?四个问题做对 AWS 云服务器决策
目录
前言:EC2 选错了,一年亏的钱够再买一台
EC2 有 750 多种实例。但真正需要你选的只有 4 个决策:工作负载是什么、用哪个实例族、走什么定价模式、部署在哪个 Region。
按这个顺序一个个往下走,选型不会错。跳过前两步直接比参数:蒙着眼睛选。
过去三年我经手了 50 多家企业的 EC2 选型评估。有一个数据每次看都让我不舒服:第一次评估时选了正确实例族和定价模式的客户,不到一半。 剩下的都在为选错买单:一台 c7i.4xlarge 开了一年,实际负载用 c7i.xlarge 就能跑。一年光这一台就多付了 $3,600。
我管这个叫”四问选型法”。 四个问题按顺序问。75% 的选型错误在第一问就能避免。
一、第一问:你的工作负载到底是什么?算清楚了再选实例
选型不看实例参数,看负载数据。 CPU、内存、网络 I/O:拿过去 2 周的 CloudWatch 数据看,比看 10 页实例对比表有用。
1.1 负载类型决定实例族
| 负载特征 | 实例族 | 典型场景 | 代表实例 |
|---|---|---|---|
| CPU 持续 >60% | C 系列(计算优化) | 视频转码、批量编译、ML 推理 | c7i.xlarge |
| 内存 >16GB 且增长中 | R 系列(内存优化) | Redis、实时分析、SAP | r7i.xlarge |
| CPU 和内存都中等 | M 系列(通用) | Web 服务、应用服务器 | m7i.xlarge |
| 流量有波峰波谷 | T 系列(突发) | 活动页、测试环境、轻量 CMS | t4g.medium |
| 本地 NVMe 存储必需 | I 系列(存储优化) | Cassandra、MongoDB | i4i.xlarge |
1.2 超配:最贵的错误不是买错了,是买大了
去年 11 月,一个做企业协作 SaaS 的团队找我评估成本。他们生产环境跑了 6 台 c7i.4xlarge(16 vCPU、32GB),月度 EC2 账单约 $4,200。
我让他们拉了过去一个月的 CloudWatch 数据。结果:平均 CPU 利用率 18%,峰值 35%。内存使用稳定在 14-16GB:4xlarge 的 32GB 内存用了一半。
换到 c7i.2xlarge(8 vCPU、16GB)之后,性能完全够,月账单从 $4,200 降到了 $2,100。
省了一半。
多出来的 $2,100/月不是”安全余量”:是浪费。20% 余量是安全,50% 余量是不看数据。
超配还有一个隐性代价:在过大的实例上,架构问题被掩盖了。数据库慢查询在 4xlarge 上感受不到,撑到 xlarge 上立刻暴露。大实例让你”不痛”,但问题还在:等到业务量涨到连 4xlarge 都撑不住的时候,改架构已经晚了。
Brian 的建议:从比你估计小一号的实例开始。 用 CloudWatch 监控跑 1-2 周。卡到 60%-70% 利用率再升配。“先大再降”听起来安全,实际上降配比升配难:一旦业务习惯了富余资源,降配就变成了一场政治谈判。
1.3 别拿 T 系列跑稳定负载
T 系列(T3a、T4g)靠 CPU 积分运行。积分耗尽 → 性能掉到基线,只有硬限的 20%-40%。
今年 2 月一个客户的生产 API 服务跑在 t3.medium 上。平时没问题:CPU 积分攒了一堆。有一天凌晨被一个爬虫打了一波请求,2 分钟内积分耗尽。接下来 40 分钟 CPU 卡在 20% 基线,API 响应时间从 200ms 飙到 3 秒。
一批用户在线上投诉页面打不开。
根因就是一个:稳定负载不该跑在突发实例上。 T 系列适合开发和测试:负载不确定的、短时冲高的场景。7×24 稳定跑的 API 服务,M 系列或 C 系列 — 贵一点但不需要担心积分。
| 工作负载 | 推荐 | 不推荐 |
|---|---|---|
| 生产 API 服务 | M7i / C7i | T 系列 |
| 批处理任务 | C7i + Spot | On-demand C7i |
| 测试环境 | T4g | M7i |
| Redis 缓存 | R7i | T 系列 |
二、第二问:实例族选错了怎么救?迁移没有你想的那么疼
选错实例族的代价不在于迁移本身——在于一直不迁移。
EC2 的”停止-改类型-启动”操作 2-5 分钟完成。不是几周的迁移项目。但拖着的团队比改了的团队多:不是技术问题,是惯性。
2.1 从 C 换到 R:一次迁移,性能翻了 30%
去年 8 月,一个做手游后端服务的团队在做架构评估。他们的实时对战匹配服务跑在 c7i.2xlarge 上:CPU 计算优化型。这项服务本质上是把玩家数据加载到内存、做匹配计算、写回结果:内存密集,不是 CPU 密集。
结果:匹配计算在内存里频繁 swap,延迟从设计的 50ms 跑到了 120ms。
一个周五下午,他们停机 3 分钟,把实例从 c7i.2xlarge(8 vCPU、16GB)切到 r7i.2xlarge(8 vCPU、64GB)。重启。
延迟从 120ms 降到了 40ms。同一份代码,同一个 CPU 核数,换了一个实例族:三倍性能。
他们 CTO 事后说了一句话我经常转述给其他客户:“不是架构不对。是 C 系列跑内存负载,等于开跑车拉货。跑车没错,货也是对的,就是不该配在一起。“
2.2 换实例族这五分钟里 IP 会变:提前想好就行
停止再启动期间,实例会经历”关机 → 换类型 → 在新物理机上启动”。公网 IP 会变:除非绑了 Elastic IP。内网 IP 也会变,除非在同 VPC 内使用 ENI 弹性网卡。
对此:
- 绑定 Elastic IP(免费,一个实例一个 IP 免费)
- 或在 Route 53 用域名指向实例,TTL 设短到 60 秒,方便切换
- 或在 Auto Scaling Group 里做滚动替换:旧实例缩容 + 新实例扩容,零停机
两条命令能做的事,不需要计划一个月。
Brian 的建议:如果你现在用的实例 CPU 和内存使用率严重不匹配(CPU 跑 20% 但内存跑 85%,反过来也是一样):明天就可以切。周五下午切,周一回来还是那个实例,但性能不是那个性能了。
三、第三问:定价模式选错了怎么办?比实例选错更贵
实例选错了亏一年,定价模式选错了亏三年。
AWS 有 4 种 EC2 付费方式。选对的差异不是 10%:是同一台实例同样的性能,一个付 $100、一个付 $40。
3.1 同一个 c7i.xlarge,四种买法差一倍
| 购买方式 | 小时价 | 月成本 | 年成本 | 适合 |
|---|---|---|---|---|
| On-demand | $0.18 | ~$130 | ~$1,576 | 不确定用量 |
| 1 年 Savings Plans | $0.12 | ~$90 | ~$1,085 | 用量确定但可能调整 |
| 3 年 Reserved | $0.08 | ~$60 | ~$725 | 核心 7×24 运行 |
| Spot | $0.04-$0.07 | ~$30-50 | ~$360-600 | 可中断任务 |
从 On-demand 切到 3 年 Reserved:同一台 c7i.xlarge,年成本从 $1,576 降到 $725。省了 54%。
但这个故事有一个反面。
3.2 电商团队选了 2 年 On-demand:多付了 $29,000
今年初一个做跨境电商独立站的团队找到我。他们 2024 年初上了 AWS,8 台 EC2 实例:6 台 c7i.2xlarge 跑 Web 和应用,2 台 r7i.xlarge 跑 Redis:全部 On-demand。
两年了。一直 On-demand。
他们的月 EC2 账单稳定在 ~$1,800。这本身不是问题。问题是:这两年他们业务稳定增长,但没有一天想过”要不要切 Savings Plans”。
简单算一笔账:
- 8 台实例,月 On-demand = $1,800 → 年 $21,600
- 如果切 1 年 Savings Plans = 月 ~$1,200 → 年 $14,400
- 如果用 3 年 Reserved = 月 ~$950 → 年 $11,400
两年 On-demand:$43,200。如果两年前就签 3 年 Reserved:$22,800。差了 $20,400。
他们 CFO 看了这个数字沉默了十秒。然后说了一句话:“我们每个月光在看 Instance Scheduler 有没有停测试环境:省了几百块。但这两年被 On-demand 吃掉的 $20,000 没人提过。”
成本优化的最大坑不是细节——是定价模式。细节优化省的是零头,定价模式省的是大头。
Brian 的建议:稳定跑了 3 个月以上的实例,立刻切 Savings Plans。别等到”下个季度”。 每多一个月 On-demand,就是多付 30%-40%。这不是”优化”:是免费的钱放在地上不捡。
3.3 Spot 的正确打开方式
Spot 省钱幅度最大(60%-90%),但会被 AWS 在 2 分钟通知后回收。
正确的姿势:
- 批处理、CI/CD 构建、测试环境 → 直接用 Spot
- 生产环境 → 混合:3 台 On-demand/Reserved 打底 + N 台 Spot 扩容
- 无状态服务 → 通过 Auto Scaling Group 跨实例类型和 AZ 扩容,任何一台 Spot 被回收都不会影响整体
Spot 是工具不是省钱魔法:业务逻辑必须支持重试和断点续传。
四、第四问:区域选错了怎么办?延迟是物理硬伤
延迟是物理定律。光绕着地球跑一圈要 133ms。选错了 Region,最快的实例也救不了。
4.1 一个金融科技团队的”翻墙”式延迟
今年 2 月,一个做跨境支付的新加坡团队评估了他们的架构。所有 EC2 实例部署在 us-east-1(弗吉尼亚),用户在新加坡。
从新加坡到弗吉尼亚:TCP 应用层延迟 220-250ms。加上 TLS 握手、API 网关、数据库查询:每次支付请求端到端延迟超过 1.2 秒。
做支付的。1.2 秒。用户点”支付”到看到结果。
他们后来把核心交易服务迁到了 ap-southeast-1(新加坡)。同一套代码、同一套实例规格。延迟从 1.2 秒降到 180ms。
这个案例的教训不是”应该选新加坡”:如果用户在美国,弗吉尼亚就是对的。教训是:Region 选择不是”哪个便宜选哪个”,是”用户在哪选哪”。 延迟差距不是几毫秒的微调:是 200ms 和 1.2 秒的质变。
4.2 Region 间价差不是主要考虑因素:但别完全忽略
同一实例在东京比在弗吉尼亚贵 10%-15%。年消费 $20,000 以上的团队会因此重新考虑 Region 选择。但年消费 $5,000 以下的:差几百块不应该是选 Region 的理由。
优先级的排序是:用户地理位置 → 服务可用性 → 价格。
先搞清楚你的用户在哪。然后确认需要的 AWS 服务在这个 Region 有没有。最后比价。
Brian 的建议:如果用户分布在两个大洲(亚洲 + 北美),考虑双 Region 部署。两个 c7i.xlarge 分两个 Region 比一个 c7i.4xlarge 单 Region 给两个大洲提供服务:延迟更低,容灾也更强。
五、常见问题 FAQ
Q1: EC2 选型第一步应该看什么?
看工作负载数据,不是看实例规格表。用 CloudWatch 拉过去 2 周的 CPU 利用率、内存使用、网络 I/O。这三个数字告诉你该用哪个实例族,实例对比表只是在确认细节。过去三年我评估过的 50 多家企业里,跳过这一步直接选实例的:正确率不到一半。
Q2: 实例族选错了能换吗?停机多久?
能换。停止 → 改实例类型 → 启动,2-5 分钟。需要注意:公网 IP 会变(绑定 Elastic IP 可避免)、EBS 卷必须兼容新实例族。建议在业务低峰期操作,或通过 Auto Scaling Group 做滚动替换实现零停机切换。
Q3: Savings Plans、Reserved、On-demand、Spot 到底怎么选?
稳定 7×24 跑的核心业务 → 3 年 Reserved 或 Savings Plans(省 40%-60%)。负载相对稳定但未来可能调整 → 1 年 Savings Plans(省 25%-35%,更灵活)。不确定用量 → On-demand 先跑 2-4 周,有数据了再决定。测试/批处理/CI → Spot(省 60%-90%,接受中断)。稳定跑了 3 个月以上的实例不要留 On-demand:每多一个月白付 30%-40%。
Q4: 配置越高越稳定吗?
不是。配置过高有三个坏处:白花预算、掩盖慢查询和架构问题、降配比升配难得多:业务习惯了富余资源后,降配就变成了跟所有人解释”为什么不会影响性能”。从比你估计小一号的实例开始,监控两周,卡到 60%-70% 利用率再升。
Q5: Region 怎么选?价格差重要吗?
用户地理位置排第一:用户在新加坡就别选弗吉尼亚。然后确认必要服务在这个 Region 有没有。最后比价:同一实例在不同 Region 差 10%-15%,但对年消费 $5,000 以下的团队,几百块的价差不应该是决策主因。
Q6: 代理商能帮我选 EC2 吗?比我自己选好在哪?
代理商的价值不只在折扣(10%-25%),在选型审核。经我们手的客户里,约 40% 在第一次评估时实例族或定价模式不匹配:提前把这些错拦住,省的钱比折扣本身更多。加上折扣和人民币付款,走代理商是”省钱 + 省时间”的双向优化。
六、总结:四问速查
第一问:工作负载是什么? → 看 CloudWatch 数据 → 确定实例族。 第二问:实例族对不对? → CPU/内存比例是否匹配 → 不匹配今天就可以切。 第三问:定价模式对不对? → 稳定超过 3 个月的实例立刻切 Savings Plans。 第四问:Region 离用户近吗? → 用户在哪选哪 → 延迟是物理定律。
四个问题,按顺序答。答完你不会选错 EC2。
关于 750+ 种 EC2 实例:我真正在工作中用熟的不到 20 种。700 多种是为特定场景设计的:你 95% 的需求用这 4 个实例族(C/R/M/T)就能覆盖。别被规格表吓住。
| 你要做的事 | 选这个 | 用这种付费方式 |
|---|---|---|
| Web 服务 / App 服务器 | M7i | SP / Reserved |
| 视频转码 / ML 推理 | C7i | Spot 或 SP |
| Redis / SAP / 数据分析 | R7i | Reserved |
| 测试环境 / 活动页 | T4g | On-demand 或 Spot |
| Cassandra / MongoDB | I4i | Reserved |
关于 SevenColorYun
作为 AWS APN 高级合作伙伴(Premier Partner),我们已为 50+ 出海企业提供 EC2 选型评估、代理商采购与架构规划服务。
我们的服务:
- EC2 四问选型评估(负载分析 + 实例族匹配 + 定价模式优化 + Region 规划)
- APN Premier 级代理折扣(全产品线 10%-25% 折扣)
- 人民币对公付款 + 国内增值税专用发票(6% 云服务费,可抵扣进项)
- Savings Plans 和 Reserved Instance 采购规划与执行
- 多 Region 架构设计 + Auto Scaling 配置优化
需要帮助?点击右下角联系我们的技术顾问,获取 AWS EC2 选型评估 与专属折扣方案。