如何实现AWS EFS在EC2之间共享文件系统()

如果你在多服务器应用程序环境中工作, 需要在多台服务器之间共享文件系统, 则必须设置NFS(网络文件系统)。
NFS使你可以在多台服务器上共享文件系统, 但是实现需要一些管理技能。
在传统的基础架构环境中, 你可能必须涉及多个团队, 并且需要花费一些时间来创建NFS。但是, 如果你使用的是AWS, 则可以通过其EFS(弹性文件系统)服务在几分钟内完成。
AWS EFS使你可以创建可伸缩文件存储以在EC2上使用。你不必担心容量预测, 因为它可以按需扩大或缩小。
快速图表让你了解其工作原理。

如何实现AWS EFS在EC2之间共享文件系统()

文章图片
AWS很棒。如果你是新手, 并且对学习感兴趣, 我会推荐A Cloud Guru提供的出色在线课程。
EFS的一些优点是:
  • 由AWS完全管理
  • 成本低廉, 用所用
  • 高可用性和耐用性
  • 自动放大或缩小
  • 可扩展的性能
我正在运行两个EC2 Ubuntu实例, 在本教程中, 我将创建一个EFS, 然后将其安装在两台EC2服务器上。
让我们开始吧。
  • 登录到AWS控制台
  • 转到服务, 然后在存储(直接链接)下选择EFS。
  • 点击” 创建文件系统” 。
如何实现AWS EFS在EC2之间共享文件系统()

文章图片
  • AWS会在可用区中自动分配一个IP地址。如果需要更改, 可以在下一个屏幕上进行更改。
如何实现AWS EFS在EC2之间共享文件系统()

文章图片
  • 如果需要, 请添加标签, 然后在” 通用” 或” 最大I / O” 之间选择性能模式
如何实现AWS EFS在EC2之间共享文件系统()

文章图片
  • 查看配置, 如果一切正常, 然后单击” 创建文件系统” 。
可能要花几秒钟, 然后完成;你将收到一条成功消息。
成功!你已经创建了文件系统。你可以从安装了NFSv4.1客户端的EC2实例挂载文件系统。你还可以通过AWS Direct Connect连接从本地服务器挂载文件系统。单击此处获取EC2安装说明, 并单击此处获取本地安装说明。
你将能够在列表中看到新创建的弹性文件系统。
如何实现AWS EFS在EC2之间共享文件系统()

文章图片
到此, 你已经创建了EFS, 并准备将其安装在EC2实例上。
在EC2上安装EFS 挂载之前, 需要安装nfs客户端。如果你展开列表并单击” Amazon EC2安装说明” , 则将获取详细信息。
如何实现AWS EFS在EC2之间共享文件系统()

文章图片
但是, 让我们看看它如何进行。
  • 登录到两个EC2实例并安装nfs客户端。我正在使用Ubuntu, 因此我将使用以下内容
apt-get install nfs-common

  • 让我们创建一个要在其中装载EFS的文件夹。
例如:/ apps
cd / mkdir apps

使用说明中给出的命令挂载文件系统。
例如:
mount -t nfs4 -o nfsvers=4.1, rsize=1048576, wsize=1048576, hard, timeo=600, retrans=2 fs-4fd14a06.efs.us-east-1.amazonaws.com:/ apps

注意:如果在安装过程中遇到任何问题, 请参阅此疑难解答指南, 并且不要忘记检查安全组以确保以下事项。
  • EC2实例入站规则中允许使用NFS端口(2049)
  • EFS安全组中允许EC2安全组
这将花费几秒钟, 如果执行df -h命令, 你会注意到/ apps已挂载
[email  protected]:/# df -h | grep apps fs-4fd14a06.efs.us-east-1.amazonaws.com:/  8.0E     0  8.0E   0% /apps [email  protected]:/#

现在, 你必须登录到要使用此/ apps的另一台服务器, 然后重复创建文件夹并挂载EFS。
为了进行验证, 我将EFS安装在另一台服务器上, 可以看到在两台服务器上都可以访问/ apps。
[email  protected]:/apps# df -h | grep apps fs-4fd14a06.efs.us-east-1.amazonaws.com:/  8.0E     0  8.0E   0% /apps [email  protected]:/apps#

这很简单, 不是吗?
【如何实现AWS EFS在EC2之间共享文件系统()】我尝试创建几个文件, 总体性能看起来不错。 AWS EFS看起来很有希望, 如果你需要跨EC2实例共享文件系统, 请尝试一下, 我相信你会喜欢的。

    推荐阅读