华为云基础设施即代码(IaC)实践指南:用 Terraform 管理你的云资源
华为云成本优化实战指南:七个维度帮你把云账单砍下来
上云容易省钱难。很多团队迁移上云后,发现每月账单远超预期。本文从七个维度梳理华为云上切实可行的成本优化手段,每一条都能落地,不是空谈最佳实践。
一、计算资源:选对规格,比盲目堆配置更省钱
计算资源(ECS)通常是云账单中占比最大的一块。优化空间也最大。
1.1 规格选型:别用大炮打蚊子
华为云 ECS 规格分为多个系列,常见的有:
- 通用型(s6、s7):CPU 和内存比例均衡,适合 Web 服务器、中小型应用
- 计算型(c6、c7):CPU 比例高,适合批处理、科学计算、视频编码
- 内存型(m6、m7):内存比例高,适合数据库、缓存、大数据分析
- 共享型(s3.small):价格最低,CPU 受限,适合测试环境、轻量级任务
一个常见错误:所有服务器统一用通用型 4 核 8G。实际上,你的 Redis 缓存节点应该用内存型,你的日志清洗任务应该用计算型,你的测试环境完全可以用共享型。按工作负载特征选规格,而不是图省事统一一个型号。
1.2 按需 vs 包周期 vs 竞价
华为云 ECS 有三种计费方式:
| 计费方式 | 价格 | 特点 | 适用场景 |
|---|---|---|---|
| 按需付费 | 最高 | 随开随关,按秒计费 | 短期测试、突发流量 |
| 包年包月 | 中等 | 承诺时长,折扣大 | 长期稳定业务 |
| 竞价实例 | 最低 | 可能被回收 | 无状态任务、批处理、容错计算 |
一个实际案例:某团队有 10 台按需 ECS 跑了半年,月费 8000 元。其中 7 台是稳定业务服务器,3 台是夜间跑的数据清洗任务。切换后:7 台转包年包月(月费降至 4200 元),3 台转竞价实例(月费降至 600 元),总月费从 8000 降到 4800,降幅 40%。
1.3 关掉不用的机器
听起来废话,但这是最常见的浪费。开发环境下班后没人用,机器却 24 小时跑着。
解决方案:
- 开发测试环境配置定时开关机(华为云 AS 伸缩策略支持定时动作)
- 给所有 ECS 打标签,定期盘点"上次启动时间超过 30 天"的实例
- 对没有标签的实例发起告警,要求 owner 确认
二、存储资源:冷热分层,别把冷数据放在热存储上
2.1 云硬盘:容量和性能分开看
华为云 EVS 云硬盘有多种类型:
- 高 IO 型(SSD):随机读写性能最好,价格最高,适合数据库
- 通用型 SSD:性能和价格均衡,适合大多数应用
- 普通 IO 型(SATA):性能最低,价格最便宜,适合日志、备份、冷数据
常见问题:所有磁盘统一用通用型 SSD。实际上,日志盘、备份盘完全可以用普通 IO 型,价格低一半以上。
2.2 OBS 对象存储:善用生命周期规则
OBS 支持标准存储、低频存储、归档存储三种桶类型,价格递减:
| 存储类型 | 价格水平 | 访问延迟 | 适用场景 |
|---|---|---|---|
| 标准存储 | 最高 | 毫秒级 | 频繁访问的热数据 |
| 低频存储 | 约标准的 1/5 | 毫秒级 | 月级访问频率 |
| 归档存储 | 约标准的 1/10 | 秒到分钟级恢复 | 合规留存、极少访问 |
关键操作:配置生命周期规则自动转换。比如:
- 上传 30 天后,从标准存储转为低频存储
- 上传 180 天后,从低频存储转为归档存储
- 上传 730 天后,自动删除
某视频平台的用户上传原始文件,刚上传时频繁转码(标准存储),转码完成后基本不再访问(转低频),半年后几乎没人看(转归档)。仅这一条规则,存储费用降了 60%。
2.3 清理无主快照和未挂载磁盘
随着时间推移,会积累大量磁盘快照和已删除 ECS 遗留的未挂载磁盘。这些资源持续计费却无人管理。建议每月执行一次盘点:
- 列出所有未挂载的云磁盘,确认是否还需要
- 列出所有手动创建的快照,超过保留期的删除
- 检查回收站中的资源,确认后彻底销毁
三、网络资源:公网带宽和 EIP 是隐形成本大户
3.1 EIP 带宽模式选择
华为云 EIP 有两种带宽计费模式:
- 按带宽计费:固定带宽包月,不管用不用都收费。适合流量稳定、长期在线的服务。
- 按流量计费:按实际使用的流量收费,不用不花钱。适合流量波动大、偶尔才需要公网访问的场景。
一个典型错误:给一台只在夜间跑批处理的 ECS 配了 100M 按带宽计费的 EIP,白天带宽完全闲置。改成按流量计费后,月费从 300 元降到 30 元。
3.2 共享带宽包
如果你有多台 ECS 都需要公网访问,单独给每台买 EIP 带宽会很贵。共享带宽包让多张 EIP 共用一个带宽池,总成本更低,而且带宽可以弹性复用。
举例:5 台 ECS 各买 20M 带宽,总费用 5 乘以 20M 的价格。改用 100M 共享带宽包后,不仅总费用更低,而且某台服务器突发流量时可以用满 100M,不用被 20M 限制住。
3.3 NAT 网关替代大量 EIP
很多场景下,私有子网中的机器只需要访问公网(拉取依赖、调用外部 API),不需要被公网访问。这时候不需要给每台机器配 EIP,用一个 NAT 网关即可让整个子网共享公网出口。
对比:10 台机器各配 EIP,月费约 10 乘以 EIP 价格。用 NAT 网关,月费只需一个网关的价格加少量流量费,大幅降低成本。
四、数据库:规格和存储是两个优化点
4.1 RDS 规格按实际负载选
RDS 数据库实例的规格往往被高估。"万一流量来了扛不住"的心理,导致很多团队一上来就买 8 核 16G 的 RDS,实际 CPU 利用率长期不到 10%。
建议:
- 先用 2 核 4G 起步,配合监控观察 CPU、内存、连接数、IOPS
- 如果连续两周 CPU 峰值低于 30%,说明规格偏大,可以降配
- 华为云 RDS 支持不中断变更规格,降配的风险和成本都很低
4.2 只读实例按需创建
只读实例用于分担读流量,但很多团队配了只读实例后,读流量根本没分流过去——应用没有配置读写分离,只读实例白白跑着。
检查方式:监控只读实例的 CPU 利用率。如果长期为 0,说明没有流量过去,要么配置读写分离,要么先删掉省钱。
4.3 备份策略别过度保留
RDS 自动备份默认保留 7 天,但有些团队手动改成保留 365 天。每份备份都是全量加增量,365 天的备份存储费用相当可观。
合理做法:
- 自动备份保留 7 到 30 天,足够应对大多数回滚需求
- 长期合规留存的数据,导出到 OBS 归档存储,成本远低于 RDS 备份存储
- 手动快照用完即删,不要堆积
五、弹性伸缩:让资源跟着流量走,而不是按峰值固定
5.1 AS 伸缩组的核心价值
固定配置的思路是:按峰值流量配足机器,平时大量闲置。弹性伸缩的思路是:平时少配机器,流量来了自动扩容,流量退了自动缩容。
华为云 AS(弹性伸缩)支持:
- 告警伸缩:CPU 超过 60% 自动加机器,低于 30% 自动减机器
- 定时伸缩:每天早 9 点扩容到 10 台,晚 6 点缩容到 2 台
- 混合策略:告警加定时组合使用
一个电商客户案例:大促期间峰值需要 20 台 Web 服务器,平时只需要 3 台。固定配 20 台,月费 16000 元。改用弹性伸缩,平时 3 台、峰值自动扩到 20 台,月费降到 5000 元左右,降幅近 70%。
5.2 伸缩组的冷却时间
扩容后新机器需要时间启动和预热,如果冷却时间太短,可能在机器还没就绪时又触发扩容,导致过度扩容。建议冷却时间设为 300 秒(5 分钟),给系统足够的稳定窗口。
六、监控和告警:看不见就省不了
成本优化的前提是知道钱花在哪了。
6.1 给所有资源打标签
标签是成本归因的基础。建议至少打三个标签:
- 环境:dev、staging、prod
- 团队:frontend、backend、data
- 负责人:具体的人名或工号
有了标签,在账单明细中就能按维度拆分:前端团队花了多少、测试环境花了多少、张三负责的资源花了多少。没有标签,账单就是一笔糊涂账。
6.2 设置成本告警
华为云 BSS(预算管理)支持设置预算阈值和告警。建议:
- 每月设置预算上限,达到 80% 时告警提醒
- 按服务维度设置子预算,某个服务费用突增时及时发现
- 关注异常波动:某天费用突然翻倍,大概率是有人误操作创建了高配资源
6.3 定期账单复盘
每月花 30 分钟做一次账单复盘:
- 对比上月,哪些服务费用涨了?为什么?
- 有没有新出现的、不在计划内的资源?
- 标签是否完整?有没有"无主"资源?
这个习惯本身就能帮你发现 80% 的浪费。
七、架构层面:有时候换一种架构,成本断崖式下降
7.1 用 Serverless 替代常驻 ECS
不是所有服务都需要 7 乘 24 小时运行。比如一个每天只被调用几十次的文件转码接口,用 ECS 跑着一台机器等请求,大部分时间在空转。
换成 FunctionGraph(函数工作流):只在有请求时才启动执行,按执行次数和时长计费。月费从几百块降到几块钱。
适合 Serverless 的场景:
- 事件触发型任务(OBS 上传后触发处理)
- 低频调用的 API
- 定时批处理任务
7.2 用 CDN 卸载源站流量
如果你的 ECS 在直接给用户返回静态文件(图片、CSS、JS),大量带宽费用都在源站上。加一层 CDN:
- 静态内容缓存在 CDN 边缘节点,用户就近获取
- 源站只处理动态请求,带宽费用大幅下降
- CDN 流量单价通常低于 EIP 流量单价
某内容站点加 CDN 后,源站带宽费用降了 80%,用户体验还更好了(延迟更低)。
7.3 容器化提升资源利用率
传统部署方式下,一台 ECS 跑一个应用,CPU 利用率往往只有 10% 到 20%。用 CCE(云容器引擎)把多个应用混部到同一组节点上:
- 通过 Request 和 Limit 精确分配资源
- 多个应用共享节点,整体利用率提升到 50% 以上
- 配合 HPA(水平 Pod 自动伸缩),按负载动态调整 Pod 数量
同样的业务负载,从 10 台 ECS 收敛到 4 台 CCE 节点,计算费用直接减半。
总结:成本优化是一套持续的习惯,不是一次性的动作
| 维度 | 核心动作 | 预期降幅 |
|---|---|---|
| 计算资源 | 按负载选规格、竞价实例、定时关机 | 20% 到 40% |
| 存储资源 | 冷热分层、生命周期规则、清理无主磁盘 | 30% 到 60% |
| 网络资源 | 按流量计费、共享带宽包、NAT 网关 | 30% 到 50% |
| 数据库 | 按实际负载选规格、清理无用只读实例 | 20% 到 40% |
| 弹性伸缩 | 告警伸缩、定时伸缩 | 40% 到 70% |
| 监控告警 | 标签归因、预算告警、月度复盘 | 持续发现浪费 |
| 架构优化 | Serverless、CDN、容器化 | 30% 到 80% |
最后说一句实话:成本优化没有一招通吃的方法。它需要你对自己的业务负载有了解,对华为云的产品和计费模式有了解,然后在这两者之间找到最优解。上面七条是方向,具体能省多少,取决于你的执行。
建议从最简单的一步开始:今天就去看看你的账单明细,找出费用最高的三台资源,问一句"它真的需要这么大的规格吗"。光是这一步,很多人就能省下 20%。
- 点赞
- 收藏
- 关注作者
评论(0)