亚马逊AWS官方博客
AWS Lambda 现在支持高达 10 GB 的短暂存储空间
无服务器应用程序由事件驱动,使用的是临时计算函数,涵盖从 Web API、移动后端和串流分析到机器学习(ML)和高性能应用程序中的数据处理阶段。虽然 AWS Lambda 为您的代码提供了 512 MB 的临时文件系统 (/tmp
),但这是一种临时 Scratch 资源,不适用于持久存储,例如Amazon Elastic File System (Amazon EFS)。
但是,提取、转换和负载 (ETL) 任务和内容生成工作流(如创建 PDF 文件或媒体转码)需要快速、可扩展的本地存储来快速处理大量数据。数据密集型应用程序需要大量特定于调用的临时数据或缓存的数据,这些数据可以在同一执行环境中以高性能的方式重复用于所有调用。由于之前的限制为 512 MB,客户不得不有选择地从Amazon Simple Storage Service(Amazon S3)和 Amazon EFS 负载数据,或者增加分配的函数内存,从而增加成本,只是为了处理从 Amazon S3 下载的大型对象。由于客户无法在 Lambda 执行环境中本地缓存较大的数据,因此每个函数调用都必须并行读取数据,这使得客户难以进行横向扩展。
今天,我们宣布,AWS Lambda 现在允许您将短暂存储 (/tmp
) 配置在 512 MB 到 10,240 MB 之间。您现在可以控制函数用于读取或写入数据的短暂存储量,这使得您可以将 AWS Lambda 用于 ETL 任务、机器学习(ML)推理或其他数据密集型工作负载。
通过增加的 AWS Lambda 短暂存储,您可以访问高达 10 GB 的安全、低延迟的临时文件系统。您可以继续免费使用最多 512 MB 的空间,并按您在调用期间配置的超过免费限制的存储量收费。
为您的 Lambda 函数设置更大的短暂存储
要使用更大的短暂存储配置您的 Lambda 函数,请选择 AWS Lambda 控制台中常规配置部分下的配置选项卡。默认情况下,您将看到短暂存储设置的新配置为 512MB。
当您单击编辑按钮时,您可以为您的 Lambda 函数配置从 512 MB 到 10,240 MB 的短暂存储,增量为 1 MB。
借助 AWS Command Line Interface (AWS CLI),您可以使用 update-function-configuration
命令更新所需的短暂存储大小。
$ aws lambda update-function-configuration --function-name PDFGenerator \
--ephemeral-storage '{"Size": 10240}'
您可以通过 AWS SDK 和 AWS CloudFormation 使用 Lambda API 配置短暂存储。如需了解更多信息,请参阅 AWS 文档中的配置函数选项。
作为回顾,AWS Lambda 提供了一系列全面的存储选项。如需了解更多信息,请参阅我的同事 James Beswick 撰写的精彩博客文章:在 Web 应用程序中的 AWS Lambda 数据存储选项之间进行选择。我想引用表格来说明这些选项和常见用例之间的差异,以帮助您为自己的应用程序选择合适的选项。
功能 | 短暂存储 (/tmp) | Lambda 层 | Amazon EFS | Amazon S3 |
最大尺寸 | 10,240 MB | 50 MB(直接上载) | 弹性 | 弹性 |
持久性 | 短暂的 | 耐用 | 耐用 | 耐用 |
内容 | 动态 | 静态 | 动态 | 动态 |
存储类型 | 文件系统 | 归档 | 文件系统 | 对象 |
Lambda 事件源集成 | 不适用 | 不适用 | 不适用 | 本机 |
支持的操作 | 任何文件系统操作 | 不可改变 | 任何文件系统操作 | 使用版本控制的原子操作 |
对象标记和元数据 |
N | N | N | Y |
定价模型 | 包含在 Lambda 中 (超过 512MB 收费) |
包含在 Lambda 中 | 存储 + 数据传输 + 吞吐量 | 存储 + 请求 + 数据传输 |
在所有调用中共享 | N | Y | Y | Y |
共享/权限模型 | 仅限函数 | IAM | IAM + NFS | IAM |
AWS Glue 和Amazon QuickSight 源 |
N | N | N | Y |
来自 Lambda 的相关数据访问速度 | 最快 | 最快 | 非常快 | 快 |
现已推出
您现在可以在 AWS Lambda 可用的所有区域中为每个 Lambda 函数实例配置最多 10 GB 的短暂存储。借助 10 GB 容器映像支持、 10 GB 函数内存以及现在具有 10 GB 的临时函数存储空间,您可以支持使用大型时态文件、数据和媒体处理、机器学习推理和财务分析等工作负载。
还可以通过许多 AWS Lambda 合作伙伴获得支持,例如 Datadog、HashiCorp (Terraform)、Lumigo、Thundra、Slalom 和 Contino。
对于此功能,您需要为函数调用期间配置的超过 512 MB 免费限制的存储付费。如需了解更多信息,请访问 AWS Lambda 产品和定价页面,并通过适用于 AWS Lambda 的 AWS re:Post 或您平时的 AWS Support 联系人发送反馈。
– Channy
更新。如需了解常见使用案例并部署示例应用程序以调整 Lambda 临时存储中视频文件的大小,请访问 AWS Compute 博客中的为 AWS Lambda 使用更大的短暂存储。