在大型企业应用、多实例共享文件系统、跨可用区扩展架构中,Amazon EFS(Elastic File System)已成为 AWS 平台最重要的企业级存储服务之一。它支持弹性扩容、跨区域访问、POSIX 权限控制,并与 EC2、EKS、Lambda、SageMaker 等服务深度集成,是构建高可用共享文件系统的最佳方案。
为了帮助你高效部署 Amazon EFS,本教程将从 原理、架构设计、安全权限、跨可用区挂载、企业级优化与成本控制 等方面进行全流程讲解,并结合最佳实践给出完整示例。

一、什么是 Amazon EFS?为什么适合企业使用?
Amazon EFS 是 AWS 提供的弹性网络文件系统,支持多 EC2、容器、Fargate 实例同时挂载同一共享目录,用于解决:
- 多实例共享文件
- 多 AZ 的持久化存储需求
- Web 服务或 SaaS 系统的用户上传文件目录
- 日志、分析、模型文件的共享存储
- AI 推理系统的数据共享
- 跨区域灾备与复制需求
相比 EBS、S3 等存储服务,EFS 的优势包括:
| 存储类型 | 功能定位 | 优势 |
|---|---|---|
| EBS | 单实例块存储 | 高 IOPS,本地磁盘级性能 |
| S3 | 对象存储 | 成本低、跨区域分发、海量数据 |
| EFS | 共享文件系统 | POSIX 权限、多实例挂载、自动扩容、跨 AZ |
如果你想对 AWS 各类存储做深度对比,可参考外链:
AWS 官方 EFS 文档:https://docs.aws.amazon.com/efs/
二、Amazon EFS 架构设计与网络规划(VPC / 子网 / 安全组)
EFS 属于网络级共享存储,因此部署前必须完成网络规划:
1. VPC 与子网规划
企业级建议:
- 创建至少 2 个 AZ 的子网 用于 EFS
- 挂载点(Mount Target)必须在每个 AZ 创建
- 使用私网访问(推荐)
示例:
VPC 10.0.0.0/16
Private Subnet A: 10.0.1.0/24
Private Subnet B: 10.0.2.0/24
如果你的 VPC 尚未规划,可参考:
📌 AWS VPC 深度规划 → https://www.91-cloud.com/blog/2025/11/20/aws-vpc-cross-region-guide/
三、创建 EFS 文件系统(Web 控制台方式)
步骤非常清晰,适合初学者:
1. 进入 AWS EFS 控制台 → Create file system
选择 VPC、AZ、子网
2. 创建 Mount Targets
每个 AZ 创建 1 个挂载点(最重要)
3. 选择存储模式
- Regional(默认):跨 AZ 高可用
- One Zone:成本更低,但不跨 AZ(不推荐企业使用)
4. 性能模式选择
- General Purpose(默认)
- Max I/O(大规模并发,适用于 AI、日志集群)
5. Lifecycle 管理
建议开启自动转低频存储(节省 40% 成本)
四、EC2 实例挂载 Amazon EFS(NFS 方式)
1. 安装 NFS 工具
sudo yum install -y amazon-efs-utils
2. 创建本地挂载目录
sudo mkdir /mnt/efs
3. 执行挂载命令
sudo mount -t efs fs-12345678:/ /mnt/efs
4. 验证挂载是否成功
df -h | grep efs
多个 EC2 实例执行该挂载后,即可 共享同一目录。
五、EFS 权限管理(POSIX 用户、组与目录权限)
Amazon EFS 支持完整的 Linux 权限模型,因此企业必须注意:
1. POSIX 权限规则
用户 / 组 / 其它
r = 读取
w = 写入
x = 执行(进入目录必需)
示例:
sudo chown ec2-user:ec2-user /mnt/efs
sudo chmod 755 /mnt/efs
2. EFS Access Points(企业级最佳实践)
Access Points 用于解决:
- 多团队隔离访问
- 多业务共享同一 EFS
- Docker / Kubernetes Pod 独立目录
- 自动设置权限与 owner
示例场景:
| 场景 | 解决的问题 |
|---|---|
| Web 服务用户上传 | 每个实例挂载相同路径 |
| AI 模型共享 | 多训练任务共享模型目录 |
| EKS Pod 存储 | 使用 CSI 自动挂载 + Access Point |
外链补充:
AWS Access Points 文档:https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html
六、EKS / ECS / Lambda 中使用 EFS(企业级容器场景)
企业容器化中,EFS 作用更明显:
1. 在 EKS 中使用 EFS(需 EFS CSI Driver)
kubectl apply -f https://github.com/kubernetes-sigs/aws-efs-csi-driver
创建 Storage Class:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: efs-sc
provisioner: efs.csi.aws.com
七、EFS 性能优化与成本降低策略(关键)
EFS 默认成本较高(比 S3 高),但可以通过以下方式降低 30–60% 成本:
✔ 1. 开启 Lifecycle Management(强烈推荐)
将冷数据移动到 IA(Infrequent Access)
✔ 2. 合理选择性能模式
General Purpose > 性价比;
Max I/O > 大规模并发使用
✔ 3. 在容器内使用 Access Point 而不是 root 挂载
提高安全性并减少权限错误导致的成本浪费
✔ 4. 多账户多环境预算控制
你可参考:
“AWS 多账户成本控制与预算管理:2025 企业级成本优化实战指南
https://www.91-cloud.com/blog/2025/11/14/aws-multi-account-cost-control”
八、总结
Amazon EFS 是企业在 AWS 上构建共享文件系统的核心组件。通过本教程你可以掌握:
- 基础架构规划(VPC / AZ / 子网)
- EFS 文件系统创建与挂载
- POSIX 权限 + Access Point
- EC2 / EKS / ECS / Lambda 中的使用方式
- 成本优化(Lifecycle、性能模式等)
如果你计划进一步优化 AWS 架构、EKS 容器化或多云部署,也可以参考更多内容:

