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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

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

注意

亚马逊 EFS 文件系统不支持在运行 macOS Big Sur 的 Amazon EC2 Mac 实例上自动挂载。

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

此方法使用 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 客户端

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

注意

Amazon EFS 文件系统不支持在实例启动时在运行 macOS Big Sur 的 Amazon EC2 Mac 实例上挂载。

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

注意

你不能将 Amazon EFS 与基于微软 Windows 的 Amazon EC2 实例配合使用。

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

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

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 选择 Launch Instance(启动实例)

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

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

  5. In步骤 3: 配置实例详细信息,请提供以下信息:

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

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

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

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

  6. 选择 Next:。添加存储.

  7. 选择 Next:。添加标签.

  8. 为您的实例命名,然后选择后续:配置安全组.

  9. In步骤 6:配置安全组,设置分配安全组选择现有安全组. 选择默认安全组以确保它能够访问您的 EFS 文件系统。

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

    • 类型:SSH

    • 协议:TCP

    • 端口范围:22

    • 源:任何地方 0.0/0

  10. 选择 Review and Launch

  11. 选择启动

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

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

使用 /etc/fstab 自动挂载

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

注意

Amazon EFS 文件系统不支持使用自动挂载/etc/fstab在运行 macOS Big Sur 的Amazon EC2 Mac 实例上。

使用自动挂载 EFS/etc/fstab使用 EFS 挂载助手

此方法使用 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 客户端

注意

在更新/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,noresvport,tls,iam 0 0
    • 要使用凭证文件通过 IAM 授权自动挂载到 Linux 实例,请将以下行添加到/etc/fstab文件。

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

      file-system-id efs-mount-point efs _netdev,noresvport,tls,accesspoint=access-point-id 0 0
    • 要自动挂载文件系统,请将以下行添加到/etc/fstab文件。

      "$file_system_id.efs.aws-region.amazonaws.com:/ $ SSHmount_point nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0"

      或者您可以使用以下命令:

      echo "$file_system_id.efs.aws-region.amazonaws.com:/ $ SSHmount_point nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0" >> /etc/fstab
    警告

    请在自动挂载文件系统时使用 _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 中以编程方式从 CLI 或AmazonSDK。

efs-mount-point

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

efs

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

mount options

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

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

  • noresvport— 告知 NFS 客户端在重新建立网络连接时,使用新的传输控制协议 (TCP) 源端口。这样做有助于确保 EFS 文件系统在网络恢复事件后具有不间断的可用性。

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

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

  • awsprofile=namedprofile— 将该选项与iamtls选项,以使用 IAM 授权使用凭证文件挂载到 Linux 实例。有关 EFS 访问点的更多信息,请参阅使用 IAM 控制文件系统数据访问

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

0

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

0

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

使用 NFS 自动挂载 EFS 文件系统

更新/etc/fstab您的 EC2 实例

  1. 连接到 EC2 实例:

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

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

    有关详细信息,请参阅中的以下主题Amazon EC2 Linux 实例

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

  3. 将以下行添加到 文件:

    echo "${file_system_id}.efs.us-east-1.amazonaws.com:/ ${mount_point} nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0"