如何实施 AWS EFS 在 EC2 之间共享文件系统?

如果您在多服务器应用程序环境中工作,您需要在多个服务器之间共享文件系统,那么您必须设置 NFS(网络文件系统)。

NFS 允许您在多台服务器上共享文件系统,但实施需要一些管理技能。

在传统的基础架构环境中,您可能需要涉及多个团队,并且创建 NFS 需要时间。 但是,如果您使用的是 AWS,则可以使用他们的 EFS(弹性文件系统)服务在几分钟内完成。

AWS EFS 允许您创建可在 EC2 上使用的可扩展文件存储。 您不必担心容量预测,因为它可以按需扩展或缩减。

从 AWS 页面中获取了一个快速说明,让您了解它的工作原理。

EFS 的一些优点是:

  • 完全由 AWS 管理。
  • 成本低,用多少就买多少。
  • 高可用性和耐用性
  • 自动放大或缩小。
  • 可扩展的性能

我有两个 EC2 Ubuntu 实例正在运行,在本教程中,我将创建一个 EFS,然后将它安装在两台 EC2 服务器上。

让我们开始吧。

  • 登录 AWS 控制台
  • 转到服务并选择存储下的 EFS (直接链接)
  • 单击“创建文件系统”。

  • AWS 将自动在可用区中分配一个 IP 地址。 如果需要更改,可以在下一个屏幕上进行。

  • 如果需要,请添加标签并在通用或最大 I/O 之间选择性能模式

  • 检查配置,如果一切正常,请单击“创建文件系统”。

这可能需要几秒钟,一旦完成,您将收到一条成功消息。

成功!

您已经创建了一个文件系统。 您可以从安装了 NFSv4.1 客户端的 EC2 实例挂载文件系统。 您还可以通过 AWS Direct Connect 连接从本地服务器挂载文件系统。

您将能够在列表中看到新创建的弹性文件系统。

至此,您已创建 EFS 并准备好挂载到 EC2 实例上。

在 EC2 上挂载 EFS

在挂载之前,您需要安装 NFS 客户端。 如果您展开列表并单击“Amazon EC2 挂载说明”,您将获得详细信息。

但让我们看看情况如何。

  • 登录到两个 EC2 实例并安装 NFS 客户端。 我有 Ubuntu,所以我将使用以下内容。
apt-get install nfs-common
  • 让我们创建一个要挂载 EFS 的文件夹。
  如何从 Google Home Hub 显示屏更改智能灯泡的颜色

例如:/应用程序

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 的更多信息吗? 看看这个 Udemy课程.

喜欢阅读这篇文章吗? 与世界分享如何?