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

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

挂载单区文件系统

Amazon EFS 单区文件系统仅支持与文件系统位于同一可用区的单个挂载目标。无法添加其他挂载目标。本节介绍挂载单区文件系统时需要考虑的事项。

使用与文件系统挂载目标位于同一可用区的 Amazon EC2 计算实例访问 EFS 文件系统,可以避免在可用区之间产生数据传输费用并获得更好的性能。

本节中的过程需要满足以下条件:

在不同可用区的 EC2 上挂载单区文件系统

如果要在位于不同可用区的 EC2 实例上挂载单区文件系统,必须在挂载帮助程序挂载命令中指定文件系统的可用区名称或文件系统挂载目标的 DNS 名称。

使用以下命令创建要用作文件系统挂载点的名为 efs 的目录 :

sudo mkdir efs

使用以下命令,通过 EFS 挂载帮助程序挂载文件系统。此命令指定文件系统的可用区名称。

sudo mount -t efs -o az=availability-zone-name,tls file-system-id mount-point/

以下是使用示例值的此命令:

sudo mount -t efs -o az=us-east-1a,tls fs-abcd1234567890ef efs/

以下命令挂载文件系统,指定文件系统挂载目标的 DNS 名称。

sudo mount -t efs -o tls mount-target-dns-name mount-point/

以下是使用示例挂载目标 DNS 名称的此命令。

sudo mount -t efs -o tls us-east-1a.fs-abcd1234567890ef9.efs.us-east-1.amazonaws.com efs/

使用 EFS 挂载帮助程序在不同可用区中自动装载单区文件系统

如果要使用 /etc/fstab 在位于不同可用区的 EC2 实例上挂载 EFS 单区文件系统,必须在 /etc/fstab 条目中指定文件系统的可用区名称或文件系统挂载目标的 DNS 名称。

availability-zone-name.file-system-id.efs.aws-region.amazonaws.com:/ efs-mount-point efs defaults,_netdev,noresvport,tls 0 0
us-east-1a.fs-abc123def456a7890.efs.us-east-1.amazonaws.com:/ efs-one-zone efs defaults,_netdev,noresvport,tls 0 0

使用 NFS 自动挂载单区文件系统

如果要使用 /etc/fstab 在位于不同可用区的 EC2 实例上挂载使用单区存储的 EFS 文件系统,必须在 /etc/fstab 条目中使用文件系统的 DNS 名称指定文件系统的可用区名称。

availability-zone-name.file-system-id.efs.aws-region.amazonaws.com:/ efs-mount-point nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0
us-east-1a.fs-abc123def456a7890.efs.us-east-1.amazonaws.com:/ efs-one-zone nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0

有关如何编辑 /etc/fstab 文件,以及此命令中使用的值的更多信息,请参阅使用 NFS 自动挂载 EFS 文件系统

在其他 Amazon 计算实例上安装带有 One Zone 文件系统的文件系统

当您将单区域文件系统与亚马逊弹性容器服务、Amazon Elastic Kubernetes Service Amazon Lambda或 Amazon Elastic Kubernetes Service 一起使用时,您需要将该服务配置为使用与 EFS 文件系统相同的可用区,如下所示,并在以下各节中进行介绍。


            该图显示了连接到 EFS One Zone 文件系统的 Amazon 计算实例。

从 Amazon Elastic Container Service 连接

可以将 Amazon EFS 文件系统与 Amazon ECS 配合使用,以跨容器实例集共享文件系统数据,从而使您的任务无论位于哪个实例上,都可以访问相同的永久存储。要将 Amazon EFS 单区文件系统与 Amazon ECS 一起使用,应在启动任务时仅选择与文件系统位于同一可用区的子网。有关更多信息,请参阅《Amazon Elastic Container Service 开发人员指南》中的 Amazon EFS 卷

从 Amazon Elastic Kubernetes Service 连接

在从 Amazon EKS 挂载单区文件系统时,可以使用支持 Amazon EFS 接入点的 Amazon EFS 容器存储接口 (CSI) 驱动程序,在 Amazon EKS 或自托管 Kubernetes 集群中的多个容器组 (pod) 之间共享文件系统。Amazon EFS CSI 驱动程序安装在 Fargate 堆栈中。将 Amazon EFS CSI 驱动程序与 Amazon EFS 单区文件系统配合使用时,可以在启动容器组 (pod) 时使用 nodeSelector 选项来确保它与您的文件系统在同一个可用区内进行调度。

连接自 Amazon Lambda

您可以将 Amazon EFS 与配合 Amazon Lambda 使用,在函数调用之间共享数据,读取大型参考数据文件,并将函数输出写入永久存储和共享存储。Lambda 将函数实例安全地连接到位于同一可用区和子网中的 Amazon EFS 挂载目标。将 Lambda 与单区文件系统一起使用时,应将函数配置为只将调用启动到与您的文件系统位于同一可用区的子网中。