用云平台资源每月免费额度搭建博客,一年账单竟是 $0!

一年前,我在寻找一个低成本的方式来托管我的个人博客。当时,我的需求很简单:

  1. 尽量降低成本——毕竟只是一个个人博客,没有盈利,也不想每个月为服务器付费。
  2. 尽可能少的运维——不想每天盯着服务器是否宕机,能无忧无虑地运行就好。
  3. 快速响应——不希望读者打开网页时,等上好几秒。

就在这个时候,我无意间发现了 AWS Lambda 的 每月免费额度。AWS 为 Lambda 提供 每月 100 万次请求 和 40 万 GB-秒的计算时间,而对于我的博客而言,每天的访问量并不高,完全可以落在这个免费额度之内。

选择 Go 作为 Lambda 运行时

在研究 Lambda 运行时的时候,我发现 Go 语言是一个非常不错的选择。因为 Go 编译后的二进制文件小,启动速度快,而且内存占用低。正好,我一直用 Go 开发后端项目,这次就顺理成章地选择了 Go。

为了验证 Go 的 Lambda 是否真的快,我做了一些测试。结果让我很惊喜:

从 Lambda 冷启动到博客首页渲染完成,只要几十毫秒!

这让我坚定了使用 Go 的决心。

设计博客架构

Lambda 只是函数执行环境,并不能直接存储静态文件。因此,我将博客的模板和内容存储在 S3,每次有请求时,Lambda 从 S3 读取内容并动态渲染,返回给用户。

整个架构如下:

  1. S3 存储博客模板、文章内容(Markdown 格式)。
  2. Lambda(Go 语言) 处理请求,从 S3 读取数据并渲染成 HTML。
  3. API Gateway 作为入口,将 HTTP 请求转发给 Lambda。
  4. CloudFront(可选) 作为 CDN,加快访问速度。

这样一来,每次访问博客时,Lambda 只在需要的时候运行,完全不占用服务器资源,而静态文件由 S3 提供,响应速度极快。

运行了一年,费用几乎为零

当我部署完成后,我每天都会关注 AWS 账单,看看我的架构是否真的能保持低成本。

  • Lambda:每天的请求次数在几百到几千之间,远低于 100 万次的免费额度。
  • S3:存储费用微乎其微,每月大约 几美分
  • API Gateway:请求量较少,基本没产生费用。

最终,我的博客运行了一年,AWS 账单基本上是 $0.00!

遇到的困难:爬虫导致费用激增

不过,这一路并非一帆风顺。有一次,我突然发现 AWS 账单开始上涨,从原本的零成本变成了 几十美元。起初,我还以为是博客访问量增加了,但仔细检查日志后,发现是 爬虫在不断抓取我的博客页面,导致 Lambda 的请求次数暴增。

为了解决这个问题,我修改了博客的 robots.txt 文件,禁止恶意爬虫抓取内容。同时,我还在 API Gateway 端加上了一些 访问频率限制,防止过度请求。

修改之后,我观察了一段时间,发现 Lambda 的调用次数恢复正常,AWS 账单也回到了 $0.00。

总结

如果你也想搭建一个个人博客,又不想花钱,我强烈推荐 AWS Lambda + S3 这种方案。只要你的访问量不是百万级别,Lambda 的免费额度足够支撑你的博客运行。

Lambda 让我重新思考了网站架构,原来真正的“服务器”可以是“无服务器”!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值