Amazon EFS 的工作原理 - Amazon Elastic File System
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon EFS 的工作原理

Amazon Elastic File System(EFS)提供了一个简单、无服务器且一劳永逸的弹性文件系统。通过 Amazon EFS,您可以创建文件系统、在 Amazon EC2 实例上挂载文件系统,然后从文件系统中读取和向其写入数据。您可以通过网络文件系统 4.0 和 4.1 版(NFSv4)协议在虚拟私有云(VPC)中挂载 Amazon EFS 文件系统。我们建议您使用当前一代 Linux NFSv4.1 客户端(例如在最新的 Amazon Linux、Amazon Linux 2、Red Hat、Ubuntu 和 macOS Big Sur AMI 中找到的客户端)以及 EFS 挂载帮助程序。有关说明,请参阅 安装 Amazon EFS 客户端

有关支持此协议的 Amazon EC2 Linux 和 macOS 亚马逊机器映像(AMI)的列表,请参阅NFS 支持。对于某些 AMI,必须安装 NFS 客户端才能将文件系统挂载到 Amazon EC2 实例上。有关说明,请参阅 安装 NFS 客户端

您可以从多个 NFS 客户端并发访问 Amazon EFS 文件系统,因此超出单个连接的应用程序可以访问文件系统。在同一 Amazon Web Services 区域内的多个可用区中运行的 Amazon EC2 和其他 Amazon 计算实例可以访问此文件系统,以便许多用户可以访问和共享通用数据源。

有关可创建 Amazon EFS 文件系统的 Amazon Web Services 区域列表,请参阅 Amazon Web Services 一般参考

要在 VPC 中访问 Amazon EFS 文件系统,请在 VPC 中创建一个或多个挂载目标。

  • 对于区域性文件系统,可以在 Amazon Web Services 区域的每个可用区中创建挂载目标。

  • 对于单区文件系统,只在与文件系统相同的可用区中创建单个挂载目标。

有关更多信息,请参阅 EFS 存储类

挂载目标 提供可以在其中挂载 Amazon EFS 文件系统的 NFSv4 端点的 IP 地址。您使用其域名服务 (DNS) 名称挂载文件系统,该名称将解析为与 EC2 实例位于同一可用区中的 EFS 挂载目标的 IP 地址。您可以在 Amazon Web Services 区域中的每个可用区中创建一个挂载目标。如果 VPC 的可用区中有多个子网,则在其中一个子网中创建挂载目标。随后,该可用区中的所有 EC2 实例都将共享该挂载目标。

注意

一个 Amazon EFS 文件系统一次只能在一个 VPC 中具有挂载目标。

挂载目标本身设计为具有高可用性。在设计实现高可用性和失效转移到其他可用区的功能时,请务必注意,尽管您的挂载目标在每个可用区中的 IP 地址和 DNS 均为静态,但它们是由多个资源支持的冗余组件。

使用其 DNS 名称挂载文件系统后,可以像使用任何其他符合 POSIX 标准的文件系统一样使用它。有关 NFS 级别的权限和相关注意事项的信息,请参阅网络文件系统(NFS)级别用户、组和权限

在使用 Amazon Direct Connect 或 Amazon VPN 连接到 Amazon VPC 时,可以在本地数据中心服务器上挂载 Amazon EFS 文件系统。您可以将 EFS 文件系统挂载到本地服务器上,以便将数据集迁移到 EFS、启用云爆发方案或将本地数据备份到 Amazon EFS。

您可以在下文中找到有关如何将 Amazon EFS 与其它服务配合使用的说明。

如何将 Amazon EFS 与 Amazon EC2 结合使用

本节介绍如何将 Amazon EFS 区域性和单区文件系统挂载到 Amazon VPC 中的 EC2 实例。

区域性 EFS 文件系统

下图显示了多个 EC2 实例访问为 Amazon Web Services 区域中的多个可用区配置的 Amazon EFS 文件系统。

区域性文件系统的挂载目标位于 EC2 实例上的 VPC 内的三个可用区。

在此图中,虚拟私有云(VPC)有三个可用区。因为文件系统是区域性的,所以在每个可用区中都创建了一个挂载目标。出于性能和成本原因,我们建议您从同一可用区内的挂载目标访问文件系统。其中一个可用区具有两个子网。但是,将仅在一个子网中创建挂载目标。有关更多信息,请参阅 使用 EFS 挂载帮助程序挂载 EFS 文件系统

单区 EFS 文件系统

下图显示了多个 EC2 实例从 Amazon Web Services 区域中的不同可用区访问单区文件系统。

单区文件系统只有一个在相同可用区中创建的挂载目标。

在此图中,VPC 有两个可用区,每个可用区都有一个子网。由于文件系统类型为单区,因此它只能有一个挂载目标。为了提高性能并降低成本,我们建议您从与要挂载文件系统的 EC2 实例位于同一可用区的挂载目标访问该文件系统。

在此示例中,us-west-2c 可用区中的 EC2 实例将为访问不同可用区中的挂载目标支付 EC2 数据访问费用。有关更多信息,请参阅 挂载单区文件系统

Amazon EFS 如何与 Amazon Direct Connect 和 Amazon 托管 VPN 配合使用

通过使用挂载在本地服务器上的 Amazon EFS 文件系统,可以将本地数据迁移到 Amazon EFS 文件系统中托管的 Amazon Web Services 云中。您还可以利用突增功能。换句话说,您可以将数据从本地服务器移动到 Amazon EFS,并在您的 Amazon VPC 中的一组 Amazon EC2 实例上对其进行分析。然后,您可以将结果永久存储在您的文件系统中,或将结果移回本地服务器。

在将 Amazon EFS 与本地服务器结合使用时,请注意以下事项:

  • 您的本地服务器必须有一个基于 Linux 的操作系统。我们建议使用 Linux 内核版本 4.0 或更高版本。

  • 为了简单起见,我们建议您使用挂载目标 IP 地址而不是 DNS 名称在本地服务器上挂载 Amazon EFS 文件系统。

对您的 Amazon EFS 文件系统的本地访问不会产生额外费用。将向您收取 Amazon Direct Connect 与 Amazon VPC 的连接费用。有关更多信息,请参阅Amazon Direct Connect 定价

下图显示了如何从本地(挂载了文件系统的本地服务器)访问 Amazon EFS 文件系统的示例。

使用 Amazon Direct Connect 时,在本地客户端挂载 EFS 文件系统。

只要您能够使用本地服务器与 VPC 之间的 Amazon Direct Connect 连接访问某个挂载目标的子网,就可以在 VPC 中使用该挂载目标。要从本地服务器访问 Amazon EFS,请向挂载目标安全组添加规则,以允许从本地服务器进入 NFS 端口(2049)的入站流量。有关更多信息,包括详细步骤,请参阅先决条件

Amazon EFS 如何与 Amazon Backup 配合使用

要为文件系统实现全面的备份,您可以将 Amazon EFS 与 Amazon Backup 配合使用。Amazon Backup 是一种完全托管的备份服务,可以轻松地在云中和本地的 Amazon 服务之间以集中、自动化的方式备份数据。使用 Amazon Backup,您可以集中配置备份策略,并监控 Amazon 资源的备份活动。相对于备份操作,Amazon EFS 始终优先处理文件系统操作。要了解有关使用 Amazon Backup 备份 EFS 文件系统的更多信息,请参阅备份 EFS 文件系统