我敢打赌这是一个权限问题,但我无法弄清楚。
概述
因此,我根据亚马逊的说明设置了一个EC2虚拟机实例。VM 实例在 IP 18.212.some.thing 上运行(不是真的,但你明白了(。
我已经设置了一个存储网关(使用默认设置(。存储网关连接到名为"tobetest"的文件共享 S3 存储桶(比方说,但不是真的(。文件共享(据说(公开为 IP:172.32.other.thing
失败
现在,AWS 上的说明只是告诉我在 Windows 中使用挂载命令挂载文件共享:mount -o nolock 172.32.other.thing:/tobetest [WindowsDriveLetter]:
但每次我这样做时,我都会收到一个错误Network Error - 53: The network path was not found.
安全设置
因此,起初我通过将允许的客户端设置为仅我的 IP 来限制对文件共享的访问:178.21.goo.get/32。我还通过为其分配一个安全组来限制对 VM 实例的访问,该安全组仅允许入站端口 2049(根据 AWS 控制台中的设置编辑器,NFS 端口(到我的 IP。
当这不起作用时,我尝试更新安全组(对于 VM(以允许端口 2049 上的入站为 0.0.0.0/0。我还尝试更改文件共享设置以允许客户端从 0.0.0.0/0。
它仍然不起作用,我仍然收到网络错误53。
其他尝试
为了好玩,我试图做一个SMB共享,但我也没有运气。我将其设置为来宾帐户,然后当我尝试net use
它时,出现错误:"当前没有可用于处理登录请求的登录服务器">
我放弃了SMB,因为这不是我们想要使用的。
结论?
那么有没有人知道为什么找不到 NFS 共享?我能想到的所有安全设置都没有限制任何访问。
如果我使用 18.212.some.thing IP,我可以 SSH 连接到存储网关,但我不知道我是否可以以某种方式从那里验证文件共享?验证它是否确实被提供,还是什么?
好的,AWS文档中的说明似乎缺少一些需要允许才能使NFS工作的端口。他们的"NFS"入站规则模板仅打开端口 2049,但我必须创建其他自定义 TCP 规则以允许传入端口 111 和 20048。之后它工作了!
不幸的是,AWS 文档省略了很多内容,我发现最好将 EC2 实例与文件网关构建分开构建,因为这允许您选择 AWS 存储网关 AMI(我只是选择了最新的(。构建 EC2 实例后,您可以将公有 IP 地址传递给网关构建。如上所述,这将是 18.212.etc,但当网关完成时,它会在详细信息和示例中将 IP 显示为私有 EC2 IP 地址。忽略这一点并替换示例中的 EC2 公有 IP 地址以使其正常工作。 构建 EC2 后,您需要创建并链接一个 IAM 角色,该角色授予实例对您的 S3 存储桶的访问权限,以使共享正常工作。 我使用 SMB 以来宾身份连接我的 W10 PC,效果很好。