通俗易懂的 理解EFS 的挂载目标和接入点
想象你在一个大型图书馆里
整个 EFS 文件系统 = 一座巨大的图书馆
- 里面有成千上万本书(文件)
- 书架分门别类(目录结构)
1. 挂载目标(Mount Target) = 图书馆的【大门】
比喻解释:
- 挂载目标就是图书馆的入口大门
- 一个图书馆可以有多个大门(多个挂载目标)
- 每个大门开在不同的位置(不同的子网)
- 功能:告诉EC2实例"从哪个门进入图书馆"
技术细节:
yaml
# 挂载目标的配置就像:
大门位置:
- 东门: 子网-A (10.0.1.0/24) # 办公区的人从这里进
- 西门: 子网-B (10.0.2.0/24) # 研发区的人从这里进
# EC2实例看到的:
$ mount -t nfs 10.0.1.100:/ /mnt/efs
# ↑ 告诉EC2:从IP 10.0.1.100这个门进去
特点:
- 网络层面的东西(在哪个子网、用哪个IP)
- 一个EFS可以有多个挂载目标(多扇门)
- 不同可用区需要不同挂载目标
- 安全控制:通过安全组控制谁能进这个门
2. 接入点(Access Point) = 图书馆的【专用通道+访问规则】
比喻解释:
- 接入点就是VIP通道+借阅规则
- 从同一个大门进去,但走不同通道看到的内容不一样
- 功能:控制"进去后能看到什么、能做什么"
具体例子:
yaml
# 同一个图书馆,不同人看到的版本不同:
接入点1: 普通读者通道
- 只能进入: /public/ 区域
- 进去后根目录显示: /public/
- 只能读,不能写
- 用户身份: anonymous(匿名)
接入点2: 管理员通道
- 可以进入: 整个图书馆
- 进去后根目录显示: /
- 读写权限都有
- 用户身份: uid=1000, gid=1000
接入点3: 财务部专用通道
- 只能进入: /finance/ 区域
- 进去后根目录显示: /finance/
- 只能财务部员工进(特定IAM角色)
- 自动设置文件属主为财务部
特点:
- 访问控制层面的东西(权限、根目录映射)
- 基于IAM认证(谁可以走这个通道)
- 强制目录限制(进去后只能看到指定目录)
- 自动设置文件属主(创建的文件自动属于特定用户)
3. 两者的区别(对比表格)
| 方面 | 挂载目标(Mount Target) | 接入点(Access Point) |
|---|---|---|
| 比喻 | 图书馆的大门 | 大门里的专用通道+规则 |
| 作用 | 网络连接 | 访问控制 |
| 数量 | 每个可用区1个 | 每个EFS可创建多个 |
| 配置内容 | IP地址、子网、安全组 | 根目录、IAM策略、文件属主 |
| 认证方式 | 网络层面(安全组) | IAM身份认证 |
| 使用场景 | "从哪条路连到EFS" | "进去后能看到什么、能做什么" |
4. 实际使用例子
场景:公司文件共享系统
bash
# 情况1:传统方式(只用挂载目标)
$ mount -t nfs fs-123456.efs.us-east-1.amazonaws.com:/ /mnt/shared
# 所有用户看到完全一样的文件系统
# 需要自己在里面设置权限,很混乱
# 情况2:现代方式(使用接入点)
# 财务部门:
$ mount -t nfs -o accesspoint=fsap-12345678 \
fs-123456.efs.us-east-1.amazonaws.com:/ /mnt/finance
# ↑ 只能看到/finance目录,文件自动属于财务用户
# 研发部门:
$ mount -t nfs -o accesspoint=fsap-87654321 \
fs-123456.efs.us-east-1.amazonaws.com:/ /mnt/dev
# ↑ 只能看到/dev目录,文件自动属于研发用户
5. 工作原理流程图
┌─────────────────────────────────────────────┐
│ 你的EC2实例 │
└───────────────────┬─────────────────────────┘
│ 1. 连接请求
▼
┌─────────────────────────────────────────────┐
│ 挂载目标(大门) │
│ - IP: 10.0.1.100 │
│ - 在子网A中 │
│ - 安全组控制谁能进 │
└───────────────────┬─────────────────────────┘
│ 2. 进入大门后
▼
┌─────────────────────────────────────────────┐
│ 接入点(专用通道) │
│ - 根目录映射: / → /department/finance │
│ - IAM策略: 只允许财务角色访问 │
│ - 文件属主: uid=1001, gid=1001 │
└───────────────────┬─────────────────────────┘
│ 3. 最终看到
▼
┌─────────────────────────────────────────────┐
│ EFS文件系统的特定视图 │
│ - 只能看到/finance目录 │
│ - 创建的文件自动属于财务部 │
└─────────────────────────────────────────────┘
6. 一句话总结
挂载目标解决"怎么走到EFS"(网络连接问题),接入点解决"进去后能干什么"(权限控制问题)。
更简单的理解:
- 挂载目标 = 快递收货地址(告诉快递员送到哪里)
- 接入点 = 快递柜取件码(控制谁能打开哪个柜子)
这样,同一个地址(挂载目标)可以有多个快递柜(接入点),每个柜子只有特定的人(IAM角色)用特定取件码(接入点ID)才能打开,而且每个柜子里放的东西(目录)都不一样!