自动挂载您的 Amazon EFS 文件系统 - Amazon Elastic File System
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

自动挂载您的 Amazon EFS 文件系统

您可以通过两种方式,将 Amazon EC2 实例配置为当 EFS 文件系统重新启动时自动挂载该文件系统:

  • 在使用启动实例向导创建新的 EC2 实例时。

  • 使用 EFS文件系统条目更新 EC2 的 /etc/fstab 文件。

这两种方法都使用 EFS 挂载帮助程序来挂载文件系统。挂载帮助程序是 amazon-efs-utils 工具集的一部分。

这些 amazon-efs-utils 工具可用于在 Amazon Linux 和 Amazon Linux 2 Amazon 系统映像 (AMI) 上安装。有关 amazon-efs-utils 的更多信息,请参阅 使用 amazon-efs-utils 工具。如果您正在使用其他 Linux 发行版,例如 Red Hat Enterprise Linux (RHEL),请手动构建并安装 amazon-efs-utils。有关更多信息,请参阅在其他 Linux 发行版上安装 amazon-efs-utils 软件包

配置 EC2 实例以在实例启动时装载 EFS 文件系统

使用 EC2 启动实例向导创建新的 Amazon EC2 Linux 实例时,可以将该实例配置为自动挂载您的 Amazon EFS 文件系统。EC2 实例会在第一次启动时自动挂载文件系统,并且在重新启动时也会自动挂载文件系统。

在执行此过程之前,请确保您已创建 Amazon EFS 文件系统。有关更多信息,请参阅 Amazon EFS 入门练习中的步骤 1:创建您的 Amazon EFS 文件系统

注意

您不能将 Amazon EFS 与基于 Microsoft Windows 的 Amazon EC2 实例结合使用。

在启动并连接到 Amazon EC2 实例之前,如果您还没有密钥对,则需要创建一个密钥对。按照 Amazon EC2 用户指南(适用于 Linux 实例) 中的使用 Amazon EC2 进行设置中的步骤创建密钥对。如果您已有一个密钥对,则可在此练习中使用该密钥对。

将 EC2 实例配置为在启动时自动挂载 EFS 文件系统

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 选择 Launch Instance

  3. 步骤 1:选择一个Amazon 系统映像 (AMI) 中,在列表顶部找到一个 Amazon Linux AMI,然后选择选择

  4. 步骤 2:选择一个实例类型中,选择下一步:配置实例详细信息

  5. Step 3: Configure Instance Details (步骤 3:配置实例详细信息) 中,请提供以下信息:

    • 对于 Network (网络),为您装载的 EFS 文件系统所在的同一 VPC 选择条目。

    • 对于 Subnet (子网),在任何可用区中选择一个默认子网。

    • 对于 File system (文件系统),选择要装载的 EFS 文件系统。文件系统 ID 旁边显示的路径是 EC2 实例将使用的装载点,您可以更改此装载点。

    • Advanced Details (高级详细信息) 下,将自动生成 User data (用户数据),并包括挂载您在 File systems (文件系统) 下指定的 EFS 文件系统所需的命令。

  6. 选择 Next: Add Storage

  7. 选择 Next: Add Tags

  8. 命名您的实例,然后选择下一步:配置安全组

  9. Step 6: Configure Security Group (步骤 6:配置安全组) 中,将 Assign a security group (分配安全组) 设置为 Select an existing security group (选择现有安全组)。选择默认安全组以确保它能够访问您的 EFS 文件系统。

    您不能使用该安全组通过安全外壳 (SSH) 访问您的 EC2 实例。对于通过 SSH 进行访问,您稍后可以编辑默认安全性并添加一个允许 SSH 的规则/新安全组。您可以使用以下设置:

    • Type:SSH

    • Protocol:TCP

    • Port Range:22

    • Source:Anywhere 0.0.0.0/0

  10. 选择 Review and Launch

  11. 选择 Launch

  12. 选中您创建的密钥对的复选框,然后选择启动实例

您的 EC2 实例现已配置为在启动或重新启动时装载 EFS 文件系统。

使用 /etc/fstab 自动挂载

要在 Amazon EC2 实例重新启动时自动重新挂载 Amazon EFS 文件系统目录,请使用 /etc/fstab 文件。/etc/fstab 文件包含有关文件系统的信息。命令 mount -a 会在实例启动期间运行,用于挂载 /etc/fstab 中列出的文件系统。此过程使用 EFS 挂载帮助程序来挂载文件系统,并且必须安装在 EC2 实例上。

挂载帮助程序是 amazon-efs-utils 工具集的一部分,可用于在 Amazon Linux 和 Amazon Linux 2 Amazon 系统映像 (AMI) 上安装。有关在 Amazon Linux 或 Amazon Linux 2 AMI 上安装 amazon-efs-utils 的更多信息,请参阅在 Amazon Linux 上安装 amazon-efs-utils 软件包。如果您正在使用其他 Linux 发行版,例如 Red Hat Enterprise Linux (RHEL),请手动构建并安装 amazon-efs-utils。有关更多信息,请参阅在其他 Linux 发行版上安装 amazon-efs-utils 软件包

注意

确保您已创建 Amazon EFS 文件系统,然后才能更新 EC2 实例的 /etc/fstab 文件。有关更多信息,请参阅 Amazon EFS 入门练习中的步骤 1:创建您的 Amazon EFS 文件系统

更新 EC2 实例中的 /etc/fstab 文件

  1. 连接到 EC2 实例:

    • 要从运行 macOS 或 Linux 的计算机连接到您的实例,请为 SSH 命令指定 .pem 文件。要执行该操作,请使用 -i 选项和私有密钥路径。

    • 要从运行 Windows 的计算机连接到您的实例,可以使用 MindTerm 或 PuTTY。要使用 PuTTY,您需要安装它并将 .pem 文件转换为 .ppk 文件。

    有关更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的以下主题:

  2. 在编辑器中打开 /etc/fstab 文件。

  3. 使用 IAM 授权或 EFS 访问点,自动挂载您的 EFS 文件系统:

    • 要使用 IAM 授权自动挂载到具有实例配置文件的 Amazon EC2 实例,请将以下行添加 /etc/fstab 文件中。

      file-system-id:/ efs-mount-point efs _netdev,tls,iam 0 0
    • 要使用凭证文件通过 IAM 授权自动挂载到 Linux 实例,请将以下行添加到 /etc/fstab 文件中。

      file-system-id:/ efs-mount-point efs _netdev,tls,iam,awsprofile=namedprofile 0 0
    • 要使用 EFS 访问点自动挂载文件系统,请将以下行添加到 /etc/fstab 文件中。

      file-system-id efs-mount-point efs _netdev,tls,accesspoint=access-point-id 0 0
    警告

    请在自动挂载文件系统时使用 _netdev 选项,它用于指定网络文件系统。如果缺少 _netdev,您的 EC2 实例可能会停止响应。出现该结果是因为,需要在计算实例启动其网络后初始化网络文件系统。有关更多信息,请参阅 自动挂载失败,并且实例没有响应

    有关更多信息,请参阅 使用 IAM 授权挂载使用 EFS 访问点进行挂载

  4. 保存对文件所做的更改。

  5. 通过将带 'fake' 选项的 mount 命令与 'all''verbose' 选项结合使用来测试 fstab 条目。

    $ sudo mount -fav home/ec2-user/efs : successfully mounted

您的 EC2 实例现已配置为每次重启时都挂载 EFS 文件系统。

注意

在某些情况下,无论挂载的 Amazon EFS 文件系统的状态如何,都可能需要启动您的 Amazon EC2 实例。在这些情况下,将 nofail 选项添加到 /etc/fstab 文件中的文件系统条目中。

您添加到 /etc/fstab 文件的代码行将执行以下操作。

字段 描述

file-system-id:/

您的 Amazon EFS 文件系统的 ID。您可以从控制台中获取该 ID,也可以从 CLI 或 AWS 开发工具包中以编程方式获取该 ID。

efs-mount-point

EFS 文件系统在 EC2 实例上的挂载点。

efs

文件系统的类型。在使用挂载帮助程序时,该类型始终为 efs

mount options

文件系统的挂载选项。这是一个逗号分隔列表,包含以下选项:

  • _netdev – 该选项向操作系统指示文件系统位于需要网络访问的设备上。该选项禁止实例挂载文件系统,直到在客户端上启用了网络。

  • tls – 启用传输中数据加密。

  • iam – 使用此选项可以使用 IAM 授权挂载到具有实例配置文件的 Amazon EC2。使用 iam 挂载选项还需要使用 tls 选项。有关更多信息,请参阅使用 IAM 控制 NFS 对 Amazon EFS 的访问

  • awsprofile=namedprofile – 将此选项与 iamtls 选项结合使用,以使用凭证文件通过 IAM 授权挂载到 Linux 实例。有关 EFS 访问点的更多信息,请参阅使用 IAM 控制 NFS 对 Amazon EFS 的访问

  • accesspoint=access-point-id – 将此选项与 tls 选项结合使用以通过 EFS 访问点进行挂载。有关 EFS 访问点的更多信息,请参阅使用 Amazon EFS 访问点

0

非零值表示应由 dump 备份文件系统。对于 EFS,该值应为 0

0

fsck 在启动时检查文件系统的顺序。对于 EFS 文件系统,该值应为 0,表示 fsck 不应在启动时运行。