本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 VPC 安全组
使用 Amazon EFS 时,需要为 EC2 实例指定 VPC 安全组,并为与文件系统关联的 EFS 挂载目标指定安全组。安全组将充当防火墙,您添加的规则将定义流量。在入门练习中,您在启动 EFS 实例时创建了一个安全组。然后,您将另一个安全组与 EFS 挂载目标相关联(即,您的默认 VPC 的默认安全组)。这种方法适用于入门练习。但对于生产系统,应设置具有用于 Amazon EFS 的最低权限的安全组。
您可以为您的 EFS 文件系统授予入站和出站访问权限。为此,您添加一些规则,以支持 EFS 实例使用网络文件系统(NFS)端口通过挂载目标连接到 EFS 文件系统。
-
每个挂载文件系统的 EC2 实例都必须有一个安全组,其规则应支持在 NFS 端口 2049 上对挂载目标进行出站访问。
-
EFS 挂载目标需要有一个安全组,其规则应支持从待挂载文件系统的每个 EC2 实例通过 NFS 端口 2049 进行入站访问。
下表显示了所需的特定安全组规则:
| 安全组 | 规则类型 | 协议 | 端口 | 源/目标 |
|---|---|---|---|---|
| EC2 实例 | 出站 | TCP | 2049 | 挂载目标安全组 |
| 挂载目标 | 入站 | TCP | 2049 | EC2 实例安全组 |
使用 Amazon EFS 的源端口
为了支持各种不同的 NFS 客户端,Amazon EFS 允许来自任何源端口的连接。如果您要求仅授权的用户可以访问 Amazon EFS,我们建议您使用以下客户端防火墙规则。使用 SSH 连接到文件系统并运行以下命令:
iptables -I OUTPUT 1 -m owner --uid-owner 1-4294967294 -m tcp -p tcp --dport 2049 -j DROP
该命令在 OUTPUT 链 (-I OUTPUT
1) 开头插入新的规则。该规则禁止任何未授权的非内核进程(-m owner --uid-owner
1-4294967294)打开到 NFS 端口 2049(-m tcp -p tcp –dport
2049)的连接。
网络访问的安全注意事项
只有在可以建立到文件系统的某个挂载目标的 NFS 端口(TCP 端口 2049)的网络连接时,NFS 版本 4.1(NFSv4.1)客户端才能挂载该文件系统。同样,只有在可以建立该网络连接时,NFSv4.1 客户端才能在访问文件系统时声明用户和组 ID。
能否使此网络连接由以下各因素共同决定:
-
由挂载目标的 VPC 提供的网络隔离 – 文件系统挂载目标不能具有关联的公有 IP 地址。可挂载文件系统的唯一目标包括:
-
本地 VPC 中的 Amazon EC2 实例
-
已连接 VPC 中的 EC2 实例
-
使用 Amazon Direct Connect 和 Amazon Virtual Private Network(VPN)连接到 Amazon VPC 的本地服务器
-
-
客户端和挂载目标的 VPC 子网的网络访问控制列表(ACL),用于从挂载目标的子网外部进行访问 - 要挂载文件系统,客户端必须能够建立到挂载目标的 NFS 端口 2049 的 TCP 连接并接收返回的流量。
-
客户端和挂载目标的 VPC 安全组的规则(用于所有访问) – 要使 EC2 实例能够挂载文件系统,以下安全组规则必须生效:
-
文件系统必须具有一个挂载目标,其网络接口具有的安全组的规则支持在 NFS 端口 2049 上具有来自实例的入站连接。您可以按 IP 地址(CIDR 范围)或安全组启用入站连接。挂载目标网络接口上的入站 NFS 端口的安全组规则来源是文件系统访问控制的关键要素。文件系统挂载目标的网络接口不使用 NFS 端口 2049 以外的入站规则以及任何出站规则。
-
挂载实例必须具有一个网络接口,其安全组规则支持建立到文件系统的某个挂载目标上的 NFS 端口 2049 的出站连接。您可以按 IP 地址(CIDR 范围)或安全组启用出站连接。
-
有关更多信息,请参阅 管理挂载目标。
创建安全组
为 EC2 实例和 EFS 挂载目标创建安全组
以下是为 Amazon EFS 创建安全组时要执行的一般步骤。有关创建安全组的说明,请参阅《Amazon VPC 用户指南》中的创建安全组。
-
对于 EC2 实例,请使用以下规则创建安全组:
-
入站规则,支持在端口 22 上使用 Secure Shell(SSH)从您的 IP 地址或网络进行入站访问。或者,限制源地址以提高安全性。
-
出站规则,支持通过 NFS 端口 2049 对挂载目标安全组进行出站访问。将挂载目标安全组识别为目标。
-
-
对于 EFS 挂载目标,请使用以下规则创建安全组:
-
入站规则,支持通过 NFS 端口 2049 从 EC2 安全组进行访问。将 EC2 安全组识别为源。
注意
您不需要添加出站规则,因为默认出站规则支持所有出站流量。
-