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

管理挂载目标

使用您为文件系统创建的挂载目标,将文件系统挂载到虚拟私有云(VPC)中的 Amazon EC2 或其他 Amazon 计算实例上。管理文件系统网络可访问性是指管理文件系统的挂载目标。

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

下图显示了一个区域性文件系统,带有在 VPC 中的所有可用区中创建的挂载目标。此图显示了在访问 Amazon EFS 文件系统的不同 VPC 子网中启动的三个 EC2 实例。该图还显示了每个可用区中的一个挂载目标(不考虑每个可用区中的子网数)。

每个可用区只能创建一个挂载目标。如果可用区具有多个子网,如图中的其中一个区域所示,则只能在其中一个子网中创建挂载目标。只要您在可用区中有一个挂载目标,在其任一子网中启动的 EC2 实例就可以共享该同一挂载目标。

区域性文件系统的挂载目标位于 EC2 实例上的 VPC 内的三个可用区。

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

单区文件系统只有一个在相同可用区中创建的挂载目标。

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

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

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

  • NFS 级权限注意事项。

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

管理挂载目标是指以下活动:

  • 在 VPC 中创建和删除挂载目标 – 至少应在您希望从中访问文件系统的每个可用区中创建一个挂载目标。

  • 更新挂载目标配置 - 创建挂载目标时,会将安全组与挂载目标相关联。安全组充当虚拟防火墙,用于控制进出挂载目标的流量。您可以添加入站规则以控制对挂载目标的访问,从而控制对文件系统的访问。创建挂载目标后,您可能需要修改分配给它们的安全组。

可以使用 Amazon Web Services Management Console、Amazon CLI 或使用 Amazon 软件开发工具包以编程方式为文件系统创建挂载目标。使用控制台时,可以在首次创建文件系统时或创建文件系统之后创建挂载目标。有关在创建文件系统时使用 Amazon EFS 控制台创建挂载目标的说明,请参阅使用自定义设置创建文件系统(控制台)

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

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

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

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

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

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

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

    注意

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

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

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

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

      注意

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

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

  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 Amazon 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 Amazon 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 CLI 创建 EFS 文件系统并将其挂载到 EC2 实例上