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

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

Amazon EFS

您可以使用 Amazon EFS 复制在中创建 Amazon EFS 文件系统的副本Amazon Web Services 区域你的喜好。在 EFS 文件系统上启用复制后,Amazon EFS 会自动透明地将源文件系统上的数据和元数据复制到新的目标 EFS 文件系统。为了管理创建目标文件系统并使其与源文件系统保持同步的过程,Amazon EFS 使用复制配置.

Amazon EFS 自动保持源和目标文件系统同步。Amazon EFS 复制是连续的,旨在提供几分钟的恢复点目标 (RPO) 和恢复时间目标 (RTO)。这些功能应有助于您实现法规遵从性和业务连续性目标。

注意

EFS 复制不支持套接字和命名管道或 FIFO,也不会将它们复制到目标文件系统。

复制配置中有什么

当您创建复制配置时,您需要指定目标文件系统的以下属性:

  • Amazon Web Services 区域— 该Amazon Web Services 区域在其中创建目标文件系统。Amazon EFS 复制在所有版本中都可用Amazon Web Services 区域Amazon EFS 在中可用,但以下情况除外:

    • Africa (Cape Town)

    • Asia Pacific (Hong Kong)

    • 亚太地区(雅加达)

    • Europe (Milan)

    • Middle East (Bahrain)

  • 可用性与持久性— 目标文件系统使用的存储类,区域性要么Oe Zone. 有关 EFS 存储类别的更多信息,请参阅 EFS 存储类别

  • 可用区如果您选择...Oe Zone可用性和持久性,则必须选择要在其中创建目标文件系统的可用区。

  • 加密— 创建所有目标文件系统时都启用了静态加密。您可以指定Amazon Key Management Service(Amazon KMS) 用于加密目标文件系统的密钥。如果您未指定 KMS 密钥,则将使用 Amazon EFS 的服务托管式 KMS 密钥。

    重要

    创建目标文件系统后,您无法对其进行更改 KMS 密钥。

默认情况下会设置以下属性:

  • 自动备份— 对于使用 One Zone 存储的目标文件系统,默认情况下会启用自动备份。创建文件系统后,您可以更改自动备份设置.

    注意

    对于使用标准存储的目标文件系统,自动备份是默认情况下已启用。

  • 性能模式— 目标文件系统的性能模式与源文件系统的性能模式相匹配,除非目标文件系统使用 EFS One Zone 存储。在这种情况下,将使用通用性能模式。无法对性能模式进行更改。

  • 吞吐量模式— 默认情况下,目标文件系统使用突增吞吐量模式。创建文件系统后,您可以修改吞吐量模式。

默认情况下,以下属性处于关闭状态:

Amazon EFS 创建具有只读权限的目标文件系统。创建目标文件系统后,Amazon EFS 将执行初始同步,将源上的所有数据和元数据复制到目标文件系统。初始同步需要多长时间才能完成,取决于源文件系统的大小。初始同步完成后,复制过程会持续使目标文件系统与源文件系统保持同步。有关更多信息,请参阅 性能

您可以使用控制台监控上次成功同步的时间Amazon Command Line Interface(Amazon CLI)、API 和亚马逊 CloudWatch. In CloudWatch,请使用TimeSinceLastSyncEFS 指标。有关更多信息,请参阅 监控复制状态

注意

一个 Amazon EFS 文件系统只能是一个复制配置的一部分。在其他复制配置中,不能将目标文件系统用作源文件系统。

所需权限

Amazon EFS 使用名为的 EFS 服务相关角色AWSServiceRoleForAmazonElasticFileSystem以同步源和目标文件系统之间的复制状态。要使用 EFS 复制,您必须配置以下权限以允许 IAM 实体(例如,用户、组或角色)创建服务相关角色、复制配置和文件系统。

  • elasticfilesystem:CreateReplicationConfiguration*

  • elasticfilesystem:DeleteReplicationConfiguration*

  • elasticfilesystem:DescribeReplicationConfigurations*

  • elasticfilesystem:CreateFileSystem*

  • iam:CreateServiceLinkedRole— 参见中的示例使用 Amazon EFS 服务相关角色.

注意

*您可以使用AmazonElasticFileSystemFullAccess托管策略自动获取所有 EFS 权限。有关更多信息,请参阅 Amazon托管策略:AmazonElasticFileSystemFullAccess

成本

为了便于复制,Amazon EFS 会在目标文件系统上创建隐藏目录和元数据。这相当于要计费的计量数据量约为 12 MiB。有关计量文件系统存储的更多信息,请参阅计量:Amazon EFS 如何报告文件系统和对象大小.

性能

初始复制完成后,大多数源文件系统会在 15 分钟内将其后续更改复制到目标文件系统。但是,如果源文件系统中的文件更改频率很高,并且文件数量超过 1 亿个,或者文件大于 100 GB,则复制将花费超过 15 分钟。有关监视上次复制成功完成时间的信息,请参见监控复制状态.

挂载目标文件系统

Amazon EFS 在创建目标文件系统时不会创建任何挂载目标。目的挂载目标文件系统您必须创建一个或多个挂载目标.

由于目标文件系统是复制配置的成员时它是只读的,因此对其进行的任何写入操作都将失败。但是,您可以将目标文件系统用于只读用例,包括测试和开发。

监控复制状态

您可以在复制配置中监视上次成功同步的完成时间。在此时间之前对源文件系统上的数据所做的任何更改都已成功复制到目标文件系统。在此时间之后发生的任何更改都可能无法完全复制。要监控上次复制成功完成的时间,您可以使用控制台、CLI、API 或 Amazon CloudWatch.

  • 在控制台中— 该Last sync属性位于文件系统详细信息 >复制部分显示了源和目标之间最后一次成功同步的完成时间。

  • 在 CLI 或 API 中— 该LastReplicatedTimestamp属性位于Destination对象显示上次成功同步完成的时间。要访问此属性,请使用describe-replication-configurationsCLI 命令。DescribeReplicationConfigurations是等效的 API 操作。

  • In CloudWatch— 该TimeSinceLastSync CloudWatchAmazon EFS 指标显示自上次成功完成同步以来经过的时间。有关更多信息,请参阅 亚马逊 CloudWatch Amazon EFS 指标

您还可以使用控制台、CLI 或 API 监控复制配置的状态。复制配置可以具有下表中所述的一种状态值。

复制状态 描述

ENABLED

复制配置处于正常状态,可供使用。

ENABLING

Amazon EFS 正在创建复制配置。

DELETING

Amazon EFS 正在删除复制配置,以响应用户发起的删除请求。

ERROR

复制配置中的一个(或两个)文件系统处于故障状态且无法恢复。要访问文件系统数据,请将故障文件系统的备份还原到新的文件系统。有关更多信息,请参阅 还原恢复点

故障切换到目标文件系统

要在复制配置中故障切换到目标文件系统,必须删除复制配置。删除复制配置后,目标文件系统将变为可写状态,您可以开始在应用程序工作流中使用它。此过程可能需要几分钟的时间才能完成。有关更多信息,请参阅 删除复制配置

故障切换到目标文件系统后,可以在新的复制配置中将该文件系统用作源文件系统。但是,无法再次将其指定为目标文件系统。复制配置始终会为目标创建新的 EFS 文件系统。

创建复制配置

您可以使用 Amazon EFS 控制台、API 或Amazon CLI复制现有的 Amazon EFS 文件系统。以下各节为您提供了使用这些方法的详细说明。

  1. 登录到 sync (登录到Amazon Web Services Management Console并在以下位置打开 Amazon EFS 控制台https://console.aws.amazon.com/efs/.

  2. 在左侧导航窗格中,选择文件系统.

  3. 文件系统列表中,选择要复制的 Amazon EFS 文件系统。您选择的文件系统不能是现有复制配置中的源文件系统或目标文件系统。

  4. 选择复制选项卡以显示文件系统的 “复制” 部分。该部分应为空白。如果不是,请选择其他文件系统作为源。

  5. 如果文件系统尚未复制,请选择创建复制显示创建复制页.

    
         Amazon EFS 控制台中的创建复制页面用于创建复制配置。
  6. 适用于复制设置中,选择以下选项:

    • 目标区域— 该Amazon Web Services 区域要在其中创建目标文件系统。

    • 可用性与持久性-选择...区域性要么Oe Zone.

      • 要创建具有最高可用性和持久性级别的文件系统,请选择区域性. 目标文件系统将使用 EFS 标准存储。借助 EFS 标准存储,您的文件系统数据和元数据将以冗余方式存储在多个地理位置分开的可用区内Amazon Web Services 区域. 有关更多信息,请参阅 EFS 存储类别

      • 要创建使用 EFS 单区存储的文件系统,选择Oe Zone. 借助 EFS One Zone 存储,您的文件系统数据和元数据冗余存储在Amazon Web Services 区域. 有关更多信息,请参阅 EFS 存储类别

    • 如果您选择...Oe Zone,您还必须选择要在其中创建文件系统的可用区。

    • 加密— 静态数据的加密在目标文件系统上自动启用。默认情况下,Amazon EFS 使用您的Amazon Key Management Service(Amazon KMS) Amazon EFS 的服务密钥 (aws/elasticfilesystem)。要使用其他 KMS 密钥,请从列表中选择一个 KMS 密钥,或输入现有密钥的 ARN。

      重要

      创建文件系统后,您无法对其进行更改 KMS 密钥。

  7. 选择创建复制. 此时将显示 “复制” 部分,其中显示了复制的详细信息。这些区域有:复制状态值最初为启用, 和Last sync为空。在状态读取之后Enabled (已启用)Last sync节目正在进行初始同步.

    
        这些区域有:文件系统详细信息 >复制部分显示复制配置。
  8. 要查看目标文件系统的配置信息,请选择上面的文件系统 ID目标文件系统. 这些区域有:文件系统详细信息在新的浏览器选项卡中显示目标文件系统的页面(取决于您的浏览器设置)。

要创建现有文件系统的复制配置,请使用create-replication-configurationCLI 命令。等效的 API 命令是 CreateReplicationConfiguration

  • 您可以指定一个AvailabilityZoneName参数,aRegion参数,或两者兼而有之。要创建使用 EFS 单区存储的文件系统,请使用AvailabilityZoneName参数,并指定要在其中创建文件系统的可用区。包括两个区域还有可用区还会创建一个带有 One Zone 存储的文件系统。创建使用 EFS 标准存储的文件系统,该存储在多个可用区之间是冗余的Amazon Web Services 区域,请仅指定Region参数。

  • 静态数据的加密在目标文件系统上自动启用。默认情况下,Amazon EFS 使用您的Amazon Key Management Service(Amazon KMS) Amazon EFS 的服务密钥 (aws/elasticfilesystem)。您可以选择指定一个KmsKeyId用于加密的值,方法是指定 KMS 密钥 ID 或 ARN。

    重要

    创建文件系统后,您无法对其进行更改 KMS 密钥。

例 — 创建一个使用 EFS 单区存储的复制配置

以下示例创建文件系统的复制配置fs-0123456789abcdef1. 此示例使用AvailabilityZoneName参数创建使用EFS 单区存储的目标文件系统us-west-2a可用区。由于未指定 KMS 密钥,因此使用账户的默认加密目标文件系统Amazon KMSAmazon EFS 的服务密钥 (aws/elasticfilesystem)。

aws efs create-replication-configuration \ --source-file-system-id fs-0123456789abcdef1 \ --destinations AvailabilityZoneName=us-west-2a

例 — 使用 EFS 标准存储创建区域复制配置

以下示例创建文件系统的复制配置fs-0123456789abcdef1. 此示例使用Region参数,在中使用 EFS 标准存储创建目标文件系统eu-west-2 Amazon Web Services 区域. 这些区域有:KmsKeyId参数指定加密目标文件系统时使用的 KMS 密钥 ID。

aws efs create-replication-configuration \ --source-file-system-id fs-0123456789abcdef1 \ --destinations "[{\"Region\":\"eu-west-2\", \"KmsKeyId\":\"arn:aws:kms:us-east-2:111122223333:key\/abcd1234-ef56-ab78-cd90-1111abcd2222\"}]"

这些区域有:Amazon CLI响应如下所示:

{ "SourceFileSystemArn": "arn:aws:elasticfilesystem:us-east-1:111122223333:file-system/fs-0123456789abcdef1", "SourceFileSystemRegion": "us-east-1", "Destinations": [ { "Status": "ENABLING", "FileSystemId": "fs-0123456789abcde22", "Region": "eu-west-2" } ], "SourceFileSystemId": "fs-0123456789abcdef1", "CreationTime": 1641491892.0, "OriginalSourceFileSystemArn": "arn:aws:elasticfilesystem:us-east-1:111122223333:file-system/fs-0123456789abcdef1" }

查看复制配置

要查看文件系统的复制配置,您可以使用 Amazon EFS 控制台或Amazon CLI.

  1. 访问 https://console.aws.amazon.com/efs/,打开 Amazon Elastic File System 控制台。

  2. 在左侧导航窗格中,选择文件系统.

  3. 从列表中选择一个文件系统。

  4. 选择复制选项卡以显示复制部分。

    
        这些区域有:文件系统详细信息 >复制部分显示文件系统的复制配置信息。

    复制部分中,您可以看到有关复制配置的以下信息:

    • 复制状态或读取启用Enabled (已启用)删除,或者错误. 这些区域有:错误状态发生在源文件系统或目标文件系统(或两者)处于故障状态且不可恢复时。有关更多信息,请参阅 监控复制状态。要进行恢复,必须删除复制配置,然后将出现故障的文件系统(源或目标)的最新备份恢复到新的文件系统。

    • 复制方向显示了数据的复制方向。列出的第一个文件系统是源系统,其数据正在被复制列出的第二个文件系统,即目标。

    • Last sync显示目标文件系统上次成功同步的时间。在此时间之前对源文件系统上数据进行的任何更改都已成功复制到目标文件系统中。在此时间之后发生的任何更改都可能无法完全复制。

    • 复制文件系统列出复制配置中的每个文件系统,按文件系统 ID、它在复制配置中的角色(源或目标)、Amazon Web Services 区域它位于哪里,它的许可. 源文件系统的权限为可写,并且目标文件系统的权限为Read-only.

要查看复制配置,请使用describe-replication-configurationsCLI 命令。您可以查看特定文件系统的复制配置,也可以查看特定文件系统的所有复制配置Amazon Web Services 账户在一个Amazon Web Services 区域. 等效的 API 命令是 DescribeReplicationConfigurations

要查看文件系统的复制配置,请使用file-system-idURI 请求参数。您可以指定源文件系统或目标文件系统的 ID。

aws efs describe-replication-configurations --file-system-id fs-0123456789abcdef1
{ "Replications": [ { "SourceFileSystemArn": "arn:aws:elasticfilesystem:eu-west-1:111122223333:file-system/fs-abcdef0123456789a", "CreationTime": 1641491892.0, "SourceFileSystemRegion": "eu-west-1", "OriginalSourceFileSystemArn": "arn:aws:elasticfilesystem:eu-west-1:111122223333:file-system/fs-abcdef0123456789a", "SourceFileSystemId": "fs-abcdef0123456789a", "Destinations": [ { "Status": "ENABLED", "FileSystemId": "fs-0123456789abcdef1", "Region": "us-east-1" } ] } ] }

在中查看账户的所有复制配置Amazon Web Services 区域请不要指定file-system-id参数。

aws efs describe-replication-configurations
{ "Replications": [ { "SourceFileSystemArn": "arn:aws:elasticfilesystem:eu-west-1:555555555555:file-system/fs-0123456789abcdef1", "CreationTime": 1641491892.0, "SourceFileSystemRegion": "eu-west-1", "OriginalSourceFileSystemArn": "arn:aws:elasticfilesystem:eu-west-1:555555555555:file-system/fs-0123456789abcdef1", "SourceFileSystemId": "fs-0123456789abcdef1", "Destinations": [ { "Status": "ENABLED", "FileSystemId": "fs-abcdef0123456789a", "Region": "us-east-1", "LastReplicatedTimestamp": 1641491802.375 } ] }, { "SourceFileSystemArn": "arn:aws:elasticfilesystem:eu-west-1:555555555555:file-system/fs-021345abcdef6789a", "CreationTime": 1641491822.0, "SourceFileSystemRegion": "eu-west-1", "OriginalSourceFileSystemArn": "arn:aws:elasticfilesystem:eu-west-1:555555555555:file-system/fs-021345abcdef6789a", "SourceFileSystemId": "fs-021345abcdef6789a", "Destinations": [ { "Status": "ENABLED", "FileSystemId": "fs-012abc3456789def1", "Region": "us-east-1", "LastReplicatedTimestamp": 1641491823.575 } ] } ] }

删除复制配置

您可以使用控制台、CLI 或 API 删除现有复制配置。如果需要故障切换到目标文件系统,请删除它所属的复制配置。删除复制配置后,目标文件系统将不再处于只读状态。

删除复制配置并将目标文件系统更改为可写操作可能需要几分钟才能完成。删除配置后,Amazon EFS 可能会将一些数据写入lost+found目标文件系统的根目录中的目录,使用以下命名约定:

efs-replication-lost+found-source-file-system-id-TIMESTAMP
注意

不能删除属于复制配置一部分的文件系统。只有在删除复制配置后才能删除文件系统。

删除复制配置时,必须从同一个配置发出删除请求Amazon Web Services 区域目标文件系统所在的位置。Amazon EFS 控制台会为您管理此问题,但您必须确保您处于正确的状态Amazon Web Services 区域使用 CLI 和 API 进行使用。

  1. 访问 https://console.aws.amazon.com/efs/,打开 Amazon Elastic File System 控制台。

  2. 在左侧导航窗格中,选择文件系统.

  3. 选择复制配置中要删除的源文件系统或目标文件系统。

  4. 选择复制选项卡以显示复制部分。

  5. 选择Delete删除复制配置。出现提示时确认您的选择。

要删除复制配置,请使用delete-replication-configurationCLI 命令。等效的 API 命令是 DeleteReplicationConfiguration

要指定要删除的复制配置,请使用source-file-system-id参数。

注意

这些区域有:delete-replication-configuration必须从同一个调用 CLI 请求Amazon Web Services 区域目标文件系统所在的位置。

aws efs --region us-west-2 delete-replication-configuration \ --source-file-system-id fs-0123456789abcdef1