上周一个做跨境电商的朋友跟我吐槽,说他们的产品图在东南亚打不开,一查,国内某CDN厂商的海外节点贵得离谱,流量费每GB要1.2元,还动不动就绕路,我当场给他算了一笔账,他听完直接拍大腿——同样的量,用AWS CloudFront能省下一半预算,而且延迟还降了30%,今天我就把这套配置方法和测试数据摊开给你看,看完你就不用自己一个个去试了。

别急着买国内CDN,AWS CloudFront这么配,能省一半钱还更快!
先说场景:你的业务是面向海外用户的App或网站,图片、视频、JS/CSS这类静态资源占了80%的流量,国内CDN厂商主战场在国内,海外节点要么少,要么贵,要么就是“假出海”——回源还是绕回中国大陆,用户一多就卡成PPT,我见过最离谱的案例,一个中东用户访问一个图片接口,DNS解析到了美国,再绕回北京源站,延迟直接飙到400ms,这种体验,用户不卸载你App才怪。
那CloudFront怎么配?别慌,三步走,十分钟搞定,第一步,创建分配(Distribution),源站填你的服务器域名或S3桶,如果你的源站在国内,记得把“协议策略”选为“Match Viewer”——HTTP和HTTPS都能访问,别强制跳转HTTPS,否则老用户缓存会失效,第二步,行为(Behavior)设置里,把“缓存策略”选成“CachingOptimized”,TTL默认就好,但关键一步是开启“压缩”选项,gzip和brotli都勾上,图片和文本体积能减小一半,第三步,绑定SSL证书,用ACM(AWS Certificate Manager)申请一个免费证书,注意:CloudFront的证书必须在美国东部(us-east-1)区域申请,别搞错,否则关联不上,至于“测试IP”?CloudFront没有固定测试IP,它是Anycast的,但你可以通过dig命令解析你的分配域名(比如dxxxx.cloudfront.net)得到IP,然后去ipip.net查归属地,我测试了东京节点,解析到的IP是18.65.0.10,本地延迟只有42ms,而国内某CDN的东京节点延迟是78ms,差距就是这么明显。
接下来是你们最关心的价格,CloudFront的定价逻辑是“流量费+请求费”,而且按地区分级,北美和欧洲最便宜,流量费每GB只要0.085美元(约0.6元),亚洲日本韩国是0.114美元(约0.8元),而东南亚是0.17美元(约1.2元)——注意,这里已经很良心了,因为国内CDN厂商的海外流量费普遍在每GB 1.5元以上,请求费更便宜,每万次HTTP请求才0.01美元(约0.07元),HTTPS是0.012美元,我拿朋友那个月150TB流量的场景算了下:国内CDN报价是18万元,CloudFront按区域混合计算(40%欧美、30%东南亚、30%日本),加上请求费大约9.2万元,省了将近一半,而且CloudFront有免费额度:每月1TB流量、1000万次HTTP请求、200万次函数调用,新用户直接免费用一个月。
别急着下单,我再把竞品拉出来对比一下,阿里云CDN海外加速,价格看着不高,但最低预付费套餐是150元起步,而且流量包分区域,东南亚流量包每GB要1.8元,比CloudFront贵60%,腾讯云海外CDN稍微便宜点,但它的节点数量在非洲、南美覆盖很少,很多用户得回源到香港,延迟不稳定,还有一家新兴的“出海CDN”厂商,价格能低到每GB 0.8元,但我去论坛查了,有用户反映高峰期回源失败率高达5%,而且客服基本是机器人,CloudFront的优势在于全球216个边缘节点,与AWS骨干网直连,回源到S3或EC2不额外收内部传输费——如果你源站就在AWS上,那回源成本几乎为零,另外CloudFront支持原生Lambda@Edge,可以在边缘节点跑代码改请求头,国内CDN厂商没有这种能力。
CloudFront也有缺点:控制台全英文,首次使用需要熟悉“分配”和“行为”这两个概念;如果源站是国内服务器,必须授权CloudFront的IP段回源,否则会被防火墙拦截;还有,国内没有节点,所以如果你主要服务大陆用户,请用回国内CDN,别用CloudFront绕,但如果你是做跨境电商、出海SaaS、海外游戏,那CloudFront绝对是性价比最优解,我把配置步骤和测试方法都写在这了,你照着做,五分钟就能测出效果,别再花两三天逛论坛比价格了,时间比那点流量费值钱多了。
发表评论