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

挂载 EFS 文件系统

在下一部分中,您可以了解如何使用 Amazon EFS 挂载帮助程序在 Linux 实例上挂载 Amazon EFS 文件系统。此外,您还可以了解如何使用 fstab 文件在任何系统重新启动后自动重新挂载您的文件系统。要了解有关 Amazon EFS 挂载帮助程序的更多信息,请参阅EFS 挂载帮助程序

在具有 Amazon EFS 挂载帮助程序之前,我们建议您使用标准 Linux NFS 客户端挂载 Amazon EFS 文件系统。有关这些更改的更多信息,请参阅在没有 EFS 挂载帮助程序的情况下挂载文件系统

注意

您可以配置一个新的 Amazon EC2 Linux 实例,以便在该实例启动时装载 Amazon EFS 文件系统。不过,在装载文件系统之前,您必须创建、配置和启动相关的 AWS 资源。有关详细说明,请参阅 Amazon Elastic File System 入门

AMI 和内核版本故障排除

要在从 Amazon EC2 实例中使用 Amazon EFS 时解决与某些 Amazon Machine Image (AMI) 或内核版本相关的问题,请参阅排查 AMI 和内核问题

安装 amazon-efs-utils 软件包

要在 Amazon EC2 实例上挂载 Amazon EFS 文件系统,我们建议您使用 amazon-efs-utils 软件包中的挂载帮助程序。amazon-efs-utils 软件包是一个开源 Amazon EFS 工具集。有关更多信息,请参阅在 Amazon Linux 上安装 amazon-efs-utils 软件包

使用 EFS 挂载帮助程序进行挂载

您可以在一些客户端上使用 Amazon EFS 挂载帮助程序挂载 Amazon EFS 文件系统。在以下几节中,您可以找到各种类型的客户端的挂载帮助程序过程。

使用 EFS 挂载帮助程序在 Amazon EC2 上挂载

您可以使用 Amazon EFS 挂载帮助程序在 Amazon EC2 实例上挂载 Amazon EFS 文件系统。有关挂载帮助程序的更多信息,请参阅 EFS 挂载帮助程序。要使用挂载帮助程序,您需要具有:

  • 要挂载的 EFS 文件系统的文件系统 ID – 创建 Amazon EFS 文件系统后,您可以从控制台获取该文件系统的 ID,也可以通过 Amazon EFS API 以编程方式获取相应 ID。该 ID 采用以下格式:fs-12345678

  • Amazon EFS 挂载目标 – 您在 Virtual Private Cloud (VPC) 中创建挂载目标。如果您在控制台中创建文件系统,则会同时创建挂载目标。有关更多信息,请参阅使用 Amazon EFS 控制台创建挂载目标

  • 运行受支持的 Linux 发行版的 Amazon EC2 实例 – 支持使用挂载帮助程序来装载文件系统的 Linux 发行版如下:

    • Amazon Linux 2

    • Amazon Linux 2017.09 及更高版本

    • Red Hat Enterprise Linux(和衍生产品,如 CentOS)7 和更新版本

    • Ubuntu 16.04 LTS 及更高版本

  • 安装的 Amazon EFS 挂载帮助程序 – 挂载帮助程序是 amazon-efs-utils 中的一个工具。有关如何安装 amazon-efs-utils 的信息,请参阅在 Amazon Linux 上安装 amazon-efs-utils 软件包

使用挂载帮助程序挂载 Amazon EFS 文件系统

  1. 通过安全 Shell (SSH) 访问您的实例的终端,然后使用相应的用户名登录。有关如何执行该操作的更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的使用 SSH 连接到您的 Linux 实例

  2. 运行以下命令以挂载文件系统。

    sudo mount -t efs fs-12345678:/ /mnt/efs

    或者,如果要使用传输中的数据加密,您可以使用以下命令挂载文件系统。

    sudo mount -t efs -o tls fs-12345678:/ /mnt/efs

使用 IAM 授权挂载

要使用 AWS Identity and Access Management (IAM) 授权在 Linux 实例上挂载您的 Amazon EFS 文件系统,请使用 EFS 挂载帮助程序。有关 NFS 客户端的 IAM 授权的更多信息,请参阅使用 IAM 控制 NFS 对 Amazon EFS 的访问

使用 EC2 实例配置文件通过 IAM 进行挂载

如果要通过授权 IAM 挂载到具有实例配置文件的 Amazon EC2 实例,请使用 tlsiam 挂载选项,如下所示。

$ sudo mount -t efs -o tls,iam file-system-id efs-mount-point

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

file-system-id:/ efs-mount-point efs _netdev,tls,iam 0 0

使用命名配置文件通过 IAM 进行挂载

您可以使用位于 AWS CLI 凭证文件 ~/.aws/credentials 或 AWS CLI 配置文件 ~/.aws/config 中的 IAM 凭证,通过 IAM 授权执行挂载操作。如果未指定 "awsprofile",则使用“默认”配置文件。

要使用凭证文件通过 IAM 授权挂载到 Linux 实例,请使用 tlsawsprofileiam 挂载选项,如下所示。

$ sudo mount -t efs -o tls,iam,awsprofile=namedprofile file-system-id efs-mount-point/

要使用凭证文件通过 IAM 授权自动挂载到 Linux 实例,请将以下行添加到 EC2 实例上的 /etc/fstab 文件中。

file-system-id:/ efs-mount-point efs _netdev,tls,iam,awsprofile=namedprofile 0 0

使用 EFS 访问点进行挂载

可以使用 EFS 访问点挂载 EFS 文件系统。要执行此操作,请使用 EFS 挂载帮助程序。

在使用访问点挂载文件系统时,除常规挂载选项外,挂载命令还包括 access-point-idtls 挂载选项。下面显示了一个示例。

$ sudo mount -t efs -o tls,accesspoint=access-point-id file-system-id efs-mount-point

要使用访问点自动挂载文件系统,请将以下行添加到 EC2 实例上的 /etc/fstab 文件中。

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

有关 EFS 访问点的更多信息,请参阅使用 Amazon EFS 访问点

使用 EFS 挂载帮助程序自动挂载

您也可以选择在 /etc/fstab 文件中添加条目以自动进行挂载。在使用 /etc/fstab 进行自动挂载时,您必须添加 _netdev 挂载选项。有关更多信息,请参阅 使用 /etc/fstab 自动挂载

注意

在使用挂载帮助程序进行挂载时,将自动使用针对 Amazon EFS 优化的以下挂载选项:

  • nfsvers=4.1

  • rsize=1048576

  • wsize=1048576

  • hard

  • timeo=600

  • retrans=2

  • noresvport

要使用 mount 命令,必须满足以下条件:

  • 连接的 EC2 实例必须位于基于 Amazon VPC 服务的 Virtual Private Cloud (VPC) 中。它还必须配置为使用 Amazon 提供的 DNS 服务器。有关 Amazon DNS 服务器的信息,请参阅 Amazon VPC 用户指南 中的 DHCP 选项集

  • 连接的 EC2 实例的 VPC 必须启用了 DNS 主机名。有关更多信息,请参阅 Amazon VPC 用户指南 中的查看您的 EC2 实例的 DNS 主机名

注意

在创建挂载目标后,我们建议您等待 90 秒,然后再挂载您的文件系统。在该等待时间内,将在文件系统所在的 AWS 区域中完全传播 DNS 记录。

在本地 Linux 客户端上使用 EFS 挂载帮助程序通过 AWS Direct Connect 和 VPN 挂载

在使用 AWS Direct Connect 或 VPN 连接到您的 Amazon VPC 时,您可以在本地数据中心服务器上挂载 Amazon EFS 文件系统。使用 amazon-efs-utils 挂载 Amazon EFS 文件系统还可以简化使用挂载帮助程序进行挂载的过程,并允许您启用传输中的数据加密。

要了解如何将 amazon-efs-utils 与 AWS Direct Connect 和 VPN 一起使用以将 Amazon EFS 文件系统挂载到本地 Linux 客户端上,请参阅演练:使用 AWS Direct Connect 和 VPN 在本地创建和挂载文件系统