Amazon EFS

可以从多个 EC2 实例和 Lambda 函数同时访问的全托管 NFS 文件系统服务

概述

Amazon Elastic File System(EFS)是支持 NFS(NFSv4.1 和 NFSv4.0)的全托管文件存储服务。可以从多个 EC2 实例、Lambda 函数和 ECS 任务同时挂载并访问,存储容量会随着文件的添加 / 删除自动扩缩。无需容量规划和预置,会自动扩展到 PB 级规模。提供 Standard、Infrequent Access(IA)和 Archive 存储类别。可以通过生命周期管理和 EFS Intelligent-Tiering 根据访问频率在类别之间迁移文件。Regional 文件系统将数据冗余存储在区域内的多个可用区中。

与 EBS 的选用和共享存储的设计

EFS 和 EBS 都可以用作 EC2 实例的存储,但用途明显不同。EBS 是块存储,以独占方式挂载到 1 个 EC2 实例上(io1 和 io2 的 Multi-Attach 除外)。它用于数据库、OS 根卷等需要从单个实例高速访问的场景。另一方面,EFS 是文件存储,可以从数千个 EC2 实例同时挂载。它用于共享配置文件、Web 内容的分发源、机器学习的训练数据集等需要从多个实例同时访问的场景。EFS 支持 NFS 版本 4(NFSv4.1 和 NFSv4.0),不支持在 Windows 的 EC2 实例上使用(用户指南)。作为面向 Windows 客户端的文件存储,有 FSx for Windows File Server。

性能模式与吞吐量设计

EFS 的性能通过性能模式和吞吐量模式 2 个维度来控制。性能模式有通用模式(默认)和最大 I/O 模式(上一代的方式)2 种。根据用户指南,最大 I/O 模式每次操作的延迟高于通用模式,不能用于 Elastic 吞吐量和 One Zone 文件系统,AWS 推荐所有文件系统都使用通用模式。吞吐量模式有 Elastic 吞吐量、预置吞吐量和突增吞吐量 3 种(截至 2026 年 10 月)。Elastic 吞吐量会根据访问模式自动调整吞吐量,无需管理突增积分。根据定价页面,预置吞吐量对超出 Standard 存储使用量所含基准吞吐量而指定的部分,按月平均计费(截至 2026 年 10 月)。

生命周期管理与无服务器集成

启用 EFS 的生命周期管理后,会将一段时间内未被访问的文件自动迁移到低频访问(IA)或 Archive 存储类别。如果启用 Intelligent-Tiering,迁移到 IA 或 Archive 的文件再次被访问时会返回 Standard 类别。迁移之前的天数通过迁移策略设置(用户指南中的默认值为迁移到 IA 30 天、迁移到 Archive 90 天)。也支持从 Lambda 和 Fargate 挂载,可以作为无服务器架构中的共享存储加以利用。在 Lambda 中使用 EFS 时,需要将 Lambda 函数部署在 VPC 内。从 ECS 任务挂载时,在任务定义中指定 EFS 卷,在容器之间共享文件。

参考资料(AWS 官方)

本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。

如本页内容与官方文档不一致,请以官方文档为准。

分享