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

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

创建并管理挂载目标和安全组

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

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


        此图显示 VPC 中的三个可用区,其中包含 EC2 实例和挂载目标,以及一个已挂载的 EFS 区域文件系统。

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


        此图显示 VPC 中的两个可用区,其中包含 Amazon EC2 实例、仅一个挂载目标,以及一个已挂载的单区文件系统。

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

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

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

  • NFS 级权限注意事项。

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

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

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

按照以下过程,为现有 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 EC2 EFS 文件系统并使用Amazon CLI