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

创建 EFS 文件系统

您可以按照入门练习中所述,在创建新的 EC2 启动实例时创建文件系统。此外,还可以通过 Amazon EFS 控制台、Amazon Command Line Interface(Amazon CLI)或 Amazon EFS API 创建文件系统。

通过 Amazon EFS 控制台创建文件系统时,根据您是希望文件系统使用推荐设置还是希望自定义设置,您可以选择不同的选项。

  • 您可以使用“快速创建”功能,快速创建带有以下推荐设置的文件系统。

    • 区域可用性

    • 生命周期策略:文件系统创建 30 天后将其自动转换为 EFS 不频繁访问(IA)存储,90 天后将其转换为 EFS 存档存储,且不转换为 EFS 标准存储

    • 启用静态数据加密

    • 弹性吞吐量模式

    • 通用性能模式

    • 挂载目标:在创建文件系统的 Amazon Web Services 区域内的每个可用区中,使用指定子网中提供的 IPv4 进行配置

  • 您可以使用“自定义”功能,根据自己选择的设置创建文件系统。

有关文件系统设置及推荐值的列表,请参阅文件系统的配置选项

创建文件系统所需的 IAM 权限

要创建 EFS 资源,例如文件系统和接入点,您必须拥有相应 API 操作和资源的 Amazon Identity and Access Management(IAM)权限。

创建 IAM 用户,并使用用户策略向他们授予执行 Amazon EFS 操作的权限。也可以使用角色来授予跨账户权限。Amazon Elastic File System 还使用一个 IAM 服务相关角色,该角色中包含代表您调用其他 Amazon Web Services 服务 所需的权限。有关管理 API 操作权限的更多信息,请参阅Amazon EFS 的身份和访问管理

文件系统的配置选项

EFS 文件系统将按下表所列设置进行配置。

  • 若通过“快速创建”功能创建文件系统,将使用推荐的设置值。

  • 若通过“自定义”功能创建自定义文件系统,您可以更改推荐的设置值。

EFS 文件系统设置
设置 描述
文件系统类型 推荐设置:区域性

文件系统类型决定了 EFS 文件系统在 Amazon Web Services 区域中存储数据的可用性和持久性

  • 区域性文件系统可跨 Amazon Web Services 区域中的所有可用区以冗余方式存储数据和元数据。您还可以在 Amazon Web Services 区域中的每个可用区中创建挂载目标。“区域性”提供最高级别的可用性和持久性。

  • 单区文件系统可将数据和元数据以冗余方式存储到单个可用区中。单区文件系统只能有一个挂载目标。此挂载目标必须位于创建文件系统的同一可用区中。

    注意

    单区域文件系统仅适用于某些可用区。

有关文件系统类型的更多信息,请参阅EFS 文件系统的可用性和持久性
生命周期管理

推荐设置:30 天后转换为 IA 存储,90 天后转换为存档存储。不要转换为标准存储。

生命周期管理使用生命周期策略,根据访问模式自动将文件移入和移出成本较低的不频繁访问(IA)存储类别。使用 Amazon Web Services 管理控制台创建文件系统时,将使用以下默认设置配置文件系统的生命周期策略:

  • 转换为 IA 设置为自上次访问后的 30 天

  • 转换为归档设置为自上次访问后的 90 天

  • 转换为标准设置为

使用 Amazon CLI、Amazon EFS API 或 Amazon 软件开发工具包创建文件系统时,不能同时设置生命周期策略。必须等到文件系统创建完毕,然后才能使用 PutLifecycleConfiguration API 操作更新生命周期策略。

有关生命周期管理的更多信息,请参阅 管理存储生命周期

静态加密

推荐设置:已启用

默认情况下,Amazon EFS 使用您的 Amazon Key Management Service(Amazon KMS)EFS 服务密钥(aws/elasticfilesystem)来加密静态数据。加密后,存储在文件系统上的所有数据及元数据均会被加密。创建 EFS 文件系统后,将无法更改其加密设置。若需将未加密文件系统转换为加密状态,必须创建新的文件系统。

有关 Amazon EFS 加密的更多信息,请参阅Amazon EFS 中的数据加密

吞吐量模式

推荐设置:弹性

可从以下吞吐量模式中进行选择:

  • 弹性 - 提供实时自动纵向扩展和缩减的吞吐量,以满足工作负载的性能需求。

  • 预调配 - 指定您所需的吞吐量大小,与文件系统的大小无关。

  • 突发 – 提供可随标准存储中的数据量而扩展的吞吐量。

注意

使用弹性和预调配吞吐量会产生额外费用。有关更多信息,请参阅 Amazon EFS 定价

有关吞吐量模式的更多信息,请参阅吞吐量模式

性能模式

推荐设置:通用

通用性能模式的每次操作延迟最低,建议用于所有文件系统。

最大 I/O 是上一代性能类型,专为高度并行化的工作负载而设计,与通用模式相比,可以容忍更高的延迟。“单区”文件系统或使用弹性吞吐量的文件系统不支持最大 I/O 模式。

重要

由于最大 I/O 的每次操作延迟较高,因此我们建议对所有文件系统使用通用性能模式。

有关更多信息,请参阅 性能模式

网络访问

推荐设置:在提供文件系统的每个可用区中创建的挂载目标

挂载目标设置如下:

  • VPC - 一次只能为一个 VPC 中的文件系统创建挂载目标。默认情况下,选择 EC2 实例的默认子网。若需从其他 VPC 访问文件系统,请更改 VPC。

    如果要在创建文件系统之后更改 VPC,则需要先从当前 VPC 中删除挂载目标。有关更多信息,请参阅 更改挂载目标 VPC

  • 可用区子网 ID - 您可以更改挂载目标的可用区或子网。

  • IP 地址类型 - 默认情况下,Amazon EFS 使用 IPv4 地址来创建挂载目标。您也可选择以下类型:仅 IPv6(仅支持 IPv6 地址),或双栈(同时支持 IPv4 和 IPv6 地址)。

    注意

    IP 地址类型必须与子网的 IP 类型相匹配。此外,IP 地址类型会覆盖子网的 IP 寻址属性。例如,如果 IP 地址类型为“仅 IPv4”,且您为子网启用了 IPv6 寻址属性,则在此子网中创建的网络接口会收到此子网范围内的 IPv4 地址。有关更多信息,请参阅修改子网的 IP 寻址属性

  • IP 地址 - 默认情况下,Amazon EFS 会在指定子网的可用地址处创建挂载目标。或者,您也可以为挂载目标指定 IP 地址。

    在创建挂载目标后,您将无法更改其 IP 地址。要更改 IP 地址,必须删除挂载目标并使用新地址创建一个新目标。

  • 安全组 - 默认使用分配给 VPC 目标的安全组。您可以添加或删除安全组。有关安全组的更多信息,请参阅 更改挂载目标安全组

使用 Amazon CLI、Amazon EFS API 或 Amazon SDK 创建文件系统时,不能同时创建挂载目标。必须等到文件系统创建完毕,然后才能使用 CreateMountTarget API 操作创建挂载目标。

有关挂载目标的更多信息,请参阅管理挂载目标

使用 Amazon EFS 控制台创建带推荐设置的 Amazon EFS 文件系统。如果要使用自定义配置创建文件系统,请参阅使用控制台以自定义方式创建

快速创建具有推荐设置的 Amazon EFS 文件系统
  1. 登录 Amazon Web Services 管理控制台并打开 Amazon EFS 控制台,网址为 https://console.aws.amazon.com/efs/

  2. 选择创建文件系统以打开创建文件系统对话框。

  3. (可选)输入文件系统的名称

  4. 对于虚拟私有云(VPC),请选择您的 VPC,或者将其设置为默认 VPC。

  5. 选择创建以创建使用以下服务推荐设置的文件系统:

    • 区域可用性

    • 生命周期策略:文件系统创建 30 天后将其自动转换为 EFS 不频繁访问(IA)存储,90 天后将其转换为 EFS 存档存储,且不转换为 EFS 标准存储

    • 启用静态数据加密

    • 弹性吞吐量模式

    • 通用性能模式

    • 挂载目标:在创建文件系统的 Amazon Web Services 区域内的每个可用区中,使用指定子网中提供的 IPv4 进行配置

    将出现文件系统页面,顶部有一个横幅,显示您创建的文件系统的状态。当文件系统可用时,横幅中会显示访问文件系统详细信息页面的链接。

    有关文件系统的更多信息,请参阅了解文件系统状态

本节介绍使用 Amazon EFS 控制台,而不是使用服务推荐的设置创建具有自定义设置的 EFS 文件系统的过程。有关使用推荐设置创建文件系统的更多信息,请参阅使用控制台快速创建

使用控制台创建具有自定义设置的 EFS 文件系统包括四个步骤:

  • 步骤 1 – 配置常规文件系统设置,包括存储类和吞吐量模式。

  • 步骤 2 – 配置文件系统网络设置,包括虚拟私有云(VPC)和挂载目标。对于每个挂载目标,设置可用区、子网、IP 地址和安全组。

  • 步骤 3 –(可选)创建文件系统策略以控制 NFS 客户端对文件系统的访问。

  • 步骤 4 – 查看文件系统设置,进行任何更改,然后创建文件系统。

步骤 1:配置文件系统设置
  1. 登录 Amazon Web Services 管理控制台并打开 Amazon EFS 控制台,网址为 https://console.aws.amazon.com/efs/

  2. 选择创建文件系统以打开创建文件系统对话框。

  3. 选择自定义以创建自定义文件系统,而不是使用推荐设置来创建文件系统。将打开文件系统设置页面。

  4. 对于常规设置,执行以下操作。

    1. (可选)输入文件系统的名称

    2. 对于文件系统类型,默认选择区域性。如果要创建在单个可用区内以冗余方式存储文件系统数据和元数据的文件系统,请选择单区。如果选择单区,请选择要在其中创建文件系统的可用区,或者保留默认值。

    3. 对于生命周期管理,如有必要,请更改生命周期策略。

      • 转换为 IA - 根据自上次在标准存储中访问文件以来的时间,选择何时将文件转换为不频繁访问 (IA) 存储类。

      • 转换为归档 - 根据自上次在标准存储中访问文件以来的时间,选择何时将文件转换为存档存储类。

      • 转换为标准 - 选择是否将文件系统转换为存储类。

        有关生命周期策略的更多信息,请参阅管理存储生命周期

    4. 默认情况下,Amazon EFS 使用您的 Amazon Key Management Service(Amazon KMS)EFS 服务密钥(aws/elasticfilesystem)来加密静态数据。要选择其他 KMS 密钥用于加密,请展开自定义加密设置,然后从列表中选择密钥。或者,输入要使用的 KMS 密钥的 KMS 密钥 ID 或 Amazon 资源名称(ARN)。

      如果需要创建新密钥,请选择创建 Amazon KMS key以启动 Amazon KMS 控制台并创建新密钥。

      可以通过清除复选框关闭对静态数据的加密。

      创建文件系统后,将无法更改加密设置。有关更多信息,请参阅 Amazon EFS 中的数据加密

  5. 对于性能设置,请执行以下操作:

    1. 对于吞吐量模式,默认选择弹性模式。

      • 要使用预调配吞吐量模式,请选择预调配,然后在预调配吞吐量 (MiB/s) 中输入要为文件系统请求预调配的吞吐量。最大读取吞吐量显示为您输入的吞吐量的三倍。

      • 要使用突发吞吐量,请选择突发

      选择吞吐量模式后,将显示文件系统每月成本的估计值。文件系统可用后,您可以更改吞吐量模式。

      有关根据性能需求选择正确的吞吐量模式的更多信息,请参阅吞吐量模式

    2. 对于性能模式,默认为通用。要更改性能模式,请展开其他设置,然后选择最大 I/O

      文件系统可用后,无法更改性能模式。有关更多信息,请参阅 性能模式

      重要

      由于最大 I/O 的每次操作延迟较高,因此我们建议对所有文件系统使用通用性能模式。

  6. (可选)向文件系统添加标签键值对。

  7. 选择下一步以配置文件系统的网络访问。

步骤 2:配置网络访问

在步骤 2 中,您将配置文件系统的网络设置,包括 VPC 和挂载目标。

  1. 选择希望 EC2 实例连接到文件系统的虚拟私有云(VPC)。有关更多信息,请参阅 管理挂载目标

  2. 对于挂载目标,可以为文件系统创建一个或多个挂载目标。对于每个挂载目标,请设置以下属性:

    • 可用区 – 默认情况下,在 Amazon Web Services 区域中的每个可用区中配置挂载目标。如果不想在特定可用区中安装挂载目标,请选择移除以删除该区域的挂载目标。在计划访问文件系统的每个可用区都创建一个挂载目标,此操作不收取费用。

    • 子网 ID – 从可用区中的可用子网中进行选择。已预先选择默认子网。

    • IP 地址类型 - 选择仅 IPv4,以便仅支持 IPv4 地址;选择仅 IPv6 以便仅支持 IPv6 地址;或者选择双栈,以便同时支持 IPv4 和 IPv6 地址。

    • IPv4 或 IPv6 地址 - 如果您知道要放置挂载目标的 IP 地址,请在与 IP 地址类型匹配的 IP 地址框中输入该地址。如果未指定值,Amazon EFS 会从指定的子网中选择未使用的 IP 地址。

    • 安全组 - 默认情况下,Amazon EFS 为 VPC 选择默认安全组。要更改安全组,请删除分配的组,然后从选择安全组列表中进行选择。可以为挂载目标指定一个或多个安全组。有关更多信息,请参阅 使用 VPC 安全组

  3. 选择添加挂载目标,为没有挂载目标的可用区创建挂载目标。如果为每个可用区配置了挂载目标,此选项不可用。

  4. 选择下一步以设置文件系统策略。

步骤 3:创建文件系统策略(可选)

也可以为文件系统创建文件系统策略。EFS 文件系统策略是一种 IAM 资源策略,用于控制 NFS 客户端对文件系统的访问。有关更多信息,请参阅 使用 IAM 控制文件系统访问

  1. 策略选项中,可以选择预配置文件系统策略的任意组合:

    • 默认阻止根访问 – 此选项可从允许的 EFS 操作集中移除 ClientRootAccess

    • 默认强制执行只读访问 – 此选项可从允许的 EFS 操作集中移除 ClientWriteAccess

    • 防止匿名访问 – 此选项可从允许的 EFS 操作集中移除 ClientMount

    • 对所有客户端强制执行传输中加密 – 此选项拒绝访问未加密的客户端。

    选择预配置的策略时,策略 JSON 对象将显示在策略编辑器窗格中。

  2. 使用授予其他权限,向其他 IAM 主体(包括另一个 Amazon Web Services 账户)授予文件系统权限。选择添加,然后输入要向其授予权限的实体的主体 ARN。然后选择要授予的权限。其他权限将显示在策略编辑器中。

  3. 可以使用策略编辑器自定义预配置策略或创建自己的文件系统策略。使用编辑器时,预配置策略选项将不可用。要清除当前文件系统策略并开始创建新策略,请选择清除

  4. 选择下一步以查看并创建文件系统。

步骤 4:审核并创建
  1. 查看每个文件系统配置组。此时,可以通过选择编辑对每个组进行更改。

  2. 选择创建文件系统来创建文件系统,并返回到文件系统页面。

    顶部的横幅显示正在创建新文件系统。当文件系统可用时,横幅中会显示访问新文件系统详细信息页面的链接。

使用 Amazon CLI 时,您将按顺序创建这些资源。首先,创建一个文件系统。然后,可以使用相应的 Amazon CLI 命令为该文件系统创建挂载目标和任何其他可选标签。

以下示例使用 adminuser 作为 --profile 参数值。必须使用适当的用户配置文件来提供凭证。有关信息,请参阅《Amazon Command Line Interface User Guide》中的 Prerequisites to use the Amazon CLI

  • 要创建启用了自动备份功能的加密文件系统,请使用 Amazon EFS create-file-system CLI 命令(相应的操作是 CreateFileSystem),如下所示。

    aws efs create-file-system \ --creation-token creation-token \ --encrypted \ --backup \ --performance-mode generalPurpose \ --throughput-mode elastic \ --region aws-region \ --tags Key=key,Value=value Key=key1,Value=value1 \ --profile adminuser

    例如,以下 create-file-system 命令将使用弹性吞吐量在 us-west-2 Amazon Web Services 区域中创建一个文件系统。该命令指定 MyFirstFS 作为创建令牌。有关可以创建 Amazon EFS 文件系统的 Amazon Web Services 区域的列表,请参阅《Amazon Web Services 一般参考》中的 Amazon EFS endpoints and quotas

    aws efs create-file-system \ --creation-token MyFirstFS \ --backup \ --encrypted \ --performance-mode generalPurpose \ --throughput-mode elastic \ --region us-west-2 \ --tags Key=Name,Value="Test File System" Key=developer,Value=rhoward \ --profile adminuser

    成功创建文件系统后,Amazon EFS 会以 JSON 形式返回文件系统描述,如以下示例所示。

    { "OwnerId": "123456789abcd", "CreationToken": "MyFirstFS", "Encrypted": true, "FileSystemId": "fs-c7a0456e", "CreationTime": 1422823614.0, "LifeCycleState": "creating", "Name": "Test File System", "NumberOfMountTargets": 0, "SizeInBytes": { "Value": 6144, "ValueInIA": 0, "ValueInStandard": 6144 "ValueInArchive": 0 }, "PerformanceMode": "generalPurpose", "ThroughputMode": "elastic", "Tags": [ { "Key": "Name", "Value": "Test File System" } ] }
  • 以下示例将使用 availability-zone-name 属性在 us-west-2a 可用区中创建使用突增吞吐量的文件系统。

    aws efs create-file-system \ --creation-token MyFirstFS \ --availability-zone-name us-west-2a \ --backup \ --encrypted \ --performance-mode generalPurpose \ --throughput-mode bursting \ --region us-west-2 \ --tags Key=Name,Value="Test File System" Key=developer,Value=rhoward \ --profile adminuser

    成功创建文件系统后,Amazon EFS 会以 JSON 形式返回文件系统描述,如以下示例所示。

    { "AvailabilityZoneId": "usw-az1", "AvailabilityZoneName": "us-west-2a", "OwnerId": "123456789abcd", "CreationToken": "MyFirstFS", "Encrypted": true, "FileSystemId": "fs-c7a0456e", "CreationTime": 1422823614.0, "LifeCycleState": "creating", "Name": "Test File System", "NumberOfMountTargets": 0, "SizeInBytes": { "Value": 6144, "ValueInIA": 0, "ValueInStandard": 6144 "ValueInArchive": 0 }, "PerformanceMode": "generalPurpose", "ThroughputMode": "bursting", "Tags": [ { "Key": "Name", "Value": "Test File System" } ] }

    Amazon EFS 还提供 describe-file-systems CLI 命令(相应 API 操作为 DescribeFileSystems),可以使用此命令在您的账户中检索文件系统列表,如下所示。

    aws efs describe-file-systems \ --region aws-region \ --profile adminuser

    Amazon EFS 会返回在指定区域中创建的您的 Amazon Web Services 账户中的文件系统列表。