AWS Lambda - 免费 Serverless 计算服务
无需考虑服务器或集群即可运行代码。只需按实际使用量付费。
免费套餐包括:每月 100 万次免费请求和 400,000 GB 秒的计算时间
用于由 x86、Graviton2 处理器或两者整合提供支持的函数
连续 13 年被 Gartner 评为全球云计算"领导者"
连续 13 年被 Gartner 评为全球云计算"领导者"
亚马逊云科技在 Gartner 2023 年战略云平台服务 (SCPS) 魔力象限报告中获评“领导者”,连续 13 年获此殊荣(查看完整分析师报告)。从计算、存储和数据库等基础设施技术,到机器学习、人工智能、数据湖和分析以及物联网等新兴技术,亚马逊云科技提供丰富完整的服务及功能,我们的每一行代码都为满足苛刻的需求而编写。
AWS Lambda 是一种无服务器的计算服务,让您无需预置或管理服务器、创建可感知工作负载的集群扩展逻辑、维护事件集成或管理运行时,即可运行代码。借助 Lambda,您几乎可以为任何类型的应用程序或后端服务运行代码,而且完全无需管理。只需将您的代码以 ZIP 文件或容器映像的形式上传,Lambda 便会自动、精确地分配计算执行能力,并根据传入的请求或事件运行您的代码,以适应任何规模的流量。您可以将您的代码设置为自动从 200 多个 AWS 服务和 SaaS 应用程序触发,或者直接从任何 Web 或移动应用程序调用。您可以使用自己喜欢的语言(Node.js、Python、Go、Java 等)编写 Lambda 函数,并使用无服务器和容器工具(例如 AWS SAM 或 Docker CLI)来构建、测试和部署您的函数。
-
产品特性
-
Amazon Lambda 产品定价
-
产品特性
-
优势
无需管理服务器
AWS Lambda 可以自动运行您的代码,而您无需配置或管理基础设施。只需编写代码,并以 ZIP 文件或容器镜像的形式上传到 Lambda。
持续扩展
AWS Lambda 可通过运行代码以响应每个事件来自动扩展您的应用程序。您的代码将并行运行并逐个处理每个触发器,按照工作负载的大小精密扩展,从每天几个请求扩展到每秒数千个请求。
通过毫秒计量优化成本
使用 AWS Lambda 时,您只需按使用的计算时间付费,因此您永远不会为过度预置的基础设施付费。按代码执行时间 (以每毫秒为单位)和代码触发次数收费。使用 Compute Savings Plan,您可以额外节省高达 17% 的费用。
任意规模都能获得一致的超高性能
借助 AWS Lambda,您可以通过为函数选择合适的内存大小来优化代码执行时间。您还可以启用“预配置并发”使函数保持初始化状态,并准备好在两位数毫秒内进行响应。
工作原理
-
Amazon Lambda 产品定价
-
AWS Lambda 免费使用套餐包括 每月 100 万次免费请求和 400,000 GB 秒的计算时间,可用于由 x86、Graviton2 处理器或两者整合提供支持的函数。使用 AWS Lambda,您只需按使用量付费。我们将根据您函数的 请求数量和 持续时间,以及代码执行花费的时间向您收费。请求数量:每当 Lambda 为响应事件通知或调用(包括控制台的测试调用)而开始执行时便记为一次请求。持续时间:从您的代码开始执行时算起直到其返回或以其他方式终止为止,舍入到最近的 1ms*。价格取决于您为函数分配的内存量。在 AWS Lambda 资源模型中,您可以选择用于函数的内存量,这会分配等比例的 CPU 计算能力和其他资源。内存大小的增加会导致函数可用的 CPU 的等效增加。
AWS Lambda 定价
持续时间成本取决于您为函数分配的内存量。您可以以 1MB 为增量为函数分配介于 128 MB 至 10240 MB 之间的任何内存量。下表包含一些与不同内存大小关联的每 1 毫秒价格示例,适用于属于第一个定价层的使用量,例如,美国东部(俄亥俄州)最高 60 亿 GB 秒/月。
-
x86 价格
-
Arm 价格
-
x86 价格
-
-
Arm 价格
-
Lambda 按需持续时间定价层适用于账户内,同一区域中采用相同架构(分别为 x86 或 Arm)所运行函数的每月累积持续时间。如果您在 AWS Organizations 中使用整合计费,则定价层将适用于跨组织的所有账户,在相同区域,采用相同架构运行的函数的每月累计持续时间。
Lambda 短暂存储定价
短暂存储成本取决于您分配给函数的短暂存储量,以及函数执行持续时间(以毫秒为单位)。您可以以 1MB 为增量为函数分配介于 512MB 至 10240MB 之间的任何额外存储量。您可以为在 x86 和 Arm 架构上运行的函数配置短暂存储。每个 Lambda 函数都可以免费使用 512MB 短暂存储。您只需为配置的额外短暂存储付费。
以下所有示例均基于美国东部(弗吉尼亚北部)的价格。
-
示例 1:移动应用程序后端
假设您是一名移动应用程序开发人员,正在构建食品订购应用程序。客户可以使用该应用程序从特定的餐厅点餐、接收订单状态更新,并在订单准备好时取餐。因为您预计需求会根据一天中的时间和餐厅位置有很大的变化,所以您使用无服务器服务构建移动后端,包括 AWS Lambda。假设您是一名移动应用程序开发人员,正在构建食品订购应用程序。客户可以使用该应用程序从特定的餐厅点餐、接收订单状态更新,并在订单准备好时取餐。因为您预计需求会根据一天中的时间和餐厅位置有很大的变化,所以您使用无服务器服务构建移动后端,包括 AWS Lambda。为简单起见,我们假设您的应用程序每月处理 300 万个请求。函数平均执行持续时间为 120 ms。您在基于 x86 的处理器上为您的函数配置了 1536MB 的内存。费用将按以下方式计算:
月度计算费用
月度计算价格为每 GB-s 0.0000166667 美元,免费套餐提供 40 万 GB-s。
总计算时间(秒)= 300 万 * 120ms = 360000 秒
总计算量 (GB-s) = 360000 * 1536MB/1024 MB = 540000 GB-s
总计算 – 免费套餐计算 = 月度计费计算 GB- s
540000 GB-s – 400000 免费套餐 GB-s = 140000 GB-s
月度计算费用 = 140000 * 0.0000166667 USD = 2.33 USD月度请求费用
月度请求价格为每 100 万个请求 0.20 USD,免费套餐每月提供 100 万个请求。
总请求数量 – 免费套餐请求数量 = 月度计费请求数量
300 万请求 – 100 万免费套餐请求 = 200 万月度计费请求
月度请求费用 = 2M * 0.2 USD/M = 0.40 USD月度总费用
总费用 = 计算费用 + 请求费用 = 2.33 USD + 0.40 USD = 2.73 USD/月
-
示例 2:利用额外的元数据丰富流式传输遥测
假设您是一家物流公司,在现场有一支车队,每辆车都配备了传感器和 4G/5G 连接,用于将遥测数据发送到 Amazon Kinesis 数据流中。您想要使用您开发的机器学习 (ML) 模型推断车辆的运行状况,并预测何时需要对特定组件进行维护。假设您是一家物流公司,在现场有一支车队,每辆车都配备了传感器和 4G/5G 连接,用于将遥测数据发送到 Amazon Kinesis 数据流中。您想要使用您开发的机器学习 (ML) 模型推断车辆的运行状况,并预测何时需要对特定组件进行维护。假设您在现场有 10000 辆车辆,每辆车每小时以交错的方式发射一次遥测信号,并且带有足够的抖动。您打算对每个有效负载执行此推断,以确保车辆被及时安排进行维护,并确保车队处于最佳运行状态。
假设 ML 模型随函数一起打包,且大小为 512MB。为了进行推断,您已经为函数配置了 1GB内存,且在基于 x86 的处理器上,函数执行平均需要 2 秒才能完成。
月度请求费用:
车辆每月发送 10000 * 24 * 31 = 7440000 条消息,这些消息将由 Lambda 函数处理。月度请求费用 → 7.44M * 0.20 USD/M = 1.488 USD ~= 1.49 USD
月度计算费用:
每条消息每月将执行一次函数,时间为两秒钟。月度计算持续时间(秒) → 744 万 * 2 秒 = 1488 万秒
月度计算量 (GB-s) → 1488 万秒 * 1024 MB/1024 MB = 14.88 GB-s
月度计算费用 → 1488 万 GB-s * 0.0000166667 USD = 248.00 USD月度总费用:
月度总费用 = 请求费用 + 计算费用 = 1.49 USD + 248.00 USD = 249.49 USD -
示例 3:对客户支持票证和交互执行 ML 以改善客户体验
假设您是一家金融服务公司,希望更好地了解您的主要客户服务问题。您的目标是改善客户体验,减少客户流失。您的客户可以通过您提供的移动应用程序与客户支持人员实时聊天。您决定部署自然语言处理 (NLP) 模型。假设您是一家金融服务公司,希望更好地了解您的主要客户服务问题。您的目标是改善客户体验,减少客户流失。您的客户可以通过您提供的移动应用程序与客户支持人员实时聊天。您决定部署自然语言处理 (NLP) 模型。在本例中,您将使用 AWS Lambda 中热门的基于转换器的双向编码器表示形式 (BERT) 模型。该模型帮助您解析、分析和理解通过移动应用程序进行的客户服务交互,以显示相关的支持内容或将客户路由到适当的客户服务代理。您的推理模型处理的支持查询的数量在一周内变化很大。
假设您运行推理模型的函数每月收到 600 万个请求。函数平均执行持续时间为 280 ms。您在基于 x86 的处理器上为您的函数配置了 4096MB 的内存。
您还可以将函数配置为使用 2048MB 短暂存储。
费用将按以下方式计算:
月度计算费用:
月度计算价格为每 GB-s 0.0000166667 美元,免费套餐提供 40 万 GB-s。
总计算时间(秒)= 600 万 * 280ms = 168 万秒
总计算 (GB-s) = 1680000 * 4096 MB/1024 MB = 6720,000 GB-s
总计算 – AWS 免费套餐计算 = 月度计费计算 GB- s
6720000 GB-s – 400000 免费套餐 GB-s = 6320000 GB-s
月度计算费用 = 632 万 * 0.0000166667 美元 = 105.33 美元月度请求费用:
月度请求价格为每 100 万个请求 0.20 美元,免费套餐每月提供 100 万个请求。
总请求数量 – 免费套餐请求数量 = 月度计费请求数量
600 万请求 – 100 万免费套餐请求 = 500 万月度计费请求
月度请求费用 = 500 万 * 0.2 美元/100 万 = 1 美元月度短暂存储费用:
月度短暂存储价格为每 GB 秒 0.0000000309 美元,Lambda 提供 512 MB 存储(无需额外成本)。
总计算时间(秒)= 600 万 * 280ms = 168 万秒
短暂存储总应计费 = 2048MB – 512MB = 1536MB
短暂存储总计 (GB-s) = 168 万 * 1536MB/1024MB = 252 万 GB-s
月度短暂存储费用 = 252 万 * 0.0000000309 美元 = 0.08 美元月度总费用:
总费用 = 计算费用 + 请求费用 = 105.33 美元 + 1 美元 + 0.08 美元 = 106.41 美元/月
-
使用案例
可以使用 AWS Lambda 构建哪些内容? 详细了解以下使用案例:
数据处理
您可以使用 AWS Lambda 执行代码以响应数据更改、系统状态变化或用户操作等触发器。Lambda 可以由 S3、DynamoDB、Kinesis、SNS 和 CloudWatch 之类的 AWS 服务直接触发,也可以连接到现有的 EFS 文件系统或通过 AWS Step Functions 编排到工作流中。您可借此构建各种实时的无服务器数据处理系统。
实时文件处理
您可以使用 Amazon S3 触发 AWS Lambda,以便在上传数据后立即对它们进行处理。您还可以直接连接到现有的 Amazon EFS 文件系统,从而支持对大规模文件处理进行大规模并行共享访问。例如,您可以使用 Lambda 实时创建缩略图、转换视频代码、建立文件索引、处理日志、验证内容以及聚合和筛选数据。
参考架构:示例代码
西雅图时报利用 AWS Lambda 来调整图像大小,以便于在不同的设备(如台式机、平板电脑和智能手机)上查看。阅读案例研究 »
实时流式处理
您可以使用 AWS Lambda 和 Amazon Kinesis 处理实时流数据,从而跟踪应用程序活动、处理事务处理顺序、分析单击数据流、整理数据、生成指标、筛选日志、建立索引、分析社交媒体以及遥测和计量 IoT 设备数据。
参考架构:示例代码
Localytics 可实时处理数十亿个数据点,并使用 Lambda 来处理存储在 S3 中或从 Kinesis 进行流式处理的历史和活动数据。阅读案例研究 »
机器学习
您可以使用 AWS Lambda 在将数据输入到机器学习模型之前对其进行预处理。通过 Lambda 访问 EFS,您还可以提供模型进行大规模预测,无需预置或管理任何基础设施。
“在 Aible,我们致力于以最低的运营成本提供最强大的 AI 技术。因此,我们使用 AWS Lambda 和 Serverless 进行机器学习训练和预测。借助 Serverless,我们可以更经济高效地运行各种机器学习工作负载,同时受益于快速迭代和扩展所需的突发计算资源,从而更好地开发 AI 技术以实现最佳业务影响。”
Aible 首席技术官 Rod Butters
后端
您可以使用 AWS Lambda 构建无服务器后端,以处理 Web、移动、物联网 (IoT) 和第 3 方 API 请求。充分利用 Lambda 始终如一的高性能控制,如多内存配置和预配置并发,以便构建任何规模的延迟敏感应用程序。
Web 应用程序
通过将 AWS Lambda 与其他 AWS 服务相结合,开发人员可以构建功能强大的 Web 应用程序,从而可自动扩展和收缩,并跨多个数据中心在高可用配置中运行,而无需在可扩展性、备份或多数据中心冗余方面执行任何管理工作。
参考架构:示例代码
IoT 后端
您可以使用 AWS Lambda 构建无服务器后端,以处理 Web、移动、物联网 (IoT) 和第 3 方 API 请求。
参考架构:示例代码
移动后端
AWS Lambda 能够轻松创造丰富、个性化的应用程序体验。您可以使用 AWS Lambda 和 Amazon API Gateway 构建后端,以验证和处理 API 请求。使用 AWS Amplify 轻松将您的后端与 iOS、Android、Web 和 React Native 前端集成。
参考架构:示例代码
Bustle 使用 AWS Lambda 和 Amazon API Gateway 为其 Bustle iOS 应用程序和网站运行了一个无服务器后端。借助无服务器架构,Bustle 无需管理基础设施,因此每位工程师都能够集中精力构建新功能并进行创新。阅读案例研究 »
案例研究
Coca-Cola Freestyle 是一个创新的饮料分发平台,提供超过 200 种饮料选择,它使用 AWS 无服务器平台在 100 天内部署了一个低延迟的 Web 应用程序。
iRobot 是一家领先的全球消费型机器人公司,致力于使用无服务器架构构建新一代互联智能家居设备。
生命科学软件公司 Benchling 开发了一项技术,通过该技术,研究人员可以使用无服务器架构极其精确地修改基因组片段。
汤森路透(领先的商业信息服务提供商)使用 AWS Lambda 为其使用量分析服务每秒处理多达 4000 个事件,并花费了 5 个月的时间将其部署到生产环境中。
详细了解 AWS Lambda