直接答案:按美国区、1TB=1,000GB、只算公网出站 + GET/HTTPS 请求,2026 年 S3 直连与 CloudFront 的月费大致是:1TB/100 万请求,S3 81.40、CloudFront 86;10TB/1,000 万请求,S3 895、CloudFront 860;10TB/1 亿请求,S3 931、CloudFront 950;100TB/1 亿请求,S3 7,831、CloudFront 7,150;100TB/10 亿请求,S3 8,191、CloudFront 8,050。CloudFront 的 0.085/GB 首档比 S3 直连 0.09/GB 低 0.005/GB,但每百万请求贵 0.60 美元;盈亏点约 8,333 请求/GB(平均对象约 120KB)。对象越小、请求越多,S3 直连可能更便宜;对象越大、缓存命中越高,CloudFront 更省。
本文只比较“S3 直连公网下载”与“CloudFront 回源 S3 再分发给用户”,不重复多 CDN 选型(见站内 CDN 成本页)或对象存储/出站总览。面向安装包、视频、图片、模型权重、SaaS 文件分发等下载型业务。资料截止 2026-11-05;价格取 AWS 美国区官方定价页与 Price List API(AWSDataTransfer、AmazonCloudFront、AmazonS3),按美元、未含税;TCO 是编辑测算,不是 AWS 报价。AWS 按 GB 计费,1TB=1,000GB 是编辑口径。
S3 直连:公网出站 100GB/月免费,之后 0.09/GB 首 10TB、0.085/0.07/0.05;GET 约 0.40/百万。CloudFront:美国出站 0.085/GB 首 10TB、0.080/0.060/0.040;HTTPS 请求 1.00/百万;S3 回源免 S3 出站。CloudFront 省 0.005/GB 但多 0.60/百万请求,盈亏点约 8,333 请求/GB(约 120KB/对象)。
两条路径:S3 直连 vs CloudFront 回源
S3 直连:用户直接 GET S3 对象,S3 收公网出站 + GET 请求;适合大文件、低请求数、无需边缘缓存/ WAF/签名的场景。CloudFront:用户请求边缘,缓存命中直接返回;未命中回源 S3,S3→CloudFront 的回源不计 S3 公网出站;CloudFront 收美国区出站 + HTTPS 请求;自定义源(非 S3)还有回源费 0.02/GB。CloudFront 的带宽首档 0.085/GB 低于 S3 0.09/GB,但请求 1.00/百万高于 S3 GET 约 0.40/百万;两者谁低取决于对象大小/请求数和缓存命中。
| 路径 | 带宽 | 请求 | 回源 | 适合 |
|---|---|---|---|---|
| S3 直连 | 100GB/月免费;0.09/GB 首 10TB | GET 约 0.40/百万 | 无 | 大文件/低请求/简单下载 |
| CloudFront | 0.085/GB 首 10TB;0.080/0.060/0.040 | HTTPS 1.00/百万;HTTP 0.75/百万 | S3 回源免 S3 出站;自定义源 0.02/GB | 全球分发/缓存/边缘安全 |
来源:AWS S3 Pricing(Data transfer、GET)、AWS CloudFront Pricing、AWS Price List API(AWSDataTransfer、AmazonCloudFront、AmazonS3)。访问 2026-11-05;美元、未含税;CloudFront 的 0.085/0.080/0.060/0.040 为美国区出站阶梯;S3 的 100GB 免费为跨服务/区域聚合(不含中国/GovCloud);自定义源回源费 0.02/GB。
2026 官方价目:每 GB 出站、每百万请求
S3:公网出站 100GB/月免费,0.09/GB 首 10TB、0.085 次 40TB、0.07 次 100TB、0.05 >150TB;GET/其他约 0.0004/1,000(0.40/百万)。CloudFront 美国:出站 0.085/GB 首 10TB、0.080 次 40TB、0.060 次 100TB、0.040 次 350TB、0.030 次 524TB;HTTPS 0.0100/10,000(1.00/百万)、HTTP 0.0075/10,000(0.75/百万);S3 回源免 S3 出站;自定义源回源 0.02/GB。
| 项目 | AWS S3 直连 | CloudFront(美国) |
|---|---|---|
| 出站首 10TB | 0.09/GB(100GB 免费后) | 0.085/GB |
| 出站次 40TB | 0.085/GB | 0.080/GB |
| 出站次 100TB | 0.07/GB | 0.060/GB |
| 出站更高档 | 0.05/GB >150TB | 0.040/GB 350TB;0.030/524TB |
| 请求 | GET 约 0.40/百万 | HTTPS 1.00/百万;HTTP 0.75/百万 |
| 回源 | 无 | S3 免 S3 出站;自定义源 0.02/GB |
来源:AWS S3 Pricing、AWS CloudFront Pricing、AWS Price List API(AWSDataTransfer/AmazonCloudFront/AmazonS3,us-east-1)。访问 2026-11-05;美元、未含税;S3 的 100GB 免费按跨服务/区域聚合;CloudFront 的请求价为 HTTPS 0.0100/10,000、HTTP 0.0075/10,000;>500TB 出站按 AWS 页面联系销售。
1TB / 10TB / 100TB:出站 + 请求 TCO
按 1TB=1,000GB、HTTPS 请求、只算公网出站 + 请求:1TB/100 万请求,S3 81.40、CloudFront 86;10TB/1,000 万,S3 895、CloudFront 860;10TB/1 亿,S3 931、CloudFront 950;100TB/1 亿,S3 7,831、CloudFront 7,150;100TB/10 亿,S3 8,191、CloudFront 8,050。10TB/1,000 万请求 CloudFront 略低;10TB/1 亿请求 S3 反超;100TB/1 亿 CloudFront 低约 9%;100TB/10 亿两者接近,S3 略低。
| 月流量/请求 | S3 直连 | CloudFront | 差额 | 最低 |
|---|---|---|---|---|
| 1TB / 100 万 | 81.40 | 86.00 | +4.60 | S3 |
| 10TB / 1,000 万 | 895.00 | 860.00 | −35.00 | CloudFront |
| 10TB / 1 亿 | 931.00 | 950.00 | +19.00 | S3 |
| 100TB / 1 亿 | 7,831.00 | 7,150.00 | −681.00 | CloudFront |
| 100TB / 10 亿 | 8,191.00 | 8,050.00 | −141.00 | CloudFront |
编辑测算,不是报价。S3 = 出站(1TB 扣 100GB 免费;0.09/0.085/0.07)+ GET(0.40/百万);CloudFront = 美国出站(0.085/0.080/0.060)+ HTTPS(1.00/百万)。不含税、存储、S3 请求其他类型、CloudFront 自定义源回源、缓存未命中额外请求、WAF/日志/签名、支持和迁移;1TB=1,000GB;CloudFront 未计 Free Tier。
盈亏点:对象多大、请求多少才值得上 CloudFront
CloudFront 比 S3 直连每 GB 省 0.005,但每百万请求多 0.60;盈亏点 = 0.005×1,000,000/0.60 = 8,333 请求/GB,即平均对象约 120KB。平均对象 >120KB(请求/GB 更低),CloudFront 的带宽节省占优;<120KB(请求/GB 更高),S3 直连的请求费更低。10TB 的盈亏点约 8,333 万请求;100TB 约 8.33 亿请求。缓存命中率提高会减少回源,但不会减少 viewer 请求费;回源 S3 免费,自定义源 0.02/GB。
| 平均对象 | 请求/GB | CloudFront 是否更省 | 原因 |
|---|---|---|---|
| 1MB | 1,000 | 是 | 请求少,0.005/GB 带宽节省占优 |
| 500KB | 2,000 | 是 | 低于 8,333 请求/GB |
| 120KB | 约 8,333 | 打平 | 带宽节省≈请求差额 |
| 50KB | 20,000 | 否 | 请求费 0.60/百万超过带宽节省 |
| 10KB | 100,000 | 否 | 请求费主导,S3 直连更低 |
编辑测算,不是报价。盈亏点基于 S3 0.09/GB、CloudFront 0.085/GB、S3 GET 0.40/百万、CloudFront HTTPS 1.00/百万;未计缓存命中/回源、存储、税、WAF/日志/签名和支持;对象大小=GB/请求数的倒数。
缓存命中、回源与隐藏成本
CloudFront 的缓存命中率决定回源量和源站负载,但 viewer 请求费仍按每个请求收;S3→CloudFront 回源免 S3 公网出站,自定义源回源 0.02/GB。S3 直连没有边缘缓存/WAF/签名 URL 的额外层,但每次下载都打到 S3,GET 请求费按 0.40/百万。CloudFront 还有 WAF、实时日志、字段级加密、签名请求、Origin Shield 请求 0.0075/10,000 等附加项;S3 有存储、其他请求类型、Transfer Acceleration/MRAP。两者都不含税、支持和迁移。缓存命中率低时,CloudFront 的带宽节省可能被回源/请求抵消。
| 项目 | S3 直连 | CloudFront |
|---|---|---|
| 缓存 | 无边缘缓存 | 边缘缓存;命中不回源 |
| 回源 | 无 | S3 免 S3 出站;自定义源 0.02/GB |
| 请求附加 | GET 0.40/百万 | HTTPS 1.00/百万;HTTP 0.75/百万 |
| 安全/日志 | IAM/签名 URL;日志另计 | WAF/日志/字段级加密/签名另计 |
| 加速/多区域 | Transfer Acceleration/MRAP 另计 | Origin Shield 0.0075/10,000 请求 |
| 税/支持/迁移 | 不含 | 不含 |
来源:AWS S3 Pricing、AWS CloudFront Pricing、AWS Price List API(访问 2026-11-05)。美元、未含税;“另计”表示需按产品页/合同确认,本文不猜金额;缓存命中率/回源量未在 TCO 中建模,需用真实访问日志。
什么场景选哪种?
大文件(安装包、视频、模型、镜像)且请求/GB 低:CloudFront;小对象/高频 API/短链/图标且请求/GB 高:S3 直连;需要全球边缘、WAF、签名、日志、缓存:CloudFront;只需简单下载、预算敏感、请求少:S3 直连。用真实对象大小算 8,333 请求/GB 的盈亏点,再用缓存命中率/回源量修正;不要只看 0.085 vs 0.09 的带宽差。
| 场景 | 首选 | 理由 | 注意 |
|---|---|---|---|
| 大文件/低请求 | CloudFront | 0.085/GB + 低请求/GB | 缓存命中/回源 |
| 小对象/高请求 | S3 直连 | GET 0.40/百万,低于 CF 1.00/百万 | 无边缘缓存 |
| 全球分发/安全 | CloudFront | 边缘、WAF、签名、日志 | 附加功能另计 |
| 简单下载/低量 | S3 直连 | 100GB 免费,无额外层 | 带宽 0.09/GB |
| 缓存命中高 | CloudFront | 回源少,源站压力低 | viewer 请求仍计费 |
| 自定义源 | 对比回源 | CF 回源 0.02/GB | S3 源免 S3 出站 |
来源:AWS S3/CloudFront 官方定价页(访问 2026-11-05)。表为编辑决策矩阵,不是 AWS 建议;未验证实际缓存命中、延迟、吞吐、WAF 效果或支持响应。
采购与验收要写清什么?
至少写清八件事:月出站 TB、请求数/平均对象、缓存命中/回源、S3 存储/请求类型、CloudFront 功能(WAF/日志/签名)、自定义源、加速/多区域、税/支持/迁移。POC 用真实访问日志跑 2–4 周,记录命中率、回源、P95、请求数、出站和账单;不要只比每 GB。
- 出站/请求:月 TB、请求数、平均对象大小;算请求/GB。
- 缓存:命中率、回源量、TTL/失效;viewer 请求仍计费。
- S3:存储类、GET/其他请求、签名 URL、加速/MRAP。
- CloudFront:WAF、日志、字段级加密、Origin Shield、签名。
- 自定义源:非 S3 源的回源 0.02/GB;源站出站/带宽。
- 区域:美国区价;其他区域/边缘价不同。
- 合同/支持:承诺折扣、支持、税、迁移。
- POC:2–4 周真实日志;记录命中、回源、P95、请求、出站和账单。
常见问题
10TB/1,000 万请求,选哪个?
S3 895、CloudFront 860;CloudFront 略低。平均对象 1MB,请求/GB 低,0.005/GB 带宽节省占优。
10TB/1 亿请求,选哪个?
S3 931、CloudFront 950;S3 略低。请求/GB 高,CloudFront 每百万多 0.60 的请求费超过带宽节省。
100TB/1 亿请求,选哪个?
S3 7,831、CloudFront 7,150;CloudFront 低约 9%。大流量、请求/GB 低时带宽节省放大。
100TB/10 亿请求,选哪个?
S3 8,191、CloudFront 8,050;CloudFront 略低。接近盈亏点(约 8.33 亿请求),需用真实对象大小/缓存命中重算。
盈亏点怎么来的?
CloudFront 省 0.005/GB,但每百万请求多 0.60;0.005×1,000,000/0.60=8,333 请求/GB,约 120KB/对象。低于 120KB 时 S3 直连更省。
缓存命中高,CloudFront 一定更省吗?
不一定。缓存命中减少回源/源站压力,但 viewer 请求费仍按每个请求收;请求/GB 高时,S3 直连仍可能更低。
S3 回源要钱吗?
S3→CloudFront 的回源不计 S3 公网出站;自定义源回源 0.02/GB。源站自身的出站/带宽另计。
还有哪些隐藏成本?
WAF/日志/字段级加密/签名、Origin Shield 请求、S3 其他请求/加速/MRAP、自定义源回源、税、支持和迁移。本文只算出站 + GET/HTTPS。
研究方法与局限
本文把“官方事实”和“编辑测算”分开:S3 出站/GET、CloudFront 出站/HTTPS/回源价来自 AWS 官方定价页与 Price List API(AWSDataTransfer、AmazonCloudFront、AmazonS3,美国区);1/10/100TB 的 TCO 是按 1TB=1,000GB、只算公网出站 + GET/HTTPS 的算术,不是 AWS 报价。本文不比较实际缓存命中、延迟、吞吐、WAF 效果或支持响应。
局限有八个:① 只取美国区公开价,未含税、折扣、私有价和承诺;② 1TB=1,000GB 是编辑口径,AWS 按 GB 计费可能略有差异;③ 只算出站 + GET/HTTPS,不含存储、其他请求、WAF/日志/签名、Origin Shield、加速/MRAP、支持和迁移;④ 未建模缓存命中/回源,实际回源量取决于 TTL/访问分布;⑤ 未计 CloudFront Free Tier;⑥ 只比较 S3 与 CloudFront,未比较多 CDN;⑦ 未验证实际缓存命中、延迟、吞吐、WAF;⑧ 自定义源/区域价会改变结果。采购决策应把本文当“口径模板”,用 2–4 周真实访问日志 POC 替换假设。
数据来源与口径
- AWS, S3 Pricing(Data transfer、Requests):aws.amazon.com/s3/pricing。公网出站 100GB/月免费;0.09/GB 首 10TB、0.085/0.07/0.05;GET 约 0.40/百万。访问 2026-11-05。
- AWS Price List API, AWSDataTransfer(current):pricing.us-east-1.amazonaws.com/.../AWSDataTransfer/current/index.json。us-east-1 AWS Outbound 阶梯价。访问 2026-11-05。
- AWS, CloudFront Pricing:aws.amazon.com/cloudfront/pricing。美国出站 0.085/0.080/0.060/0.040/0.030;HTTPS 1.00/百万、HTTP 0.75/百万;S3 回源免 S3 出站;自定义源 0.02/GB。访问 2026-11-05。
- AWS Price List API, AmazonCloudFront(current):pricing.us-east-1.amazonaws.com/.../AmazonCloudFront/current/index.json。US DataTransfer-Out-Bytes、US-Requests-Tier2-HTTPS 价。访问 2026-11-05。
资料截止 2026-11-05;价格为公开 list price,未含税;所有算例均为编辑测算。本文不构成采购建议。