我正在按照这教程在AWS EC2实例上挂载efs,但是当Iam执行挂载命令时
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这里可能有什么问题?
提前感谢!
发布于 2017-05-11 22:40:38
我发现这里接受的答案是不正确和不安全的,而包上面的答案非常接近--只是您不需要EC2 (挂载目标)安全组中的NFS入站。您只需要为您的EC2分配一个安全组(即使没有规则),这样您的EFS安全组就可以仅限于该安全组.为了安全起见!下面是我发现的工作:
EFS Target,并保留所有规则为空EFS Mount,并在本例中为NFS添加inbound规则。将此规则的源设置为上面创建的EFS Target安全组。这限制了EFS只能连接到分配了EC2安全组的EFS Mount实例(参见下面)。如果您不担心这一点,您可以从Source下拉列表中选择"Any“,它将同样工作,而不需要额外的安全级别EFS Target组添加到您的EC2实例中,假设您要添加额外的安全性EFS Mount安全组并删除VPC默认组(如果还没有)
我不喜欢他们在这里混合本地语言,因为EC2是一个挂载目标,但是EFS对于每个可用区域都有单独的挂载目标。这使得他们的文档非常混乱,但是按照上面的步骤,我可以安全地在Ubuntu服务器上挂载EFS。
发布于 2016-08-07 06:40:02
将带有NFS和端口2049的类型添加到运行EC2实例和EFS的安全组的入站。对我来说很管用。
包
发布于 2019-07-22 07:40:25
这里有一个不同的答案,因为我面临着一个非常相似的错误,没有一个答案是合适的。
我试图像下面这样挂载NFS (在我的示例中,EKS是代表我这样做的,但我在worker节点中手动测试了相同的命令,结果相同):
[root@host ~]# mount -t nfs fs-abc1234.efs.us-east-1.amazonaws.com:/persistentvolumes /mnt/test产出为:mount.nfs: Connection timed out
当我只是尝试使用相同的命令,但使用/作为路径时:
[root@host ~]# mount -t nfs fs-abc1234.efs.us-east-1.amazonaws.com:/ /mnt/test就像一种魅力!
我真的不明白一个可能的错误路径或丢失路径如何会导致time out类型的错误,但这是唯一能解决问题的东西,所有的网络配置都保持不变。
当我使用EKS/Kubernetes时,我使用挂载/来工作,然后使用subPath更改容器配置中的卷挂载点。
https://stackoverflow.com/questions/38632222
复制相似问题