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

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

创建Amazon EFS文件系统

在下文中,您可以找到有关如何使用 Amazon EFS 和 创建 AWS 管理控制台 文件系统的说明AWS CLI。

如果您不熟悉 Amazon EFS,我们建议您先完成入门练习,该练习提供了如何使用控制台在 VPC 中创建和访问文件系统的端到端说明。有关更多信息,请参阅入门

Requirements

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

创建令牌和依赖项

要创建文件系统,唯一的要求是创建一个令牌来确保幂等操作。如果您使用控制台,它会替您生成令牌。如果您使用 控制台中的 Custom Create (自定义创建) 流,则为您生成的创建令牌具有以下格式:

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

如果您使用 QuickCreate 创建具有服务推荐设置的文件系统,则创建令牌具有以下格式:

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

所需权限

要创建 EFS 资源(如文件系统和访问点),用户必须具有对应 API 操作和资源的 AWS Identity and Access Management (IAM) 权限。

您可以使用 AWS 账户根用户凭证执行任何 Amazon EFS 操作,但不建议使用根用户凭证。我们建议您在 账户中创建 IAM 用户,并授予他们使用 用户策略执行 Amazon EFS 操作的权限。也可以使用角色来授予跨账户权限。Amazon Elastic File System 还使用 AWS IAM 服务相关角色,该角色包含代表您调用其他 AWS 服务所需的权限。有关管理 API 操作权限的更多信息,请参阅适用于 Amazon EFS 的 Identity and Access Management

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

您可以使用 Amazon EFS 控制台或 AWS Command Line Interface () AWS CLI创建文件系统。您还可以直接使用 AWS SDKs或 Amazon EFS API 以编程方式创建文件系统。

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

可用性与持久性

可用性和持久性是指 Amazon EFS 文件系统在 AWS 区域中存储数据的冗余。您可以针对文件系统的可用性和持久性选择以下选项:

  • 选择 Regional (区域性) 可创建一个文件系统,该系统使用标准存储类,跨 AWS 区域中的所有可用区冗余存储文件系统数据和元数据。您还可以在AWS区域的每个可用区中创建挂载目标。区域性提供了最高级别的可用性和持久性。

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

    Amazon EFS 单区存储类将数据存储在单个AWS可用区中。因此,如果发生影响可用区内所有数据副本的灾难或其他故障,或发生可用区销毁,存储在这些存储类中的数据可能会丢失。

如果您选择 One Zone,则可以选择在其中创建文件系统的可用区。

自动备份

在使用控制台创建文件系统时,默认始终启用自动备份。当您使用 CLI 或 API 创建文件系统时,仅当您使用单区存储类创建文件系统时,才会默认启用自动备份。有关更多信息,请参阅自动备份

生命周期管理

生命周期管理会将在设定的时间段内未访问的文件迁移到较低成本的 Infrequent Access (IA) 存储类别。您可以设置Amazon EFS生命周期管理在创建文件系统时用于自动管理文件系统的经济高效的文件存储的策略。使用控制台创建文件系统时,默认情况下,策略设置为自上次访问以来的 30 天。当您使用 CLI 或 API 时,没有默认设置。有关更多信息,请参阅Amazon EFS 生命周期管理

性能模式

在创建文件系统时,还要选择性能模式。有两种性能模式可供选择—:通用模式和最大 I/O 模式。 对于大多数使用案例,我们建议您对文件系统使用通用性能模式。有关更多信息,请参阅性能模式

注意

对于使用单区存储类的文件系统,只有通用性能模式可用。

吞吐量模式

有两种吞吐量模式可供选择 —突增吞吐量预置吞吐量。默认的突增吞吐量模式易于使用,适用于大多数应用程序和各种性能要求。预置吞吐量模式适用于需要比突增吞吐量模式允许的吞吐量与存储容量的比率更高的应用程序。有关更多信息,请参阅吞吐量模式

注意

使用预置吞吐量模式会产生额外费用。有关更多信息,请参阅 Amazon EFS 定价

Encryption

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

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

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

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

使用 控制台创建 Amazon EFS 文件系统的过程包含四个步骤:

  • 步骤 1 - 配置一般文件系统设置,包括可用性和持久性、生命周期管理、性能和吞吐量模式以及静态数据加密。

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

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

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

步骤 1:配置文件系统设置

  1. 登录 AWS 管理控制台并通过以下网址打开 Amazon EFS 控制台:https://console.amazonaws.cn/efs/

  2. 选择 Create file system (创建文件系统) 以打开 Create file system (创建文件系统) 对话框。

    
                Amazon EFS 创建文件系统窗口
  3. 选择自定义以创建自定义文件系统,而不是使用服务建议设置创建文件系统。

    此时将显示 File system settings (文件系统设置) 页面。

    
                使用 EFS 控制台中的 General settings (常规设置) 页面创建 EFS 文件系统的步骤 1。
  4. 对于 General settings (常规设置),输入以下内容。

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

    2. 对于 Availability and Durability (可用性和持久性),请选择以下选项之一:

      • 选择 Regional (区域性) 以创建使用标准存储类的文件系统。标准存储类在 AWS 区域中的所有可用区中冗余存储文件系统数据和元数据。区域性提供了最高级别的可用性和持久性。

      • 选择 One Zone 以创建使用 One Zone 存储类的文件系统。单区存储类 在单个可用区内冗余存储文件系统数据和元数据。

        Amazon EFS 单区存储类将数据存储在单个AWS可用区中。因此,在出现影响可用区内所有数据副本的灾难或其他故障时,或者出现可用区销毁的情况下,存储在这些存储类中的数据可能会丢失。

      如果您选择 One Zone,请选择要在其中创建文件系统的可用区,或保留默认设置。

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

    3. 默认情况下,自动备份处于开启状态。您可以通过清除 复选框来关闭自动备份。有关更多信息,请参阅配合使用 AWS Backup 和 Amazon EFS

    4. 选择生命周期管理策略。默认策略是上次访问后的 30 天。如果您不想使用生命周期管理,请选择 None (无)。有关更多信息,请参阅Amazon EFS 生命周期管理

    5. 选择性能模式,即默认的通用模式或最大 I/O。 您可以在文件系统可用后更改性能模式。有关更多信息,请参阅性能模式

      注意

      只有通用模式可用于配置为单区可用性和持久性的文件系统。

    6. 选择 Throughput mode (吞吐量模式),即默认的 Bursting (突增) 模式或 Provisioned (预置) 模式。

      如果您选择 Provisioned (预置),将显示 Provisioned Throughput (MiB) (预置吞吐量 (MiB/s)) 部分。输入要为文件系统请求预置的吞吐量

      最大读取吞吐量显示为您输入的吞吐量的三倍。EFS 文件系统以三分之一的其他请求速率来计量读取请求。在输入吞吐量后,将显示文件系统的月度成本的估计值。

      您可以在文件系统可用后随时更改写入吞吐量。有关更多信息,请参阅吞吐量模式

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

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

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

  5. (可选)将标签键值对添加到您的文件系统。

  6. 选择 Next (下一步) 以继续执行配置过程中的 Network Access (网络访问) 步骤。

步骤 2:配置网络访问

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


              创建 EFS 文件系统的步骤 2,使用 EFS 控制台配置网络设置。
  1. 选择您希望 EC2 实例连接到文件系统的 Virtual Private Cloud (VPC)。有关更多信息,请参阅管理文件系统网络可访问性

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

    • 可用区 – 默认情况下,挂载目标在 AWS 区域的每个可用区中进行配置。如果您不希望在特定可用区中使用挂载目标,请选择 Remove (删除) 以删除该区域的挂载目标。在您计划从中访问文件系统的每个可用区中创建一个挂载目标–,这样做不会产生任何费用。

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

    • IP 地址 – 默认情况下, 自动从子网中的可用地址Amazon EFS中选择 IP 地址。或者,您可以输入位于子网中的特定 IP 地址。虽然挂载目标具有单个 IP 地址,但它们是冗余、高度可用的网络资源。

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

      要添加另一个安全组或更改该安全组,请选择 Choose security groups (选择安全组) 并从列表中选择另一个安全组。如果您不想使用默认安全组,可以将其删除。有关更多信息,请参阅创建安全组

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

  4. 选择 Next 以继续。此时将显示 File system policy (文件系统策略) 页面。

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

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


              创建 EFS 文件系统的步骤 3,可以选择创建文件系统策略。
  1. Policy options (策略选项) 中,您可以选择可用预配置策略的任意组合:

    • 默认情况下阻止根访问权限

    • 默认情况下强制实施只读访问

    • 对所有客户端实施传输中加密

  2. 使用 Policy editor (策略编辑器) 自定义预配置的策略或创建自己的策略。当您选择预配置的策略之一时,JSON 策略定义将显示在策略编辑器中。您可以编辑 JSON 以创建您选择的策略。要撤消您的更改,请选择 Clear (清除)。

    预配置策略在 Policy options (策略选项) 中再次可用。

  3. 选择 Next 以继续。此时将显示 Review and create 页面。

步骤 4:审核并创建

  1. 查看每个文件系统配置组。此时,您可以通过选择 Edit (编辑) 来更改每个组。

    
                显示新创建的文件系统及其配置详细信息的文件系统详细信息页面。
  2. 选择 Create (创建) 以创建您的文件系统并返回到 File systems (文件系统) 页面。

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

  3. File systems (文件系统) 页面显示文件系统及其配置详细信息,如下所示。

    
                显示新创建的文件系统及其配置详细信息的文件系统详细信息页面。

使用 创建文件系统 AWS CLI

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

以下示例使用 adminuser 作为profile参数值。您需要使用适当的用户配置文件来提供您的凭证。有关 的信息AWS CLI,请参阅 中的https://docs.amazonaws.cn/cli/latest/userguide/cli-chap-getting-set-up.html安装 AWS AWS Command Line Interface 用户指南CLI。

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

    $ aws efs create-file-system \ -\-creation-token creation-token \ -\-encrypted true \ -\-backup true \ -\-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 AWS 区域创建一个文件系统。该命令指定 MyFirstFS 作为创建令牌。有关可创建 Amazon EFS 文件系统的 AWS 区域的列表,请参阅 Amazon Web Services 一般参考

    $ aws efs create-file-system \ -\-creation-token MyFirstFS \ -\-backup true \ -\-encrypted true \ -\-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 }, "PerformanceMode": "generalPurpose", "ThroughputMode": "bursting", "Tags": [ { "Key": "Name", "Value": "Test File System" } ] }

    以下示例创建一个文件系统,该系统使用 us-west-2a 属性在 availability-zone-name可用区中使用单区存储类。

    $ aws efs create-file-system \ -\-creation-token MyFirstFS \ -\-availability-zone-name us-west-2a \ -\-backup true \ -\-encrypted true \ -\-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 }, "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 返回您在指定区域中创建的 AWS 账户中的文件系统的列表。