Amazon Elastic File System (EFS) 创建网络文件系统

在这个 10 分钟的教程中,您将使用 Amazon EFS 把文件存储在云中。您将执行以下操作:创建一个 Amazon EFS 文件系统、在 Amazon EC2 上启动一个 Linux 虚拟机、挂载文件系统、创建文件、终止实例和删除文件系统。

在本教程中完成的所有操作均符合免费套餐条件。

管理 AWS 资源

登录控制台

您可以从 Amazon EFS 控制台轻松创建一个高度可用且可扩展的网络文件系统。


a. 当您单击此处时,AWS 管理控制台将在新的浏览器窗口中打开,因此您可以将本教程保持打开状态。当此屏幕加载后,请输入您的用户名和密码以便开始操作。找到存储下的 EFS,然后单击打开 EFS 控制台。

00-console

(单击以缩放)

00-console

b. 在 Amazon EFS 控制台中,单击 Create file system

01-create-file-system

(单击以缩放)

01-create-file-system

c. 如果未在 VPC 下拉字段中选择默认 VPC,请选择下拉箭头,然后选择默认 VPC。接受步骤 1:配置文件系统访问权限中的所有默认值,然后单击下一步

02-create-file-system-step-1a

(单击以缩放)

02-create-file-system-step-1a

d. 接受 Step 2: Configure optional settings 中的所有默认值,然后单击下一步

03-create-file-system-step-2

(单击以缩放)

03-create-file-system-step-2

e. 接受步骤 3:审核和创建中的所有默认值,然后单击 Create File System

04-create-file-system-step-3

(单击以缩放)

04-create-file-system-step-3

要访问文件系统,您需要将文件系统挂载在基于 Linux 的 Amazon EC2 实例上。在此步骤中,您将创建和配置一个 Amazon EC2 实例。


a. 单击此处打开 Amazon EC2 控制台,然后单击启动实例以创建和配置虚拟机。

05-launch-instance

(单击以缩放)

05-launch-instance

b. 借助 Amazon EC2,您可以指定要使用的软件以及实例规格。在此屏幕上,您会看到一些用于选择 Amazon 系统映像 (AMI) 的选项,该映像是包含软件配置 (如操作系统、应用程序服务器和应用程序) 的模板。 

您可以从 AMI 启动实例,它是在云中作为虚拟服务器运行的 AMI 的副本。

在本教程中,请找到 Amazon Linux AMI,然后单击选择

06-select-ami

(单击以缩放)

06-select-ami

c. 现在您将选择实例类型。实例类型包含各种 CPU、内存、存储和网络容量,以便您为应用程序选择适当的搭配。有关更多信息,请参阅 Amazon EC2 实例类型

系统应已选中 t2.micro 默认选项。此实例类型涵盖在免费套餐中,并提供足够的计算容量以处理简单的工作负载。单击页面底部的 Review and Launch

07-review-and-launch

(单击以缩放)

07-review-and-launch

d. 您可以查看已为实例选择的配置、存储、标记和安全设置。虽然您可以自定义这些设置,但在此教程中,我们建议您接受默认值。

单击页面底部的启动

08-launch-instance-end

(单击以缩放)

08-launch-instance-end

e. 在下一个屏幕上,系统会要求您选择现有密钥对或创建新的密钥对。密钥对用于登录您的实例 (就像您的房门钥匙是用来开门一样)。

选择选择现有密钥对,然后选择所需密钥对,或者选择创建新密钥对,并将其命名为 MyKeyPair。然后单击下载密钥对按钮。请务必将密钥对保存到计算机上的安全位置。

Windows 用户:我们建议您将密钥对保存在“user”目录中名为“.ssh”的子目录下(例如 C:\user\{您的用户名}\.ssh\MyKeyPair.pem)。

注意:您无法使用 Windows 资源管理器创建名称以句点开头的文件夹,除非该文件夹的名称也以句点结束。输入名称 (.ssh.) 后,最后的句点会自动删除。

Mac/Linux 用户:建议您将密钥对保存在主目录中的 .ssh 子目录下 (例如 ~/.ssh/MyKeyPair.pem)。

注意:如果您忘记 SSH 私有密钥 (您正在下载的文件) 的存储位置,则无法连接虚拟机。

存储密钥对之后,单击启动实例以启动您的 Linux 实例。

注意:启动实例需要几分钟的时间。

09-create-keypair-launch

(单击以缩放)

09-create-keypair-launch

f. 在下一个屏幕上单击查看实例,查看您的实例以及您刚刚启动的实例的状态。

10-view-instance

(单击以缩放)

10-view-instance

g. 记下 AWS 实例的公有 IP 地址,您在步骤 4 的 c 部分需要用该 IP 地址来连接该实例。

注意:如果您的实例仍在启动中,那么公有 IP 地址可能还没有显示。“实例状态”列将显示您的实例是否已开始运行,“状态检查”列则会告知您实例是否通过了 2 次检查,以确保完成预置。您可以按表格右上角的刷新按钮以刷新这些值。

11-ip-address

(单击以缩放)

11-ip-address

h. 授予实例通过网络访问文件系统的权限。选择实例后,选择操作 > 联网 > 更改安全组

12-change-security-groups-animated

(单击以缩放)

12-change-security-groups-animated

i. 选中默认 VPC 安全组对应的复选框,然后单击分配安全组

注意:您应选中两个安全组:launch-wizard-1 安全组和默认 VPC 安全组。

13-assign-security-groups

(单击以缩放)

13-assign-security-groups

启动 Amazon EC2 实例后,就该建立连接了。

Windows 用户:选择下方的“Windows”,查看安装 Git Bash 的相关说明。

Mac/Linux 用户:选择下方的“Mac / Linux”,查看打开终端窗口的相关说明。

  • Windows

    a. 从此处下载适用于 Windows 的 Git。运行已下载的安装程序,接受默认设置(这将在安装 Git 的过程中安装 Git Bash)。

    Getting-Started-VM1

    (单击以缩放)

    Getting-Started-VM1

    b. 右键单击桌面(而非图标或文件)并选择 Git Bash Here,以打开 Git Bash 命令提示符。

    Getting-Started-VM2

    (单击以缩放)

    Getting-Started-VM2
  • Mac / Linux

    默认情况下,您的 Mac 或 Linux 计算机最可能安装有 SSH 客户端。您可以通过在命令行键入 ssh 来检查 SSH 客户端。如果您的计算机无法识别该命令,您可以下载 OpenSSH 项目免费提供的一整套 SSH 工具的实现文件。

    a. Mac 用户:要打开终端窗口,请按 Command + Space 并在搜索窗口中键入 terminal。然后,按 Enter 即可打开终端窗口。

    Linux 用户:打开终端窗口。

    Getting-Started-CLI-OSX1

    (单击以缩放)

    Getting-Started-CLI-OSX1

    b. 使用 chmod 命令来确保您的私有密钥文件不是公开可见的,具体方法是输入 chmod 400 ~/.ssh/mykeypair.pem 命令来限制对您的私有 SSH 密钥的权限。

    注意:您不需要在每次连接实例时都执行上述操作,只需针对拥有的每个 SSH 密钥设置一次即可。

    Getting-Started-VM3

    (单击以缩放)

    Getting-Started-VM3

c. 使用 SSH 连接到实例。在本例中,用户名为 ec2-user,SSH 密钥存储在我们在步骤 2 的 d 部分将其保存到的目录中,IP 地址来自步骤 2 的 f 部分。格式为 ssh -i {您的 .pem 文件的完整路径} ec2-user@{实例 IP 地址}

Windows 用户:输入 ssh -i 'c:\Users\您的用户名\.ssh\MyKeyPair.pem' ec2-user@{IP 地址}(例如,ssh -i 'c:\Users\adamglic\.ssh\MyKeyPair.pem' ec2-user@52.27.212.125

Mac/Linux 用户:输入 ssh -i ~/.ssh/MyKeyPair.pem ec2-user@{IP 地址}(例如 ssh -i ~/.ssh/MyKeyPair.pem ec2-user@52.27.212.125)

注意:如果您启动的 Linux 实例不是 Amazon Linux,可能是使用了其他用户名。常见用户名包括 ec2-userrootubuntu 以及 fedora。如果您不确定登录用户名是什么,请咨询 AMI 提供商。

您会看到与以下内容相似的响应:

无法确定主机“ec2-198-51-100-1.compute-1.amazonaws.com (10.254.142.33)”的真实性。RSA 密钥指纹是 1f:51:ae:28:df:63:e9:d8:cf:38:5d:87:2d:7b:b8:ca:9f:f5:b1:6f。您确定要继续连接吗 (yes/no)?

键入 yes 并按 Enter

Getting-Started-VM4

(单击以缩放)

Getting-Started-VM4

您会看到与以下内容相似的响应:

警告:已将“ec2-198-51-100-1.compute-1.amazonaws.com”(RSA) 永久添加到已知主机列表中。

然后,您会看到实例的欢迎屏幕,表示您现在已连接到云中的 AWS Linux 虚拟机。

Getting-Started-VM7

(单击以缩放)

Getting-Started-VM7

要访问您的文件系统,您需要使用标准 Linux 挂载命令和文件系统的 DNS 名称挂载文件系统。挂载完成后,您就可以像使用本地文件系统一样,使用您的文件系统中的文件和目录。Amazon EFS 使用 NFSv4.1 协议。


a. 单击此处打开 Amazon EFS 控制台,然后选择您的文件系统旁边的单选按钮以显示详细信息。


b. 选择 Amazon EC2 mount instructions 链接。

17-mount-instructions

(单击以缩放)

17-mount-instructions

c. 您可以从 Amazon EC2 mount instructions 窗口通读 Setting up your EC2 instance 部分。本部分演示了在 EC2 实例上安装 nfs 客户端的步骤。您启动的 EC2 实例上已经安装了 nfs 客户端,因此您可以移动到下一步。

17.5-mount-instructions

(单击以缩放)

17.5-mount-instructions

d. 复制 sudo mkdir efs 命令,在实例上创建一个新目录。

18-mount-instructions-mkdir

(单击以缩放)

18-mount-instructions-mkdir

e. 将 sudo mkdir efs 命令粘贴在 SSH 窗口中并运行。

19-ssh-mkdir-efs

(单击以缩放)

19-ssh-mkdir-efs

f. 返回 Amazon EC2 mount instructions 窗口。将您的文件系统作为新目录进行挂载。

复制整个 sudo mount –t nfs4… 命令。

单击窗口底部的关闭

20-mount-instructions-mount

(单击以缩放)

20-mount-instructions-mount

g. 将整个 sudo mount –t nfs4… 命令粘贴在 SSH 窗口中并运行。

21-ssh-mount

(单击以缩放)

21-ssh-mount

h. 运行以下命令,以验证您是否已经成功挂载文件系统:

df -h 

22-ssh-df-h

(单击以缩放)

22-ssh-df-h

i. 运行简单的 dd 命令,在新文件系统中创建一个测试文件,以在新目录中生成 1GiB 的文件。在 SSH 窗口中运行以下 dd 命令:

sudo dd if=/dev/zero of=~/efs/1GiB bs=1M count=1024 status=progress

您可以从 AWS 管理控制台轻松终止虚拟机和文件系统。事实上,最好终止不再使用的资源,以免继续为其付费。


a. 首先,终止 Amazon EC2 实例。单击此处打开 Amazon EC2 控制台,选中您创建的实例旁边的框。然后单击操作按钮,导航至实例状态并单击终止

系统会提示您确认终止 – 选择是,请终止

注意:完成此过程可能需要几秒钟时间。终止实例后,EC2 控制台上的“实例状态”会变为“已终止”。

23-terminate-instance-animated

(单击以缩放)

23-terminate-instance-animated

b. 现在,您将从 Amazon EFS 控制台删除文件系统。单击此处打开 Amazon EC2 控制台,选中您创建的文件系统旁边的单选按钮。单击操作按钮,然后单击 Delete file system

在文本框中键入文件系统 ID,以确认要删除的文件系统。单击 Delete File System

24-delete-file-system-animated

(单击以缩放)

24-delete-file-system-animated

恭喜您!您已经在云中创建了您的第一个网络文件系统。Amazon EFS 是一个简单、可扩展的共享文件系统,可在您添加和删除文件时自动增大和缩小,并且您只需为使用的存储空间付费。

现在,您已经了解了如何从管理控制台使用 Amazon EFS 来创建网络文件系统。接下来,请观看 AWS 在线技术讲座,以更深入地了解 Amazon EFS。观看“Deep Dive on Amazon EFS”>>