AWS Lambda のアイコン

AWS Lambda 经典2014年〜

无需管理服务器即可运行代码的无服务器计算服务

它能做什么

AWS Lambda 是一项无需预置或管理服务器即可运行代码的无服务器计算服务。以事件 (HTTP 请求、文件上传、数据库变更等) 为触发器自动执行代码,仅按执行时间计费。支持 Python、Node.js、Java、Go、.NET 等主流语言。

使用场景

用于 API 后端处理、S3 文件上传时的图片缩放、DynamoDB 变更触发的数据处理、定期批处理、IoT 设备数据处理等所有事件驱动型工作负载。

日常类比

可以将其比作自动售货机。按下按钮 (事件发生) 就出饮料 (代码执行),售货机的电费和维护 (服务器管理) 由运营商 (AWS) 负责。不按按钮时不产生费用。

什么是 Lambda

AWS Lambda 是 AWS 上使用最广泛的无服务器服务。上传称为函数的代码单元,事件发生时自动执行。即使同时收到数千个请求也会自动扩展,没有请求时成本为零。

事件源与触发器

Lambda 可由 200 多个 AWS 服务和 SaaS 应用的事件触发。典型触发器包括来自 API Gateway 的 HTTP 请求、S3 对象上传、DynamoDB Streams 数据变更、SQS 队列消息、EventBridge 定时事件等。组合使用这些可构建无服务器架构。

定价与限制

Lambda 的费用由请求数和执行时间 (GB-秒) 两部分计算。免费套餐包含每月 100 万次请求和 40 万 GB-秒,永久免费。单次执行最长 15 分钟,内存最大可设置 10,240 MB。部署包大小压缩后上限 50 MB、解压后 250 MB,使用容器镜像可支持最大 10 GB。 如需了解定价与限制的详细机制,可参考 Amazon 相关书籍

如何开始

在 Lambda 控制台点击「创建函数」,选择运行时 (Python、Node.js 等)。在控制台编辑器中编写代码,点击「测试」按钮确认执行结果。将 API Gateway 设为触发器,几分钟即可完成 HTTP API 后端。

注意事项

  • 单次执行时间最长为 15 分钟。对于长时间处理,可考虑使用 Step Functions 或 ECS/Fargate
  • 可能会发生冷启动 (首次启动延迟)。如果对延迟有较高要求,可考虑使用 Provisioned Concurrency
  • 作为免费套餐,每月 100 万次请求和 40 万 GB-秒可始终免费使用
共有するXB!