AWS Lambda 支持 Amazon EFS
亚马逊最近宣布,AWS Lambda 客户现在可以启用函数访问 Amazon Elastic File System (EFS)。这一支持使得 Lambda 函数能够在多次调用之间共享数据、读取大型参考数据文件,并将函数输出写入持久且共享的数据存储中。
背景与需求
此前,Lambda 函数只能访问 512 MB 的 /tmp
目录存储,这对于许多用例已经足够。然而,对于机器学习等需要处理大型模型(如 TensorFlow,通常为 GB 级别)的用例,Lambda 函数并不适用,因为 /tmp
目录无法容纳这些大型模型。此外,当 Lambda 函数需要处理大量数据并存储在 /tmp
目录中以方便访问时,也不适合使用。现在,客户可以通过 EFS 支持挂载文件系统,并提供本地路径以低延迟读写数据。
使用步骤
要使用 AWS Lambda 与 Amazon EFS,开发者需要以下步骤:
- 创建 EFS 文件系统:使用 EFS 控制台创建文件系统,并指定 Amazon Virtual Private Cloud (VPC),以便函数能够访问 EFS 挂载目标。
- 添加访问点:创建 EFS 访问点,这是一个特定于应用程序的入口点,包含操作系统用户和组、文件系统权限,并可以限制对文件系统中特定路径的访问。
- 配置 Lambda 函数:在 Lambda 控制台中指定相同的 VPC 连接、子网和安全组,然后在函数配置的“文件系统”部分添加文件系统。
性能与安全
使用 EFS 与 Lambda 函数时,开发者需要考虑 EFS 的性能和安全性:
- 性能:每个文件系统可以配置为使用突发模式或预置模式来优化吞吐量。
- 安全性:Lambda 函数执行环境和 EFS 挂载点使用行业标准的 TLS 1.2 加密传输中的数据。EFS 还支持在静态时加密数据,加密密钥由 AWS Key Management Service (KMS) 管理。
扩展与可用性
通过支持 EFS,亚马逊进一步扩展了 AWS 服务对 EFS 的访问。此前,EFS 仅允许 EC2 实例访问,后来也支持 EKS(Kubernetes)、ECS 和 Fargate(容器)。目前,AWS Lambda 对 EFS 的支持在所有 AWS Lambda 和 Amazon EFS 可用的区域(不包括中国区域)都可用,且使用 EFS 与 AWS Lambda 不会产生额外费用,客户只需支付 AWS Lambda 和 Amazon EFS 的标准费用。
专家观点
Pulumi 软件工程师兼 Microsoft Azure MVP Mikhail Shilkov 表示,AWS Lambda 的 EFS 集成为函数提供了大容量持久磁盘,并可以在不同计算单元之间共享,这为数据密集型场景打开了新的可能性。
总结
AWS Lambda 对 Amazon EFS 的支持为开发者提供了更灵活的数据存储和共享方案,特别是在处理大型数据和机器学习模型时。通过简单的配置和强大的性能与安全特性,这一功能进一步增强了 AWS 服务的适用性和扩展性。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。