Amazon Lambda + API Gateway 实战,无服务器架构入门


过去,后端开发往往意味着租服务器、配置操作系统、部署容器、维护负载均衡、监控、备份。这些都耗时耗力,还容易出错。
现在,Serverless 架构把这些繁琐的基础设施工作交给云厂商来做:只要写函数“写完就丢上去”(Deploy),自动伸缩、按需计费、维护压力几乎是零。
典型场景包括:
快速搭一个公开 API(例如让前端调用,或让外部服务 Webhook 回调)
写一个定时任务(cron),如每天清理一下临时文件/数据库中的旧数据/生成报告
为内网提供内部工具接口/自动化脚本
这些场景过去要自己开服务器、配置 cron、设置反向代理、监控负载、处理故障,而现在只要写个 Lambda 函数 + API Gateway + IAM 权限,就能搞定。传送门
技术切入:Amazon Lambda 的玩法
下面是一个实战范例:用 Python 写一个 Lambda + API Gateway 的公开 API,处理 POST 请求并返回 JSON。
假设要做一个简单工具:输入两个数字,返回它们的和 + 差 + 积 +商。
Lambda 函数(Python)
部署步骤(手动 + IaC)
你可以通过亚马逊云科技控制台,也可以用 Amazon SAM / Serverless Framework / CDK 来部署。这里以 Amazon CLI + SAM 模板为例。SAM 模板示例(template.yaml)
部署流程:
安装 Amazon CLI / SAM CLI,并配置好凭证
在项目目录放 lambda_function.py + template.yaml
运行:
SAM 会帮你创建 Lambda + API Gateway + IAM 角色等,最终会给一个 URL,比如 https://xyz.execute-api.us-east-1.amazonaws.com/Prod/calc
旧版 Free Tier 的痛点
虽然亚马逊云科技一直有 Free Tier,但使用中有不少困扰:
免费额度很分散(Lambda 的调用次数、API Gateway 的流量、数据传出入、日志记录等),新手常常没看清哪个收费项超限,就被“意外扣费”吓得不敢用。
测试频繁 + 多次部署 → 很快超过免费调用次数或带宽限制
对于一个小型 API + Webhook +定时任务组合,多项收费项叠加,新人觉得“写函数”这件事有时候成本并不低。
所以很多人虽想用 Serverless,但总是在“怕掉坑”的状态 —— 写了几个函数就停了,或者一直只是读文档没动手。
Free Tier 2.0 的改善
好消息是:亚马逊云科技的 Free Tier 2.0 带来不少新东西,特别适合刚入门或者想快速验证想法的人。
注册就能拿一个“起步奖励”(比如 100 美元抵扣金),完成特定任务最多能拿到 200 美元的抵扣金。
在任务清单里包含部署一个带 URL 的 Lambda 函数 + API Gateway,这意味着你只要完成这个任务,就能获得额外抵扣,使你可以安心写函数、不怕因为少量调用被扣费。
Free Tier 2.0 在“新人期”一般设有一个保护期(例如 6 个月),在这个期间如果你只在任务+免费额度内使用,不会被误扣费。这样你可以大胆试错、写函数、部署 Webhook、做 MVP,而不会因费用问题退缩。
实战扩展
除了最常见的“写一个 API 接口”,Serverless 的另一个经典玩法就是做 Webhook 接收器。场景很多:

GitHub 仓库有 Push / PR / Issue 更新时,触发一个 Lambda 来同步到你自己的数据库、或者发到钉钉/Slack 群里。
微信公众平台事件(用户关注、发送消息),直接调用 Lambda,自动回复欢迎语,或者把用户信息存入 DynamoDB。
第三方支付平台的支付回调,也可以直接打到 API Gateway → Lambda,完成订单状态更新。
以下示例:接收 GitHub Webhook,解析 JSON payload,并把信息打印(或者写入 DynamoDB)。
API Gateway:
创建一个 POST /webhook 路由。
确保“接收原始 body”模式(不要自动转义或重写)。
安全性:
GitHub 提供 X-Hub-Signature-256 签名,你可以在 Lambda 校验 secret。
微信公众平台回调有 signature、timestamp、nonce 参数,也要在 Lambda 校验。
存储 & 自动化:
把回调数据存到 DynamoDB 或 S3,便于后续统计和查询。
配合 EventBridge + SNS,可以直接“转发”这些事件到邮件 / 短信 / IM 群。
Webhook 接收器的调用模式非常不稳定:有时一天几十次,有时几分钟就上百次。传统服务器要么长期空跑(浪费资源),要么高峰被打爆。
Lambda + API Gateway 就完美解决:按调用计费,没有请求时 0 成本。秒级伸缩,GitHub 或微信突然发来一堆事件也不会崩。
所以,如果说“Lambda + API Gateway”最适合的 Hello World 是 Calculator API。
结论
现在是尝试 Serverless 架构的黄金开端:不用担心自己要买服务器、配置环境、规模扩容,只要写函数 + 配置触发 + 接入 API Gateway,就能弄一个稳定、可用的后端接口。
👉 如果你之前因为“怕被扣钱”“怕部署麻烦”而没动手,现在就去注册 亚马逊云科技账号→ 激活 Free Tier 2.0 → 写一个简单函数 + API Gateway 测试接口。
你的第一个 Serverless 后端,不仅可能就在今天起跑,还可能成为你未来工具 /后台服务 /SaaS 功能模块的基础。
以上就是本文的全部内容啦。最后提醒一下各位工友,如果后续不再使用相关服务,别忘了在控制台关闭,避免超出免费额度产生费用~
评论