ubuntu - EFS 挂载失败并出现 mount.nfs4:服务器拒绝访问
问题描述
尝试挂载 EFS 文件系统。我唯一更改的是删除使用 EFS 组创建的默认 SG,并将其替换为我的 EC2 实例已经在其中的自定义 SG。
AWS 提供了挂载 NFS 共享的必要命令,它应该逐字运行。通常它确实如此。但有时你会得到这个:
mount.nfs4: access denied by server while mounting fs-xxxxxxxx.efs.us-west-2.amazonaws.com:/
可悲的是,故障排除文档在“采取的行动”标题下说:
如果您尝试使用 IAM 挂载文件系统...
...并且对于您不尝试使用 IAM 安装 FS 的操作建议绝对为零。
现在首先,我很确定我没有做错什么,因为我已经使用了数十次将 EFS (NFS) 共享安装到 EC2 实例的剧本,它们现在已经相当完善了。那么为什么有时会失败呢?
解决方案
事实证明,AWS 并不总是像通常感觉的那样流畅,有时后端的事情会变得很糟糕。在这种情况下,替换 SG 可能实际上在 UI 中似乎可以工作,但在后端没有生效。我只是猜测。
我所做的只是删除现有的 EFS 并创建完全相同的 EFS。这次我唯一不同的是在创建 EFS 时设置了我的自定义 EFS SG,而不是在创建和 viola 之后替换它,我的剧本又可以工作了。
绝对没有我能想到的直观(或记录)原因,为什么从非默认 SG 开始应该与替换它有什么不同,当它完全相同的 SG 时。无论哪种情况,您都在设置 EFS 以使用您选择的 SG,并且 EFS 不反对。此外,我以前做过,没有任何问题。因此,我将其归结为 EFS/SG 后端搞砸了,浪费了大量时间进行故障排除。
总之,如果一个新的EFS 共享mount.nfs4: access denied by server
在尝试标准挂载时给您错误(并且您知道您正在正确地执行其他所有操作) - 只需将其删除并重新创建它即可。不一定要假设您做错了什么,并且 AWS 服务不会时不时地搞砸。
推荐阅读
- swift - 如何在具有委托的 iOS 本机模块中管理 React Native 的承诺?
- javascript - 不使用浏览器执行 html/javascript
- python - Python 选择不适用于多个客户端
- python - 在 LSTM 中处理极长的时间步长序列(NLP 多标签分类)
- python - tf.scan 在迭代 3d 张量时显示错误
- c++ - 我们什么时候应该在 C++ 中使用 std::?
- c# - 如何获取 C# 程序集的调用目录?
- javascript - 我在哪里可以找到 WebSocket.Server.on 方法的文档?
- python - 如何重用使用 subplot(num= ... ) 创建的图形和轴
- php - pecl 在 big sur m1 mac 上安装 yaml