2. 基础设施成本构成分析:计算、存储、网络、数据库、托管服务等主要成本项

在实施成本优化之前,必须对云基础设施的成本构成进行精确拆解。云成本并非单一账单,而是由多个服务维度叠加而成。本章将逐一剖析计算、存储、网络、数据库、托管服务这五大核心成本项,并揭示它们之间的关联与杠杆效应。

2.1 成本构成全景视图

下图展示了典型云基础设施的成本构成层级。理解这一结构是后续所有优化动作的基础。

基础设施成本构成全景图 基础设施成本构成全景图 云基础设施总成本 (TCO) 计算 存储 网络 数据库 托管 虚拟机 / 容器 / 无服务器 预留实例 / Spot 实例 对象存储 / 块存储 / 文件存储 存储分层 / 快照 / 归档 NAT 网关 / 负载均衡 / VPN 跨 AZ 流量 / 公网出流量 RDS / 缓存 / 数据仓库 IOPS / 存储 / 备份 K8s / EMR 管理费 关键洞察 计算和数据库通常占总成本的 60%-75%,是优化的首要目标。 网络成本虽占比小,但增长快且容易被忽视,需重点监控跨区域流量。
成本分析起点:建议从云厂商的 Cost Explorer 或账单导出中,按服务类别(Service)维度拉取过去 90 天的数据,先识别出占比最高的前 3 项服务,再逐层下钻。

2.2 计算成本:占比最大、弹性最强

计算资源(EC2、ECS、Lambda、AKS/EKS 等)通常是账单中占比最高的部分,可达 40%-60%。其成本构成要素如下:

成本要素 说明 优化杠杆
实例规格 vCPU、内存、GPU 的配置大小 选择合适规格,避免过度配置
计费模式 按需、预留(1年/3年)、Spot 稳态负载用预留,弹性负载用 Spot
运行时长 实例开机时间(秒级计费) 非生产环境定时关机,使用 Auto Scaling
操作系统/许可证 Windows 比 Linux 贵 20%-40% 优先使用 Linux,自带许可证(BYOL)
附加组件 EBS 优化、弹性网卡、监控代理 按需启用,避免默认全开
实战案例:某电商平台通过将 60% 的在线实例切换为 Spot 实例,并配合混合预留实例(RI),计算成本降低了 52%。关键动作是使用 AWS Instance Scheduler 对开发环境实施夜间关机策略。

2.3 存储成本:分层与生命周期是关键

存储成本(S3、EBS、EFS、Azure Blob 等)通常占总成本的 10%-20%,但数据量增长快,容易失控。核心成本项包括:

  • 存储容量:按 GB/月计费,不同存储层(标准、低频、归档)单价差异可达 10 倍以上。
  • 请求与检索:GET/PUT 请求次数、数据取回费用(尤其低频和归档层)。
  • 数据传输:跨区域复制、公网下载流量。
  • 快照与备份:块存储快照按增量计费,长期保留成本不可忽视。
存储类型 典型场景 单价($/GB/月) 优化策略
对象存储 - 标准 热数据、静态网站 ~0.023 设置生命周期策略,30天未访问自动转低频
对象存储 - 低频 备份、日志归档 ~0.012 合并小文件,减少请求次数
对象存储 - 归档 合规保留、冷数据 ~0.001 使用批量检索,避免频繁取回
块存储 (SSD) 系统盘、数据库 ~0.08 使用 gp3 替代 io1,按需配置 IOPS
文件存储 (NFS) 共享文件系统 ~0.08 使用低频策略,限制未使用文件
常见陷阱:很多团队只关注存储容量单价,忽略了请求费用和数据取回费用。例如,低频存储虽然单价低,但如果频繁读取,总成本可能超过标准存储。务必使用 S3 Analytics 或 Azure Storage Insights 分析访问模式。

2.4 网络成本:隐蔽的“流量税”

网络成本(NAT Gateway、Load Balancer、VPN、Direct Connect、跨区域流量)通常占总成本的 5%-15%,但增长弹性大,容易在架构扩展时失控。

网络成本流向图 网络成本主要流向与计费点 公网入流量 NAT 网关 私有子网实例 跨 AZ 流量 负载均衡器 计费要点 公网出流量 $0.05-$0.12/GB | NAT 网关 $0.045/小时 + $0.045/GB | 跨 AZ 流量 $0.01-$0.02/GB
网络优化三原则:
1. 就近访问:使用 CloudFront / CDN 缓存静态内容,减少回源流量。
2. 同 AZ 部署:将频繁通信的服务部署在同一可用区,避免跨 AZ 流量费。
3. 减少 NAT 依赖:使用 VPC Endpoint(Gateway/Interface)替代 NAT 网关访问 AWS 服务,可节省 50%-70% 的网络成本。

2.5 数据库成本:性能与存储的双重消耗

托管数据库(RDS、Aurora、DynamoDB、Cosmos DB、Cloud SQL 等)成本通常占总成本的 15%-25%。其成本模型比计算更复杂:

成本维度 说明 典型优化手段
实例规格 vCPU、内存决定基础价格 使用 RDS 性能洞察识别未充分利用的实例
存储与 IOPS 预置 IOPS 或按实际消耗计费 gp3 存储按需配置 IOPS,避免过度预置
备份与快照 自动备份默认保留 7 天,超出部分收费 调整保留期,删除手动快照
数据传输 跨区域复制、公网访问 使用 VPC 内部访问,避免公网端点
预留实例 RDS RI 可节省 30%-60% 对稳态数据库购买 1 年或 3 年 RI
数据库成本陷阱:DynamoDB 的按需模式单价是预置模式的 5-10 倍。对于可预测的流量,务必使用预置容量 + Auto Scaling。同样,Aurora 的 Serverless v2 模式在低负载时比预置实例更经济。

2.6 托管服务成本:便捷背后的隐性费用

托管服务(EKS/AKS/GKE 集群管理费、EMR、Kinesis、Lambda 请求、API Gateway 等)通常占总成本的 5%-10%,但容易被低估:

  • Kubernetes 集群管理费:EKS 每个集群 $0.10/小时(约 $73/月),多集群环境下成本线性增长。
  • 无服务器请求费:Lambda 每百万次请求 $0.20,但高并发场景下执行时长费用可能远超预期。
  • API Gateway:每百万次 REST API 调用 $3.50,加上缓存和数据传输,小流量下不明显,大流量下不可忽视。
  • 消息队列:SQS 请求费 $0.40/百万次,但长轮询和大量空响应会增加无效请求。
托管服务成本控制要点:
- 合并 EKS 集群,避免为每个环境创建独立集群。
- Lambda 函数设置合理的预留并发和超时时间,避免因代码 bug 导致无限循环产生巨额费用。
- 使用 aws ce get-cost-and-usage 或 Azure Cost Management 定期审计托管服务账单,设置预算告警。

2.7 成本构成总结与优先级矩阵

基于以上分析,我们可以将五大成本项按占比和优化潜力进行排序,形成优化优先级矩阵:

成本项 典型占比 优化潜力 优先级 推荐切入点
计算 40%-60% 高 (30%-60%) P0 预留实例 + Spot + 自动缩放
数据库 15%-25% 高 (20%-50%) P0 RI + 规格右缩 + 存储分层
存储 10%-20% 中 (15%-40%) P1 生命周期策略 + 删除未使用快照
网络 5%-15% 中 (10%-30%) P1 CDN + VPC Endpoint + 同AZ部署
托管服务 5%-10% 低-中 (5%-20%) P2 集群合并 + 请求优化 + 预算告警