管理挂载目标 - Amazon Elastic File System

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

管理挂载目标

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

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

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

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

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

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

一个区域文件系统,在同一个可用区中创建了一个挂载目标。

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

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

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

  • NFS级别权限注意事项。

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

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

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

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

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

使用以下过程添加或修改现有 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. 打开 Amazon Elastic File System 控制台,网址为https://console.aws.amazon.com/efs/

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

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

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

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

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

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

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

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

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

    • 可用区

    • 子网 ID

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

    • 一个或多个安全组

  11. 选择 “保存” 以实现VPC和挂载目标更改。

注意

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

创建挂载目标 (CLI)
  • 要创建挂载目标,请使用create-mount-targetCLI命令(相应的操作是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-targetsCLI命令(相应的操作为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

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