我正在按照this教程在AWS EC2实例上安装efs,但是在Iam执行mount命令时

sudo mount -t nfs4 -o vers=4.1 $(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).[EFS-ID].efs.[region].amazonaws.com:/ efs

每次连接超时。
mount.nfs4: Connection timed out

这可能是什么问题?

提前致谢!

最佳答案

我发现此处接受的答案是不正确且不安全的,并且上述Bao的答案非常接近-除非您不需要EC2(挂载目标)安全组上的NFS入站。您只需要将一个安全组分配给您的EC2(即使没有规则),以便您的EFS安全组可以被限制为该安全组...您知道,为了安全!这是我发现有效的方法:

  • 为您的EC2实例创建一个新的安全组。将其命名为EFS Target,并将所有规则留空
  • 为EFS挂载创建一个新的安全组。将其命名为EFS Mount,然后在其中添加NFS的inbound规则。将此规则的SOURCE设置为您在上面创建的EFS Target安全组。这将EFS限制为只能连接到分配了EFS Mount安全组的EC2实例(请参见下文)。如果您不必担心,可以从“源”下拉列表中选择“任何”,它的工作原理相同,而无需增加安全性
  • 转到EC2控制台,然后将EFS Target组添加到您的EC2实例,假设您要添加额外的安全性
  • 转到EFS控制台,选择EFS并选择管理文件系统访问
  • 对于每个EFS挂载目标(可用区域),您需要添加EFS Mount安全组并删除VPC Default组(如果尚未安装)
  • AWS文档中的mount命令现在应该可以使用

  • 我不喜欢他们在EC2作为挂载目标方面如何混合使用本地语言,但是EFS对于每个可用性区域都有单独的挂载目标。使他们的文档非常困惑,但是按照上述步骤操作,使我可以在Ubuntu服务器上安全地安装EFS。

    关于amazon-web-services - 安装时aws efs连接超时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38632222/

    10-12 04:23