![]()
一个隐私优先的AI习惯追踪工具,跑在浏览器里,后端成本能压到多低?开发者Matt上周上线dontdothat.click,7天后晒出账单:0.52美元。其中路由服务占了96%,实际流量成本2美分。
这数字本身不值一提。但账单结构暴露了一个反直觉的事实——静态网站的"隐形税"不在流量,在配置。
账单解剖:6美元/年的"过路费"
Matt的技术栈极简:S3存储桶+CloudFront分发+Route 53域名解析。预算是3美元/年,实际首周0.52美元,年化约27美元。差距来自Route 53的托管区域费:0.5美元/月固定收取,无论有没有流量。
「托管区域费用比域名本身还贵。」Matt在复盘里写道。域名3美元/年,DNS服务6美元/年。 tutorials不会告诉你这个——它们默认你会用AWS全家桶。
更省钱的方案存在:域名注册商送的免费DNS完全够用。但CloudFront与Route 53的别名记录联动太顺滑,6美元/年的"过路费",Matt选择认缴。
没有CI/CD,但有"会忘记的"缓存
三个静态文件,不需要流水线。这是Matt的出发点,也是第一个坑的来源。
![]()
首次推送bug修复后,他盯着浏览器刷了10分钟,页面纹丝不动。然后想起:S3上传完,CloudFront缓存不会自动失效。必须手动创建失效请求。
代码片段被完整记录下来:
# 上传
aws s3 sync . s3://dontdothat.click/ \
--exclude ".git/*" --exclude "*.md"
# 这步你会忘
aws cloudfront create-invalidation \
--distribution-id E1N9Y6SV8RFQ9Q \
--paths "/*"
第二次忘记后,他写了个单行部署脚本:上传与失效绑定执行。Matt称之为"世界上最简单的CI/CD"——没有构建阶段,没有测试门控,只有两步操作的原子化。
他备注了未来的升级路径:如果流量增长,改用带版本号的文件名(app.v2.js)替代缓存失效。失效请求有配额限制,版本化文件没有。
证书验证:文档说"几分钟",实际30分钟
ACM证书的申请流程在文档里被描述为"几分钟完成"。Matt的实际体验:20分钟以上。
![]()
关键变量是域名年龄。文档注明"最长30分钟",但多数博客基于老域名写作。dontdothat.click是10分钟前刚注册的,走了满时长。
另一个细节:通配符证书(*.example.com)不覆盖裸域(example.com)。Matt事后承认" hindsight 下很明显",但配置时确实踩了——CloudFront报错后才发现需要单独申请裸域证书。
2美分背后的选择逻辑
整个复盘最有趣的部分,是Matt对"简单"的定义边界。
他拒绝了注册商免费DNS,接受6美元/年的溢价换取配置顺滑。他没有搭建CI/CD,但为单行脚本付出了两次遗忘的学费。他本可以用更复杂的架构预判缓存问题,但选择先让问题发生。
这些选择的共性:用可承受的小成本,换取决策速度。
年化27美元的账单里,流量成本占比不到4%。这意味着项目可以承受两个数量级的增长,而基础设施决策无需重审。S3-CloudFront-Route 53的组合,本质是为"可能的增长"预付了极低的期权费。
Matt的最后一个数据点:35KB的总文件体积。作为AI应用的前端,这几乎是对"浏览器端运行"承诺的物理证明——没有后端API调用,没有数据出境,习惯追踪的逻辑完全本地执行。
隐私优先不是营销话术,是架构层面的0美元附加费。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.