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

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

装载具有 One Zone 存储类的文件系统

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

使用与文件系统挂载目标位于同一可用区的 Amazon EC2 计算实例访问 EFS 文件系统,可以避免可用区之间的数据传输费用并获得更好的性能。这适用于使用 EFS 标准或单区域存储类的文件系统。

本节中的步骤要求满足以下条件:

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

如果您要在位于不同可用区的 EC2 实例上使用 One Zone 存储类挂载 EFS 文件系统,则必须在 mount helper mount 命令中指定文件系统的可用区名称或文件系统挂载目标的 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 自动装载 One Zone 文件系统

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


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

从亚马逊弹性容器服务连接

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

从亚马逊 Elastic Kubernetes Service 进行连接

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

连接自 Amazon Lambda

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