本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
EFS One Zone 文件系统仅支持与文件系统位于同一可用区的单个挂载目标。无法添加其他挂载目标。本节介绍挂载单区文件系统时需要考虑的事项。
使用与文件系统挂载目标位于同一可用区的 Amazon EC2 计算实例访问 EFS 文件系统,可以避免可用区之间的数据传输费用并获得更好的性能。
本节中的过程需要满足以下条件:
您已在 EC2实例
amazon-efs-utils package
上安装了。有关更多信息,请参阅 手动安装 Amazon EFS 客户端。已为文件系统创建挂载目标。有关更多信息,请参阅 管理挂载目标。
在不同的可用区 EC2 中挂载一个区域文件系统
如果您要在位于不同可用区的 Amazon EC2 实例上安装单区域文件系统,则必须在 mount helper mount 命令中指定文件系统的可用区名称或文件系统挂载目标的 DNS 名称。
使用以下命令创建要用作文件系统挂载点的名为 efs
的目录 :
sudo mkdir efs
使用以下命令,通过 EFS 挂载帮助程序挂载文件系统。此命令指定文件系统的可用区名称。
sudo mount -t efs -o az=
availability-zone-name
,tlsfile-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 One Zone 文件系统,则必须在/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
文件,以及此命令中使用的值的更多信息,请参阅自动挂载 EFS 文件系统。
在其他 AWS 计算实例上安装带有 One Zone 文件系统的文件系统
当您将单区域文件系统与亚马逊弹性容器服务、Amazon Elastic Kubernetes Service AWS Lambda或 Amazon Elastic Kubernetes Service 一起使用时,您需要将该服务配置为使用与 EFS 文件系统相同的可用区,如下所示,并在以下各节中进行介绍。

从 Amazon Elastic Container Service 连接
您可以将 EFS 文件系统与 Amazon ECS 配合使用,在您的容器实例队列中共享文件系统数据,这样无论您的任务位于哪个实例,都可以访问相同的永久存储。要将 EFS One Zone 文件系统与 Amazon ECS 配合使用,在启动任务时,应仅选择与文件系统位于同一可用区的子网。有关更多信息,请参阅《Amazon Elastic Container Service 开发人员指南》中的 Amazon EFS 卷。
从 Amazon Elastic Kubernetes Service 连接
从 Amazon EKS 挂载单区域文件系统时,您可以使用支持 EFS 接入点的 Amazon EFS 容器存储接口 (CSI) 驱动程序在 Amazon EKS 或自我管理的 Kubernetes 集群中的多个容器之间共享文件系统。Amazon EFS CSI 驱动程序安装在 Fargate 堆栈中。在 EFS One Zone 文件系统中使用 Amazon EFS CSI 驱动程序时,您可以在启动容器时使用该nodeSelector
选项来确保它与您的文件系统在同一个可用区内调度。
连接自 AWS Lambda
您可以将 Amazon EFS 与配合 AWS Lambda 使用,在函数调用之间共享数据,读取大型参考数据文件,并将函数输出写入永久存储和共享存储。Lambda 将函数实例安全地连接到位于同一可用区和子网中的 EFS 挂载目标。将 Lambda 与单区文件系统一起使用时,应将函数配置为只将调用启动到与您的文件系统位于同一可用区的子网中。