管理挂载目标 - Amazon Elastic File System

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

管理挂载目标

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

下图显示了一个区域文件系统,其挂载目标已在 VPC 的所有可用区中创建。

区域文件系统的部署架构,其挂载目标位于 EC2 实例上的 VPC 内的三个可用区。

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

One Zone 文件系统的部署架构,在同一可用区中创建单个挂载目标。

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

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

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

  • NFS 级权限注意事项。

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

您可以使用 AWS Management Console、 AWS CLI或使用软件 AWS 开发工具包以编程方式为文件系统创建挂载目标。使用控制台时,可以在首次创建文件系统时或创建文件系统之后创建挂载目标。

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

按照以下过程,为现有 Amazon EFS 文件系统添加或修改挂载目标。

管理 Amazon EFS 文件系统上的挂载目标
  1. 登录 AWS Management Console 并打开 Amazon EFS 控制台,网址为 https://console.aws.amazon.com/efs/

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

  3. 选择要管理其挂载目标的文件系统的名称文件系统 ID 以显示文件系统详细信息页面,来选择该文件系统。

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

  5. 选择管理以显示可用区页面并进行修改。

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

    注意

    对于单区文件系统,只能创建单个挂载目标,它位于与文件系统相同的可用区中。

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

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

    • 要将挂载目标排入删除队列,请选择移除

      注意

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

    • 要添加挂载目标,请选择添加挂载目标。此选项仅适用于使用 EFS 区域性存储类的文件系统,如果 AWS 区域的每个可用区中都尚未存在装载目标,则此选项可用。

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

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

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

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

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

  3. 对于要为其更改 VPC 的文件系统,请选择名称文件系统 ID。将显示文件系统详细信息页面。

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

  5. 选择管理。将显示可用区页面。

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

  7. 选择保存以保存更改并删除挂载目标。网络选项卡显示挂载目标状态为正在删除

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

  9. 虚拟私有云(VPC)列表中选择新 VPC。

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

    • 可用区

    • 子网 ID

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

    • 一个或多个安全组

  11. 选择保存以实施 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