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

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

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

您可以在一些客户端上使用 Amazon EFS 挂载帮助程序挂载 Amazon EFS 文件系统。在以下部分中,您可以找到适用于不同类型客户端的挂载帮助程序过程。

将 Amazon EFS 挂载帮助程序与 EFS 单区存储类结合使用

您可以使用 EFS 挂载帮助程序在位于与文件系统相同的可用区中的计算实例(作为挂载目标)上挂载使用单区存储类的文件系统。要从不同的可用区挂载具有单区存储类的文件系统,请使用 NFS 挂载命令以及挂载目标的 DNS 名称。有关更多信息,请参阅使用 DNS Amazon EC2 名称在 上挂载

注意

不支持跨可用区的文件系统 DNS 名称解析。

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

您可以使用 Amazon EFS 挂载帮助程序在 Amazon EC2 实例上挂载 Amazon EFS 文件系统。要使用挂载帮助程序,您需要具有:

  • 要挂载的 EFS 文件系统的文件系统 ID – 创建 Amazon EFS 文件系统后,您可以从控制台获取该文件系统的 ID,也可以通过 Amazon EFS API 以编程方式获取相应 ID。该 ID 采用以下格式:fs-12345678。EFS 挂载帮助程序将文件系统 ID 解析为挂载目标弹性网络接口 (ENI) 的本地 IP 地址,而不调用外部资源。

  • Amazon EFS 挂载目标 – 您在 Virtual Private Cloud (VPC) 中创建挂载目标。如果您在控制台中创建文件系统,则会同时创建挂载目标。有关使用 EFS 控制台创建挂载目标的说明,请参阅步骤 2:配置网络访问

    注意

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

    如果您在与 Amazon EC2 实例不同的可用区中使用挂载目标,则需要为跨可用区发送的数据支付标准 EC2 费用。可能还会面临更高的文件系统操作延迟。

    注意

    Amazon EFS 使用单区存储类的 文件系统具有位于与 文件系统相同的可用区中的单个挂载目标。要使用 EFS 挂载帮助程序,挂载文件系统AWS的计算实例必须与 文件系统位于同一可用区中。

  • 运行受支持的 Linux 或 macOS Amazon EC2 发行版之一的 实例 – 使用挂载帮助程序挂载 文件系统时支持的发行版如下所示:

    • Amazon Linux 2

    • Amazon Linux 2017.09 及更高版本

    • macOS Big Sur

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

    • Ubuntu 16.04 LTS 和更新版本

    注意

    运行 macOS Big Sur 的 EC2 Mac 实例仅支持 NFS 4.0。

  • EC2 实例Amazon EFS上安装的挂载帮助程序 – 挂载帮助程序是 中的工具amazon-efs-utils。有关安装 的信息amazon-efs-utils,请参阅手动安装 Amazon EFS 客户端

挂载帮助程序使用的Amazon EFS挂载选项

EFS 挂载帮助程序使用以下针对 优化的挂载选项Amazon EFS:

  • nfsvers=4.1 – 在 EC2 Linux 实例上挂载时使用

    nfsvers=4.0 – 在运行 MacOS Big Sur 的 EC2 Mac 实例上挂载时使用

  • rsize=1048576

  • wsize=1048576

  • hard

  • timeo=600

  • retrans=2

  • noresvport

  • mountport=2049 – 仅在运行 macOS Big Sur 的 EC2 Mac 实例上挂载时使用

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

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

  1. 在 EC2 实例上通过安全外壳 (SSH) 打开终端窗口,然后使用适当的用户名登录。有关更多信息,请参阅 中的使用适用于 Linux 实例的 SSH 连接到您的 Linux 实例或使用适用于 Mac 实例的 SSH Amazon EC2 用户指南(适用于 Linux 实例)连接到您的实例。

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

    sudo mount -t efs fs-12345678:/ efs

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

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

    您可以在 Attach (附加) 对话框中查看和复制确切的命令来挂载文件系统。

    1. 在 Amazon EFS 控制台中,选择要挂载的文件系统以显示其详细信息页面。

    2. 要显示要用于此文件系统的挂载命令,请选择右上角的 Attach (附加)。

      
                  Amazon EFS 附加文件系统屏幕,显示挂载文件系统时要使用的确切命令。

      Attach (附加) 屏幕按以下方式显示用于挂载文件系统的确切命令:

      • 通过 DNS 挂载)将文件系统的 DNS 名称与 EFS 挂载帮助程序或 NFS 客户端结合使用。

      • 通过 IP 挂载)将所选可用区中的挂载目标 IP 地址与 NFS 客户端结合使用。

从其他Amazon EFS区域挂载 AWS 文件系统

如果您从与文件系统位于不同Amazon EC2区域的 AWS 实例挂载 EFS 文件系统,则需要编辑efs-utils.conf该文件。在 中efs-utils.conf,找到以下行:

#region = us-east-1

取消注释 行,并将 Region 值替换为文件系统所在的 区域(如果它不在 中us-east-1)。

使用 IAM 授权挂载

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

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

如果要通过授权 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 凭证文件 IAM 或 AWS CLI 配置文件 ~/.aws/credentials 中的 IAM 凭证,通过 ~/.aws/config 授权执行挂载操作。如果未指定 "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 挂载帮助程序通过 AWS Direct Connect 和 VPN 在本地 Linux 客户端上挂载

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

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