EC2-Other:没人看得懂的 AWS 费用行(钱从这里漏走)
发布于 2026年7月2日

把一切藏起来的标签
在 Cost Explorer 里,"EC2-Other"是 AWS 倾倒 EBS、快照、数据传输和 NAT 网关的桶。在一张 5,682 美元的月账单里,这一行就有 896 美元——没人知道它由什么构成。第一步是按使用类型把它拆开:
aws ce get-cost-and-usage \
--time-period Start=2026-02-01,End=2026-03-01 \
--granularity MONTHLY --metrics UnblendedCost \
--filter '{"Dimensions":{"Key":"USAGE_TYPE_GROUP","Values":["EC2: EBS - Snapshots","EC2: Data Transfer"]}}' \
--group-by Type=DIMENSION,Key=USAGE_TYPE --output table漏走的是什么
孤儿快照——343 美元/月。已不存在的实例的快照仍在 SnapshotUsage 下计费。删掉它们是一下午里最大的一笔节省。
Egress(DataTransfer-Out)——305 美元/月。出站到互联网。把源站放到 CloudFront 固定费率(约 75 美元)后面可省约 612 美元/月——因为同区域 EC2→CloudFront 是 0 美元。
gp2 卷——227 美元/月。把 gp2 迁到 gp3 在存储上省约 20%,对大多数负载没有性能损失。
跨 AZ 流量——36 美元/月。DataTransfer-Regional-Bytes 意味着 EC2 与 RDS 处在不同 AZ 互相通信。这里数额小,但它是拓扑反模式的信号。
命名陷阱:DataTransfer-Regional-Bytes 看起来像无害的"区域内传输",实则是跨可用区的成本。一旦出现,你的应用和数据库八成在不同 AZ。
攻击顺序
先处理孤儿快照(立即节省、零风险),然后 gp2→gp3(便宜且安全),再用 CloudFront 处理 egress(价值最大,需要架构改动),最后审查 AZ 拓扑。每一项都来自一个具体的 USAGE_TYPE——于是账单不再是一个数字,而变成一份待办清单。
# 查找快照并与现存实例交叉比对
aws ec2 describe-snapshots --owner-ids self \
--query 'Snapshots[].{Id:SnapshotId,Vol:VolumeId,Size:VolumeSize,Time:StartTime}' --output table
# 适合迁到 gp3 的 gp2 卷
aws ec2 describe-volumes --filters Name=volume-type,Values=gp2 \
--query 'Volumes[].{Id:VolumeId,Size:Size,AZ:AvailabilityZone}' --output table经验教训
1. EC2-Other 是黑盒——按 USAGE_TYPE 打开它。EBS、快照、egress 和 NAT 都住在那里。不分组,你就不知道该砍什么。
2. 快照不会随实例一起消亡。已删除的实例会留下永久计费的快照。这是最常见、也最容易堵上的漏洞。
3. DataTransfer-Regional-Bytes = 跨 AZ 成本。它不是"无害的区域内";而是应用与数据库分处不同 AZ。
结论
"削减 AWS 成本"很少是关掉某台服务器——而是打开聚合标签、攻击在漏的东西。在一个 896 美元的"EC2-Other"里,有 343 美元被遗忘的快照、约 612 美元/月可回收的 egress,以及约 20% 的 EBS。账单不说谎;它只是聚合着到来。