概览
AWS Lambda 是一项无服务器计算服务,让您无需预置或管理服务器即可运行代码。创建工作负载感知型集群扩展逻辑,维护事件集成,并轻松管理运行时。借助 Lambda,您几乎可以为任何类型的应用程序或后端服务运行代码,而且完全无需管理,且仅需按您的使用量付费。我们将根据您函数的请求数量和执行代码所花费的持续时间向您收费。
Lambda 在每次为了响应事件通知触发器从 Amazon Simple Notification Service (SNS) 或 Amazon EventBridge 等服务、或调用、Amazon API Gateway 等服务或通过 AWS 开发工具包(包括来自 AWS 控制台的测试调用)开始执行请求时将计算一次请求。
持续时间从您的代码开始执行时算起直到其返回或以其他方式终止为止,舍入到最近的 1 ms*。价格取决于您为函数分配的内存量。在 AWS Lambda 资源模型中,您可以选择用于函数的内存量,这会分配等比例的 CPU 计算能力和其他资源。内存大小的增加会导致函数可用的 CPU 的等效增加。要了解详情,请参阅函数配置文档。
您可以在基于 x86 或 Arm 架构构建的处理器上运行 Lambda 函数。在 Graviton2 上运行的 AWS Lambda 函数,使用由 AWS 设计、基于 Arm 的处理器架构,与在 x86 处理器上运行的函数相比,性价比提升最高可达 34%。这可用于多种不同的无服务器工作负载,例如 Web 和移动后端、数据,以及媒体处理。
* 持续时间收费适用于在函数的处理程序中运行的代码以及在处理程序外部声明的初始化代码。对于使用 AWS Lambda 扩展的 Lambda 函数,持续时间还包括为了完成在关闭阶段的执行而最后一次运行扩展中的代码所用的时间。 对于使用 SnapStart 配置的 Lambda 函数,持续时间还包括加载运行时系统所需的时间、在运行时钩子中运行的任何代码,以及在为恢复能力而创建的快照副本的创建期间执行的初始化代码。有关更多详细信息,请参阅 Lambda 编程模型文档。
AWS Lambda 免费套餐包括每月 100 万次免费请求和 400000 GB 秒的计算时间,可用于由 x86、Graviton2 处理器或两者整合提供支持的函数。 此外,免费套餐包括每月 100GiB 的 HTTP 响应流,不包括每个请求的前 6MB(免费)。Lambda 还为超过某些每月使用阈值的按需持续时间,提供分层定价选项。AWS Lambda 参加了 Compute Savings Plans,后者是一种灵活的定价模式,它以较低的 Amazon Elastic Compute Cloud (Amazon EC2)、AWS Fargate 和 Lambda 使用价格,换取在一年或三年期限内的稳定使用量承诺(以美元/小时为单位衡量)。通过 Compute Savings Plans,您最多可节省 17% 的 AWS Lambda 成本。Savings 适用于持续时间和预置并发。 了解更多 »
AWS 定价计算器
在单次估计中计算您的 AWS Lambda 和架构成本。
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 美元/月
预配置并发定价
为 Lambda 函数启用预置并发,使您能够更好地控制无服务器应用程序的性能。启用后,预置并发将使函数保持初始化状态,并准备好在两位数毫秒内进行响应。您需要为配置的并发量以及配置所用的时间付费。为您的函数启用预置并发并执行它时,您还需要根据以下价格为请求和持续时间付费。如果函数超过配置的并发量,则您需要按照上面 AWS Lambda 定价部分中列出的费率为多余的函数执行支付费用。您可以为在 x86 和 Arm 架构上运行的函数启用预置并发。有关预置并发的更多信息,请阅读文档。
预置并发从在函数上启用它时开始算起直至将其禁用,舍入到最近的 5 分钟。价格取决于您为函数分配的内存量以及在其上面配置的并发量。持续时间从您的代码开始执行时算起直到其返回或以其他方式终止为止,舍入到最近的 1ms**。价格取决于您为函数分配的内存量。
** 持续时间收费适用于在函数的处理程序中运行的代码以及在处理程序外部声明的初始化代码。对于使用 AWS Lambda 扩展程序的 Lambda 函数,持续时间还包括为了完成在关闭阶段期间的执行而最后一次运行扩展程序所用的时间。对于使用预置并发配置的函数,AWS Lambda 会定期循环执行环境并重新运行初始化代码。有关更多详细信息,请参阅 Lambda 编程模型文档。
Lambda 免费套餐不适用于启用预置并发的函数。如果已为函数启用预配置并发并执行它,则您需要根据以下价格为请求和持续时间付费。
以下所有示例均基于美国东部(弗吉尼亚北部)的价格。
-
示例 1:移动应用程序启动
假您是一名移动应用程序开发人员,正在构建食品订购移动应用程序。客户可以使用该应用程序从特定的餐厅点餐、接收订单状态更新,并在订单准备好时取餐。因为您预计您的应用程序需求会根据一天中的时间和餐厅位置有很大的变化,所以您使用无服务器服务构建移动后端,包括 AWS Lambda。假您是一名移动应用程序开发人员,正在构建食品订购移动应用程序。客户可以使用该应用程序从特定的餐厅点餐、接收订单状态更新,并在订单准备好时取餐。因为您预计您的应用程序需求会根据一天中的时间和餐厅位置有很大的变化,所以您使用无服务器服务构建移动后端,包括 AWS Lambda。为简单起见,我们假设您的应用程序每月处理 300 万个请求。函数
平均执行持续时间为 120 ms。您在基于 x86 的处理器上为您的函数配置了 1536MB 的内存。您在发布新版本的移动应用程序,您已经对它进行了大量营销。您预计发布当天(从中午到晚上 8 点)需求会出现高峰。您希望您的移动应用程序即使在需求快速扩展和缩减也能响应,因此您在 Lambda 函数上启用了预置并发。您将预置并发设置为 100。
在这八小时期间,您的函数收到 500000 个请求。启用预置并发时
函数平均执行持续时间为 100 ms。在该月剩下的时间里,您的应用程序将收到额外的 250 万个请求,而您的函数将在未启用预置并发的情况下响应这些请求。费用将按以下方式计算:
预置并发费用:
预置并发价格为每 GB-s 0.0000041667 USD
预置并发启用的总时长(秒):8 小时 * 3600 秒 = 28800 秒
配置的总并发 (GB):100 * 1536MB/1024MB = 150 GB
总预置并发量 (GB-s) = 150 GB * 28800 秒 =4320000 GB-s
预置并发费用:432 万 GB-s * 0.0000041667 USD = 18 USD请求费用:
月度请求价格为每 100 万个请求 0.20 USD,免费套餐每月提供 100 万个请求。
总请求数量 – 免费套餐请求数量 = 月度计费请求数量
300 万个请求 – 100 万个免费套餐请求 = 200 万个月度计费请求
月度请求费用 = 2 * 0.20 USD = 0.40 USD预置并发启用时的计算费用:
计算价格为每 GB-s 0.0000097222 USD
总计算持续时间(秒)= 500000 * 100ms = 50000 秒
总计算 (GB-s) = 50000 秒 * 1536MB / 1024MB = 75000 GB-s。
总计算费用 = 75000 GB-s * 0.0000097222 USD = 0.73 USD
预置并发禁用时的计算费用:
月度计算价格为每 GB-s 0.0000166667 USD,免费套餐提供 400000 GB-s。
总计算(秒)= 250 万 * 120ms = 300000 秒
总计算 (GB-s) = 300000 * 1536 MB / 1024 MB = 450000 GB-s
总计算 – 免费套餐计算 = 月度计费计算 GB- s
450000 GB-s – 400000 免费套餐 GB-s = 50000 GB-s
月度计算费用 = 50000 * 0.0000166667 USD = 0.83 USD
月度总费用:
总费用 = 预置并发费用 + 请求费用 + 启用预置并发时的计算费用 + 禁用预置并发时的计算费用
总费用 = 18 USD + 0.40 USD + 0.73 USD + 0.83 USD = 19.96 USD
-
示例 2:在 Cyber Monday(网络星期一)期间将客户路由到最相关的支持解决方案内容
假设您是一个在 Cyber Monday(网络星期一)进行大减价的零售商,“网络星期一”是美国的一个电子商务节日,在感恩节后的周一举行。您的客户可以通过您提供的移动应用程序与客户支持实时聊天。您决定部署自然语言处理 (NLP) 模型。假设您是一个在 Cyber Monday(网络星期一)进行大减价的零售商,“网络星期一”是美国的一个电子商务节日,在感恩节后的周一举行。您的客户可以通过您提供的移动应用程序与客户支持实时聊天。您决定部署自然语言处理 (NLP) 模型。在本例中,您将使用 AWS Lambda 中热门的基于转换器的双向编码器表示形式 (BERT) 模型。该模型帮助您解析、分析和理解通过移动应用程序进行的客户服务交互,以显示相关的支持内容或将客户路由到适当的客户服务代理。在这次销售期间,您将收到比平时多得多的客户支持咨询,因此您决定在 Lambda 函数上启用预置并发,以使您的应用程序即使在遇到流量峰值时也能快速响应。
假设您的函数在启用了预置并发的情况下在此次 24 小时的销售活动内收到 200 万个请求。函数平均执行持续时间为 280 ms。您在基于 x86 的处理器上为您的函数配置了 4096MB 的内存,并将预置并发设置为 7。
费用将按以下方式计算:
预置并发费用:
预置并发价格为每 GB-s 0.0000041667 USD。
预置并发启用的总时长(秒)= 24 小时 * 3600 秒 = 86400 秒
配置的总并发 (GB):7 * 4096 MB / 1024 MB = 28 GB
总预置并发量 (GB-s) = 28 GB * 86400 秒 = 2419200 GB-s
预置并发费用 = 2419200 GB-s * 0.0000041667 USD = 10.08 USD预置并发启用时的计算费用:
计算价格为 0.0000097222 USD/GB-s。
总计算持续时间(秒)= 2000000 * 280ms = 560000 秒
总计算 (GB-s) = 560000 秒 * 4096 MB / 1024 MB = 2240000 GB-s。
月度计算费用 = 2240000 GB-s * 0.0000097222 USD = 21.78 USD月度请求费用:
月度请求价格为每 100 万个请求 0.20 USD。
月度请求费用 = 2M * 0.2 USD/M = 0.40 USD月度总费用:
总费用 = 预置并发费用 + 启用预置并发时的计算费用 + 请求费用 = 10.08 USD + 21.78 USD + 0.40 USD = 32.26 USD
Lambda HTTP 响应流定价
以下所有示例均基于美国东部(弗吉尼亚州北部)的价格。
-
定价示例:流服务器端渲染的 Web 内容
假设您是一名 Web 应用程序开发人员,正在构建一个在 Lambda 函数中进行服务器端渲染的网站。您的 Lambda 函数根据请求和多个下游服务调用的结果动态生成 HTML 内容。其中一些呼叫可能需要很长时间才能返回响应。为了优化用户的页面加载体验,您可以使用 Lambda 的 HTTP 响应流功能,在函数生成 HTML 后立即在浏览器中呈现第一个 HTML 块,从而提高首字节时间性能。
为简单起见,我们假设您的应用程序每月处理 300 万个请求。我们还假设您已经用完 AWS Free Tier 中包含的 100 GB 响应流。平均函数持续时间为 500 毫秒。您在基于 x86 的处理器上为您的函数配置了 1536MB 的内存。对于每月前 200 万个请求,每个请求的平均有效负载大小为 100 KB,每月最后一百万个请求的平均有效负载大小为 7 MB。示例计算假设 1 GB = 1,024 MB。
费用将按以下方式计算:
月度计算费用
月度计算价格为每 GB-s 0.0000166667 美元,免费套餐提供 40 万 GB-s。
总计算时间(秒)= 300 万 * 500ms = 1,500,000 秒
总计算量 (GB-s) = 1,500,000 * 1536MB/1024 MB = 2,250,000 GB-s
总计算 – 免费套餐计算 = 月度计费计算 GB-s
2,250,000 GB-s – 400000 免费套餐 GB-s = 1,850,000 GB-s
月度计算费用 = 1,850,000 * 0.0000166667 美元 = 30.83 美元月度请求费用
月度请求价格为每 100 万个请求 0.20 美元,免费套餐每月提供 100 万个请求。
总请求数量 – 免费套餐请求数量 = 月度计费请求数量
300 万请求 – 100 万免费套餐请求 = 200 万月度计费请求
月度请求费用 = 2M * 0.2 USD/M = 0.40 USD已处理的字节费用
流式传输的每月字节价格为流式传输每 GB 0.008 美元,免费套餐提供每月 100 GB。每个请求流式传输的前 6 MB 也是免费的。
免费流式传输的字节数 (GB) = 200 万个请求 * 100 KB = 190.7 GB
由于 100 KB < 6 MB(对于每个请求),因此流式传输的 190.7 GB 是免费的。
付费流式传输的字节数 (GB) = 100 万个请求 * (7 MB - 6 MB) = 976.56 GB
每月流式传输的字节费用 = 976.56 GB * 0.008 USD = 7.81 USD月度总费用:
总费用 = 计算费用 + 请求费用 + 字节流式传输费用 = 30.83 USD+ 0.40 USD + 7.81 USD = 39.04 USD/月
数据传输和其他费用
数据传输
从函数执行区域外“转入”和“转出”AWS Lambda 函数的数据,将按照“数据传输”下列出的 Amazon EC2 数据传输速率收费。
在同一个 AWS 区域内,在以下服务之间使用 AWS Lambda 函数进行数据传输是免费的:Amazon Simple Storage Service (S3)、Amazon Glacier、Amazon DynamoDB、Amazon Simple Email Service (SES)、Amazon Simple Queue Service (SQS)、Amazon Kinesis、Amazon Elastic Container Registry (ECR)、Amazon Simple Notification Service (SNS)、Amazon Elastic File System (EFS) 和 Amazon SimpleDB。
结合使用 Amazon Virtual Private Cloud (VPC) 或 VPC 对等连接与 AWS Lambda 函数将产生额外的费用,如 Amazon Elastic Compute Cloud (EC2) 按需定价页面上所述。VPC 对等连接是两个 VPC 之间的网络连接,通过此连接,您可以使用私有 IPv4 地址或 IPv6 地址在这两个 VPC 之间路由流量。
有关 AWS 服务定价的详情,请参阅相关 AWS 服务详情页面的定价部分。
Lambda@Edge 定价
Lambda@Edge 函数的最小计费时间单位为 1ms
-
定价示例:
如果您的 Lambda@Edge 函数在一个月内执行了 1000 万次,每次运行 10ms,则您的费用计算如下:如果您的 Lambda@Edge 函数在一个月内执行了 1000 万次,每次运行 10ms,则您的费用计算如下:月度计算费用
月度计算价格为每 128MB-秒 0.00000625125 USD
总计算(秒)= 10M * (0.01s) = 100000 秒
月度计算费用 = 100000 * 0.00000625125 USD = 0.63 USD
月度请求费用月度请求价格为每 100 万个请求 0.60 USD。
月度请求费用 = 10M * 0.6 USD/M = 6.00 USD
月度总费用
总费用 = 计算费用 + 请求费用 = 0.63 USD + 6.00 USD = 6.63 USD/月