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

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

创建 Amazon EFS 文件系统

接下来,您可以学习如何使用 Amazon Web Services Management Console 和创建 Amazon EFS 文件系统 Amazon CLI。

如果您不熟悉 Amazon EFS,我们建议您完成入门练习。本练习提供了基于控制台的 end-to-end 说明,用于在您的虚拟私有云 (VPC) 中创建和访问文件系统。有关更多信息,请参阅 开始使用

要求

本节介绍创建 Amazon EFS 文件系统的要求和先决条件。

创建令牌和幂等性

幂等性可确保 API 请求仅完成一次。对于幂等性请求,如果原始请求成功完成,则后续请求不会产生额外影响。这对于防止在您与 Amazon EFS API 交互时创建重复任务非常有用。

Amazon EFS API 支持客户端请求令牌的幂等性。客户端请求令牌是您在发出创建作业请求时指定的唯一字符串。

客户端请求令牌可以是包含最多 64 个 ASCII 字符的任意字符串。如果您在成功请求后的一分钟内重复使用客户端请求令牌,API 将返回原始请求的作业详细信息。

如果您使用控制台,它会替您生成令牌。如果您使用控制台中的自定义创建流程,为您生成的创建令牌具有以下格式:

"CreationToken": "console-d215fa78-1f83-4651-b026-facafd8a7da7"

如果您使用“快速创建”来创建具有服务建议设置的文件系统,创建令牌的格式如下:

"CreationToken": "quickCreated-d7f56c5f-e433-41ca-8307-9d9c0f8a77a2"

所需权限

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

创建 IAM 用户,并使用用户策略向他们授予执行 Amazon EFS 操作的权限。也可以使用角色来授予跨账户权限。Amazon Elastic File System 还使用一个 IAM 服务相关角色,其中包括 Amazon Web Services 代表您呼叫他人所需的权限。有关管理 API 操作权限的更多信息,请参阅适用于 Amazon Elastic File System 的 Identity and Access Management

创建文件系统时的配置选项

可以使用 Amazon EFS 控制台或 Amazon Command Line Interface (Amazon CLI)创建文件系统。您也可以直接使用软件 Amazon 开发工具包或 Amazon EFS API 以编程方式创建文件系统。如果您使用的是 Amazon EFS API 或 Amazon 软件开发工具包,则可以使用 CreateFileSystem EFS API 操作来创建文件系统策略。

使用控制台中的自定义创建流或 Amazon CLI创建 Amazon EFS 文件系统时,可以为以下文件系统功能和配置选项选择设置。

文件系统类型

文件系统类型决定了 Amazon EFS 文件系统在 Amazon Web Services 区域中存储数据的可用性和持久性。您可以为文件系统类型选择以下选项:

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

  • 选择单区可创建一个文件系统,该文件系统在单个可用区内以冗余方式存储数据和元数据。使用存储类的文件系统只能有一个挂载目标。此挂载目标必须位于创建文件系统的可用区中。

自动备份

在使用控制台创建文件系统时,自动备份在默认情况下始终处于启用状态。使用 CLI 或 API 创建文件系统时,只有在创建使用“单区”文件系统的文件系统时,才会默认启用自动备份。有关更多信息,请参阅 自动备份

生命周期策略

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

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

  • TransitionToArchive设置为自上次访问以来的 90 天。

  • 转换为标准设置为

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

加密

您可以在创建文件系统时启用静态加密。如果为文件系统启用静态加密,则会加密其中存储的所有数据和元数据。您可以在以后挂载文件系统时启用传输中加密。有关 Amazon EFS 加密的更多信息,请参阅Amazon EFS 中的数据加密

要在 VPC 中创建文件系统挂载目标,您必须指定 VPC 子网。控制台会预填充您的账户中位于选定 Amazon Web Services 区域的 VPC 列表。首先,您要选择 VPC,然后控制台会列出 VPC 中的可用区。对于每个可用区,您都可以从列表中选择一个子网,或使用默认子网(如果存在)。选择子网后,您可以指定子网中的可用 IP 地址,也可以让 Amazon EFS 自动选择一个地址。

吞吐量模式

有三种吞吐量模式可供选择:

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

    注意

    弹性吞吐量仅适用于具有通用性能模式的文件系统。

  • 预调配 – 提供您指定的吞吐量级别,与文件系统的大小无关。

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

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

注意

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

性能模式

在创建文件系统时,还要选择性能模式。有两种模式可供选择:通用最大 I/O

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

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

重要

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

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

使用 Amazon EFS 控制台创建具有自定义设置的文件系统

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

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

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

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

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

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

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

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

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

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

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

    2. 对于文件系统类型,选择可用性选项:

      • 选择区域性可创建一个文件系统,该文件系统可跨 Amazon Web Services 区域中的所有可用区以冗余方式存储文件系统数据和元数据。区域性提供最高级别的可用性和持久性。

      • 选择单区可创建一个文件系统,该文件系统在单个可用区内以冗余方式存储文件系统数据和元数据。如果选择单区,请选择要在其中创建文件系统的可用区,或者保留默认值。有关更多信息,请参阅 EFS 存储类

    3. 默认情况下,自动备份处于开启状态。可以通过清除相应复选框关闭自动备份。有关更多信息,请参阅 备份您的 Amazon EFS 文件系统

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

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

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

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

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

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

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

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

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

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

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

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

      Amazon EFS 文件系统以其他请求的三分之一速率计量读取请求。进入吞吐量模式后,将显示文件系统每月成本的估计值。文件系统可用后,您可以更改吞吐量模式。

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

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

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

      重要

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

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

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

步骤 2:配置网络访问

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

  1. 选择希望 EC2 实例连接到文件系统的虚拟私有云(VPC)。有关更多信息,请参阅 管理文件系统网络可访问性

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

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

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

    • IP 地址 – 默认情况下,Amazon EFS 会自动从子网中的可用地址中选择 IP 地址。或者,也可以输入子网中的特定 IP 地址。尽管挂载目标只有一个 IP 地址,但它们是高度可用的冗余网络资源。

    • 安全组 – 可以为挂载目标指定一个或多个安全组。有关更多信息,请参阅 使用 Amazon EC2 实例和挂载目标的安全组

      要添加其他安全组或更改安全组,请选择选择安全组,并从列表中添加其他安全组。如果不想使用默认安全组,可将其删除。有关更多信息,请参阅 创建安全组

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

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

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

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

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

    • 默认阻止根访问

    • 默认强制执行只读访问

    • 对所有客户端强制执行传输中加密

  2. 使用策略编辑器自定义预配置以策略或创建自己的策略。选择其中一个预配置的策略时,JSON 策略定义将显示在策略编辑器中。可以编辑 JSON 以创建所选择的策略。要撤消更改,请选择清除

    预配置的策略在策略选项中再次可用。

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

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

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

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

使用 Amazon CLI创建文件系统

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

以下示例使用 adminuser 作为 --profile 参数值。必须使用适当的用户配置文件来提供凭证。有关的信息 Amazon CLI,请参阅《Amazon Command Line Interface 用户指南》 Amazon CLI中的 “安装”。

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

    aws efs create-file-system \ --creation-token creation-token \ --encrypted \ --backup \ --performance-mode generalPurpose \ --throughput-mode bursting \ --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 区域

    aws efs create-file-system \ --creation-token MyFirstFS \ --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 形式返回文件系统描述,如以下示例所示。

    { "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" } ] }
  • 以下示例将使用 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 账户 创建的文件系统的列表。