价值10万美元的 AWS 路由陷阱:S3 + NAT 网关(以及如何使用 Terraform 修复)
发布: (2026年2月22日 GMT+8 02:19)
3 分钟阅读
原文: Dev.to
Source: Dev.to
$100k AWS 路由陷阱:S3 + NAT 网关
您的“默认安全”AWS 架构可能正在大量消耗资金,而这通常并不是因为 EC2 实例过度配置。云费用的突增往往是意外的数据传输路径导致的。
NAT 网关的隐藏成本
- 计算实例放置在 私有子网 中,且没有公网 IP。
- 出站流量通过 托管 NAT 网关 路由到互联网。
- 当这些实例需要从 Amazon S3 拉取数据时,流量会被发送到公共 S3 端点,经过 Internet Gateway 离开 VPC,然后再通过 NAT 网关返回。
由于 S3 是公共服务端点,数据会离开 AWS 主干网并被计费 两次。对于每天下载 10 TB 的流水线来说,实际计费相当于 20 TB 的出站流量。
您最终需要支付:
- NAT 网关的每小时运行时间
- NAT 网关处理费 – 每 GB $0.045
- 标准的互联网出站费用
解决方案:为 S3 创建 VPC 网关端点
通过为 S3 创建 VPC 网关端点 来压缩路由路径。这样流量就会完全停留在 AWS 主干网内,绕过 NAT 网关,内部传输费用降至 $0.00。
Terraform 示例
resource "aws_vpc_endpoint" "s3" {
vpc_id = aws_vpc.main.id
service_name = "com.amazonaws.${var.region}.s3"
vpc_endpoint_type = "Gateway"
}
为什么重要
- 数据重力 决定了您的基准成本。
- 路由 决定了可能使基准成本爆炸的倍数。
进一步资源
- 开源路由缓解模型:cloud‑egress‑patterns(GitHub)
- 跨区域 VPC 对等连接成本的完整架构深度解析:The Physics of Data Egress(Rack2Cloud 控制平面)