创建和管理挂载目标 - Amazon Elastic File System
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

创建和管理挂载目标

创建 Amazon EFS 文件系统后,您可以创建挂载目标。对于使用标准存储类的Amazon EFS文件系统,您可以在 AWS 区域的每个可用区中创建一个挂载目标。对于使用单区存储类的 EFS 文件系统,您只能在与文件系统相同的可用区中创建单个挂载目标。然后,您可以将文件系统挂载到计算实例上,包括 Virtual Private Cloud (VPC) Amazon EC2 中的 Amazon ECS、 AWS Lambda和 。

下图显示了一个使用标准存储类的 Amazon EFS 文件系统,并在 VPC 的所有可用区中创建了挂载目标。


        显示 VPC 中的 3 个可用区(包含 EC2 实例和挂载目标)以及挂载的 EFS 区域文件系统的示意图。

下图显示了一个使用单区存储类的 Amazon EFS 文件系统,以及在与文件系统相同的可用区中创建了一个挂载目标。使用 us-west2c 可用区中的 EC2 实例访问文件系统会产生数据访问费用,因为它位于与挂载目标不同的可用区中。


        显示 VPC 中的 2 个可用区(包含 EC2 实例、仅一个挂载目标和挂载的 EFS 单区文件系统)的示意图。

挂载目标安全组充当控制流量的虚拟防火墙。例如,它确定哪些客户端可以访问文件系统。本节介绍以下内容:

  • 管理挂载目标安全组和启用流量。

  • 在客户端上挂载文件系统。

  • NFS 级权限注意事项。

    最初,只有 Amazon EC2 实例上的根用户才具有对文件系统的读写执行权限。本主题讨论 NFS 级权限并提供显示如何在常见场景中授予权限的示例。有关更多信息,请参阅在网络文件系统 (NFS) 级别使用用户、组和权限

您可以使用 AWS 管理控制台、 AWS CLI或使用 AWS SDKs以编程方式为文件系统创建挂载目标。使用控制台时,您可以在首次创建文件系统时或创建文件系统之后创建挂载目标。

有关在创建新文件系统时使用 Amazon EFS 控制台创建挂载目标的说明,请参阅步骤 2:配置网络访问

使用以下过程可添加或修改现有Amazon EFS文件系统的挂载目标。

管理 Amazon EFS 文件系统上的挂载目标(控制台)

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

  2. 在左侧导航窗格中,选择 File systems (文件系统)。File systems (文件系统) 页面显示您账户中的 EFS 文件系统。

  3. 选择要管理挂载目标的文件系统,方法是选择其 Name (名称) 或 File system ID (文件系统 ID) 以显示文件系统详细信息页面。

  4. 选择 Network (网络) 以显示现有挂载目标的列表。

    
              Amazon EFS 控制台文件系统详细信息,网络选项卡。
  5. 选择 Manage (管理) 以显示 Availability zone (可用区) 页面并进行修改。

    
              Amazon EFS 控制台文件系统详细信息,网络选项卡。

    在此页面上,对于现有挂载目标,您可以添加和删除安全组,或删除挂载目标。您还可以创建新的挂载目标。

    注意

    对于使用单区存储类的文件系统,您只能创建与文件系统位于同一可用区中的单个挂载目标。

    • 要从挂载目标中删除安全组,请选择安全组 ID 旁边的 X。

    • 要将安全组添加到挂载目标,请选择 Select security groups (选择安全组) 以显示可用安全组的列表。或者,在列表顶部的搜索字段中输入安全组 ID。

    • 要将挂载目标排队以进行删除,请选择 Remove (删除)。

      注意

      在删除挂载目标之前,请先卸载文件系统。

    • 要添加挂载目标,请选择 Add mount target (添加挂载目标)。这仅适用于使用标准存储类的文件系统,如果挂载目标在AWS该区域的每个可用区中尚不存在,则此功能可用。

  6. 选择 Save (保存) 以保存任何更改。

更改 Amazon EFS 文件系统的 VPC(控制台)

要更改文件系统网络配置的 VPC,您必须删除文件系统的所有现有挂载目标。

  1. 通过 https://console.amazonaws.cn/efs/ 打开 Amazon Elastic File System 控制台。

  2. 在左侧导航窗格中,选择 File systems (文件系统)。File systems (文件系统) 页面显示您账户中的 EFS 文件系统。

  3. 对于要更改 VPC 的文件系统,请选择 Name (名称) 或 File system ID (文件系统 ID)。此时将显示文件系统详细信息页面。

  4. 选择 Network (网络) 以显示现有挂载目标的列表。

  5. 选择管理。此时将显示 Availability zone (可用区) 页面。

  6. 删除页面上显示的所有挂载目标。

  7. 选择 Save (保存) 以保存更改并删除挂载目标。Network 选项卡会将挂载目标状态显示为正在删除

  8. 当所有挂载目标状态显示为已删除时,选择 Manage (管理)。此时将显示 Availability zone (可用区) 页面。

  9. Virtual Private Cloud (VPC) 列表中选择新的 VPC。

  10. 选择 Add mount target (添加挂载目标) 以添加新挂载目标。对于您添加的每个挂载目标,输入以下内容:

    • 可用区

    • 子网 ID

    • IP 地址,或将其设置为 Automatic (自动)

    • 一个或多个安全组

  11. 选择 Save (保存) 以实施 VPC 和挂载目标更改。

注意

对于使用单区存储类的文件系统,您只能创建与文件系统位于同一可用区中的单个挂载目标。

创建挂载目标 (CLI)

  • 要创建挂载目标,请使用 create-mount-target CLI 命令(相应操作为 CreateMountTarget),如下所示。

    $ aws efs create-mount-target \ --file-system-id file-system-id \ --subnet-id subnet-id \ --security-group ID-of-the-security-group-created-for-mount-target \ --region aws-region \ --profile adminuser

    以下示例显示了带示例数据的 命令。

    $ aws efs create-mount-target \ --file-system-id fs-0123467 \ --subnet-id subnet-b3983dc4 \ --security-group sg-01234567 \ --region us-east-2 \ --profile adminuser

    成功创建挂载目标后,Amazon EFS 以 JSON 形式返回挂载目标描述,如以下示例所示。

    { "MountTargetId": "fsmt-f9a14450", "NetworkInterfaceId": "eni-3851ec4e", "FileSystemId": "fs-b6a0451f", "LifeCycleState": "available", "SubnetId": "subnet-b3983dc4", "OwnerId": "23124example", "IpAddress": "10.0.1.24" }

检索文件系统的挂载目标列表 (CLI)

  • 您还可以使用 describe-mount-targets CLI 命令检索为文件系统创建的挂载目标列表(相应的操作为 DescribeMountTargets),如下所示。

    $ aws efs describe-mount-targets --file-system-id fs-a576a6dc
    { "MountTargets": [ { "OwnerId": "111122223333", "MountTargetId": "fsmt-48518531", "FileSystemId": "fs-a576a6dc", "SubnetId": "subnet-88556633", "LifeCycleState": "available", "IpAddress": "172.31.25.203", "NetworkInterfaceId": "eni-0123456789abcdef1", "AvailabilityZoneId": "use2-az2", "AvailabilityZoneName": "us-east-2b" }, { "OwnerId": "111122223333", "MountTargetId": "fsmt-5651852f", "FileSystemId": "fs-a576a6dc", "SubnetId": "subnet-44223377", "LifeCycleState": "available", "IpAddress": "172.31.46.181", "NetworkInterfaceId": "eni-0123456789abcdefa", "AvailabilityZoneId": "use2-az3", "AvailabilityZoneName": "us-east-2c" }, { "OwnerId": "111122223333", "MountTargetId": "fsmt-5751852e", "FileSystemId": "fs-a576a6dc", "SubnetId": "subnet-a3520bcb", "LifeCycleState": "available", "IpAddress": "172.31.12.219", "NetworkInterfaceId": "eni-0123456789abcdef0", "AvailabilityZoneId": "use2-az1", "AvailabilityZoneName": "us-east-2a" } ] }

删除现有挂载目标 (CLI)

  • 要删除现有挂载目标,请使用 delete-mount-target AWS CLI 命令(相应操作为 DeleteMountTarget),如下所示。

    注意

    在删除挂载目标之前,请先卸载文件系统。

    $ aws efs delete-mount-target \ --mount-target-id mount-target-ID-to-delete \ --region aws-region-where-mount-target-exists

    以下是包含示例数据的示例。

    $ aws efs delete-mount-target \ --mount-target-id fsmt-5751852e \ --region us-east-2 \

修改现有挂载目标的安全组

  • 要修改对挂载目标有效的安全组,请使用 modify-mount-target-security-group AWS CLI 命令(相应操作为 ModifyMountTargetSecurityGroups)替换任何现有安全组,如下所示。

    $ aws efs modify-mount-target-security-groups \ --mount-target-id mount-target-ID-whose-configuration-to-update \ --security-groups security-group-ids-separated-by-space \ --region aws-region-where-mount-target-exists \ --profile adminuser

    以下是包含示例数据的示例。

    $ aws efs modify-mount-target-security-groups \ --mount-target-id fsmt-5751852e \ --security-groups sg-1004395a sg-1114433a \ --region us-east-2

有关更多信息,请参阅演练:使用 Amazon EFS 创建 Amazon EC2 文件系统并将其挂载到 AWS CLI 实例上