在大型企业应用、多实例共享文件系统、跨可用区扩展架构中,Amazon EFS(Elastic File System)已成为 AWS 平台最重要的企业级存储服务之一。它支持弹性扩容、跨区域访问、POSIX 权限控制,并与 EC2、EKS、Lambda、SageMaker 等服务深度集成,是构建高可用共享文件系统的最佳方案。

为了帮助你高效部署 Amazon EFS,本教程将从 原理、架构设计、安全权限、跨可用区挂载、企业级优化与成本控制 等方面进行全流程讲解,并结合最佳实践给出完整示例。

该封面图展示 Amazon EFS 文件系统及权限管理主题,用于 2025 深度部署指南。

一、什么是 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/16Private Subnet A: 10.0.1.0/24Private 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/efssudo 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: StorageClassapiVersion: storage.k8s.io/v1metadata:name: efs-scprovisioner: 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 容器化或多云部署,也可以参考更多内容:

AWS Route53 多区域负载均衡

AWS VPC 跨区域互通

企业级多账户成本控制