

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

# 管理挂载目标
<a name="accessing-fs"></a>

您可以使用为文件系统创建的一个或多个挂载目标，将文件系统挂载到 Amazon EC2 或虚拟私有云 (VPC) 中的其他 AWS 计算实例上。您可以在创建文件系统时或创建文件系统之后创建挂载目标。

为文件系统创建挂载目标后，您可以创建其他挂载目标、删除挂载目标以及修改挂载目标的安全组。如果要修改挂载目标的 VPC，则需要先删除现有的挂载目标。

**注意**  
您不能更改现有挂载目标的 IP 地址。要更改 IP 地址，需要删除挂载目标并使用新地址创建一个新的挂载目标。

**Topics**
+ [挂载目标和可用区](#about-mount-targets)
+ [创建挂载目标](manage-fs-access-create-delete-mount-targets.md)
+ [删除挂载目标](mount-target-delete.md)
+ [更改挂载目标 VPC](manage-fs-access-change-vpc.md)
+ [更改挂载目标安全组](manage-fs-access-update-mount-target-config-sg.md)

## 挂载目标和可用区
<a name="about-mount-targets"></a>

对于使用区域性存储类别的 EFS 文件系统，可以在 AWS 区域的每个可用区中创建挂载目标。

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

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

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

![\[区域性文件系统的挂载目标位于 EC2 实例上的 VPC 内的三个可用区。\]](http://docs.aws.amazon.com/zh_cn/efs/latest/ug/images/efs-ec2-how-it-works-Regional_china-world.png)


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

![\[单区文件系统只有一个在相同可用区中创建的挂载目标。\]](http://docs.aws.amazon.com/zh_cn/efs/latest/ug/images/efs-ec2-how-it-works-OneZone.png)


挂载目标安全组充当控制流量的虚拟防火墙。例如，它决定哪些客户端可以访问文件系统。本节介绍以下内容：
+ 管理挂载目标安全组和启用流量。
+ 将文件系统挂载到客户端上。
+ NFS 级权限注意事项。

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

# 创建挂载目标
<a name="manage-fs-access-create-delete-mount-targets"></a>

要访问 VPC 中的 EFS 文件系统，您需要为文件系统创建挂载目标。

对于 EFS 文件系统，必须满足以下条件：
+ 一次只能为一个 VPC 中的文件系统创建挂载目标。如果要从另一个 VPC 访问文件系统，则需要从当前 VPC 中删除挂载目标，然后在另一个 VPC 中创建新的挂载目标。有关更多信息，请参阅 [更改挂载目标 VPC](manage-fs-access-change-vpc.md)。
+ 如果 VPC 在可用区中有多个子网，则您只能在其中一个子网中创建挂载目标。可用区中的所有 EC2 实例可以共享单个挂载目标。
+  至少应在您希望从中访问文件系统的每个可用区中创建一个挂载目标。

**注意**  
使用在一个可用区中创建的挂载目标在另一个可用区中的 EC2 实例上挂载文件系统时，需要考虑成本。有关更多信息，请参阅 [Amazon EFS 定价](https://aws.amazon.com/efs/pricing)。此外，通过始终使用实例可用区本地的挂载目标，可以消除部分故障情况。如果挂载目标的区域发生故障，则无法通过该挂载目标访问文件系统。

您可以使用、为文件系统创建挂载目标 AWS 管理控制台 AWS CLI，也可以使用以编程方式为文件系统创建挂载目标。 AWS SDKs在控制台中，您可以在创建文件系统时或创建文件系统之后创建挂载目标。有关在创建文件系统时创建挂载目标的说明，请参阅[使用控制台以自定义方式创建](creating-using-create-fs.md#creating-using-fs-part1-console)。

## 使用控制台
<a name="console2-create-mount-target-existing-fs"></a>

按照以下过程，为现有 EFS 文件系统添加挂载目标。

**在 EFS 文件系统上创建挂载目标**

1. 打开 Amazon Elastic File System 控制台，网址为[https://console.aws.amazon.com/efs/](https://console.aws.amazon.com/efs/)。

1. 在左侧导航窗格中，选择**文件系统**，然后选择要更改 VPC 的文件系统。

1. 选择**网络**，然后选择**管理**以显示文件系统的挂载目标。

1. 选择要为其添加挂载目标的文件系统的**名称**或**文件系统 ID** 来选择该文件系统。
**注意**  
对于单区文件系统，只能创建单个挂载目标，它位于与文件系统相同的可用区中。

1. 对于使用 EFS 区域存储类别的文件系统，请为要为文件系统创建的每个挂载目标选择**添加挂载目标**。

1. 定义挂载目标设置：

   1. 为挂载目标选择可用区和子网 ID。

   1. 对于 **IP 地址类型**，请选择**IPv4 仅**支持 IPv4 地址，**IPv6 仅**支持 IPv6 地址，或者选择**双栈**以同时支持 IPv4 和 IPv6地址。
**注意**  
IP 地址类型必须与子网的 IP 类型相匹配。此外，IP 地址类型会覆盖子网的 IP 寻址属性。例如，如果 IP 地址类型为 IPv4-only 且您的子网启用了 IPv6 寻址属性，则在子网中创建的网络接口将接收子网范围内 IPv4 的地址。有关更多信息，请参阅[修改子网的 IP 寻址属性](https://docs.aws.amazon.com/vpc/latest/userguide/subnet-public-ip.html)。

   1. 如果您知道要放置挂载目标的 IP 地址，请在与 **IP 地址类型**匹配的 IP 地址框中输入该地址。如果未指定值，Amazon EFS 会从指定的子网中选择未使用的 IP 地址。
**注意**  
在创建挂载目标后，您将无法更改其 IP 地址。要更改 IP 地址，需要删除挂载目标并使用新地址创建一个新的挂载目标。

1. 至少选择一个要与挂载目标关联的安全组。您可以稍后[修改安全组](manage-fs-access-update-mount-target-config-sg.md)。

1. 选择**保存**。

## 使用 AWS CLI
<a name="create-mount-target-cli"></a>

本节提供了在 AWS CLI 中使用 `create-mount-target` 命令创建复制配置的示例。等效的 API 命令是 [CreateMountTarget](API_CreateMountTarget.md)。
+ 如果您没有为挂载目标指定 IP 地址类型，则使用 IPv4-only。
+ 如果您没有为挂载目标指定 IP 地址，Amazon EFS 将分配指定子网中可用的地址。
+ IP 地址类型会覆盖子网的 IP 寻址属性。例如，如果 IP 地址类型为 IPv4-only 且您的子网启用了 IPv6 寻址属性，则在子网中创建的网络接口将接收子网范围内 IPv4 的地址。有关更多信息，请参阅[修改子网的 IP 寻址属性](https://docs.aws.amazon.com/vpc/latest/userguide/subnet-public-ip.html)。

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

### 示例：在子网上的可用 IPv4 地址创建挂载目标
<a name="example-available-IPv4"></a>

以下命令为挂载目标指定文件系统、子网和安全组。目标是在指定子网的可用 IPv4 地址上创建的。

```
$ 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 \
```

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

```
$ aws efs create-mount-target \
--file-system-id fs-0123456789abcdef1 \
--subnet-id  subnet-b3983dc4 \
--security-group sg-01234567 \
--region us-east-2 \
```

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

```
{
    "OwnerID": "111122223333"
    "MountTargetId": "fsmt-f9a14450",
    "FileSystemId": "fs-0123456789abcdef1",
    "SubnetId": "subnet-b3983dc4",
    "LifeCycleState": "available",
    "IpAddress": "10.0.1.24",
    "NetworkInterfaceId": "eni-3851ec4e",
    "AvailabilityZoneId": "use2-az1",
    "AvailabilityZoneName": "us-east-2a",
    "VpcId": "vpc-3c39ef57"
}
```

### 示例：在特定 IPv4 地址创建挂载目标
<a name="example-specific-IPv4"></a>

以下命令指定要用于挂载目标的文件系统、子网、安全组和 IPv4 地址。目标是在指定子网的指定 IPv4 地址创建的。

```
$ 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 \
--ip-address IPv4-address
--region aws-region \
```

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

```
$ aws efs create-mount-target \
--file-system-id fs-0123456789abcdef1 \
--subnet-id  subnet-b3983dc4 \
--security-group sg-01234567 \
--ip-address 10.0.1.24 \
--region us-east-2 \
```

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

```
{
    "OwnerID": "111122223333"
    "MountTargetId": "fsmt-f9a14450",
    "FileSystemId": "fs-0123456789abcdef1",
    "SubnetId": "subnet-b3983dc4",
    "LifeCycleState": "available",
    "IpAddress": "10.0.1.24",
    "NetworkInterfaceId": "eni-3851ec4e",
    "AvailabilityZoneId": "use2-az1",
    "AvailabilityZoneName": "us-east-2a",
    "VpcId": "vpc-3c39ef57"
}
```

### 示例：在特定 IPv6 地址创建挂载目标
<a name="example-specific-IPv6"></a>

以下命令指定要用于挂载目标的文件系统、子网、安全组和 IPv6 地址。目标是在指定子网的指定 IPv6 地址创建的。

```
$ 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 \
--ip-address-type IP-address-type \
--ipv6-address IPv6-address \
--region aws-region \
```

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

```
$ aws efs create-mount-target \
--file-system-id fs-0123456789abcdef1 \
--subnet-id  subnet-b3983dc4 \
--security-group sg-01234567 \
--ip-address-type IPV6_ONLY \
--ipv6-address 2001:0db8:85a3:0000:0000:8a2e:0370:7334 \
--region us-east-2 \
```

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

```
{
    "OwnerID": "111122223333"
    "MountTargetId": "fsmt-f9a14450",
    "FileSystemId": "fs-0123456789abcdef1",
    "SubnetId": "subnet-b3983dc4",
    "LifeCycleState": "available",
    "Ipv6Address": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
    "NetworkInterfaceId": "eni-3851ec4e",
    "AvailabilityZoneId": "use2-az1",
    "AvailabilityZoneName": "us-east-2a",
    "VpcId": "vpc-3c39ef57"
}
```

### 示例：在双栈子网的可用 IPv4 地址上创建挂载目标
<a name="example-specific-IPv6"></a>

该命令为挂载目标指定文件系统、子网、安全组、双栈 IP IPv6 地址类型和地址。目标是在双栈子网上的可用 IPv4 地址和指定 IPv6 地址创建的。

```
$ 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 \
--ip-address-type IP-address-type
--ipv6-address IPv6-address \
--region aws-region \
```

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

```
$ aws efs create-mount-target \
--file-system-id fs-0123456789abcdef1 \
--subnet-id  subnet-b3983dc4 \
--security-group sg-01234567 \
--ip-address-type DUAL_STACK \
--ipv6-address 2001:0db8:85a3:0000:0000:8a2e:0370:7334 \
--region us-east-2 \
```

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

```
{
    "OwnerID": "111122223333"
    "MountTargetId": "fsmt-f9a14450",
    "FileSystemId": "fs-0123456789abcdef1",
    "SubnetId": "subnet-b3983dc4",
    "LifeCycleState": "available",
    "IpAddress": "10.0.1.24",
    "Ipv6Address": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
    "NetworkInterfaceId": "eni-3851ec4e",
    "AvailabilityZoneId": "use2-az1",
    "AvailabilityZoneName": "us-east-2a",
    "VpcId": "vpc-3c39ef57"
}
```

# 删除挂载目标
<a name="mount-target-delete"></a>

删除挂载目标时，则操作将强制中断文件系统的任何挂载，这可能会中断使用这些挂载的实例或应用程序。为避免应用程序中断，请在删除挂载目标之前停止应用程序并卸载文件系统。有关更多信息，请参阅 [卸载文件系统](unmounting-fs.md)。

您可以使用、删除文件系统的挂载目标 AWS 管理控制台 AWS CLI，也可以使用以编程方式删除文件系统的挂载目标。 AWS SDKs

## 使用控制台
<a name="mount-target-delete-console"></a>

按照以下过程，为现有 EFS 文件系统删除挂载目标。

**删除 EFS 文件系统上的挂载目标**

1. 卸载文件系统。有关说明，请参阅[卸载文件系统](unmounting-fs.md)。

1. 打开 Amazon Elastic File System 控制台，网址为[https://console.aws.amazon.com/efs/](https://console.aws.amazon.com/efs/)。

1. 在左侧导航窗格中，选择**文件系统**，然后选择要删除挂载目标的文件系统。

1. 选择**网络**，然后选择**管理**以显示文件系统的挂载目标。

1. 对于要删除的每个挂载目标，请选择**移除**。

1. 选择**保存**。

## 使用 AWS CLI
<a name="mount-target-delete-cli"></a>

要删除现有的挂载目标，请使用`delete-mount-target` AWS CLI 命令（相应的操作是[DeleteMountTarget](API_DeleteMountTarget.md)），如下所示。

**注意**  
在删除挂载目标之前，先卸载文件系统。

```
$ 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 \
```

# 更改挂载目标 VPC
<a name="manage-fs-access-change-vpc"></a>

一次只能在一个 VPC 中基于 Amazon VPC 服务使用 EFS 文件系统。也就是说，您在 VPC 中为文件系统创建挂载目标，并使用这些挂载目标提供对该文件系统的访问权限。

您可以从这些目标挂载 EFS 文件系统：
+ 同一 VPC 中的 Amazon EC2 实例
+ VPC 中通过 VPC 对等连接的 EC2 实例
+ 本地服务器，使用 AWS Direct Connect
+ 使用 Amazon VPC 通过 AWS 虚拟专用网络 (VPN) 实现本地服务器 

*VPC 对等连接*是两者之间的网络连接 VPCs ，使您能够在它们之间路由流量。该连接可以使用私有互联网协议版本 4 (IPv4) 或版本 6 (IPv6)。有关 Amazon EFS 如何使用 VPC 对等连接的更多信息，请参阅[从其他 AWS 账户 或 VPC 挂载 EFS 文件系统](manage-fs-access-vpc-peering.md)。<a name="change-vpc-console2"></a>

**更改文件系统 VPC**

以下步骤可用于更改 EFS 文件系统网络配置的 VPC。

1. 删除分配给文件系统的挂载目标。有关说明，请参阅[删除挂载目标](mount-target-delete.md)。

1. 当每个挂载目标的**挂载目标状态**为**已删除**时，请分配新的 VPC 并为文件系统创建新的挂载目标。有关说明，请参阅[创建挂载目标](manage-fs-access-create-delete-mount-targets.md)。

# 更改挂载目标安全组
<a name="manage-fs-access-update-mount-target-config-sg"></a>

安全组定义入站和出站访问。当您更改与挂载目标相关联的安全组时，请确保您授权必要的入站和出站访问。这样做可以使您的 EC2 实例与文件系统进行通信。有关安全组的更多信息，请参阅 [使用 VPC 安全组](network-access.md)。

您可以使用 AWS 管理控制台、 AWS CLI或以编程方式使用为文件系统的挂载目标添加或删除安全组。 AWS SDKs

## 使用控制台
<a name="mount-target-"></a>

**修改挂载目标的安全组**

按照以下过程，为现有 EFS 文件系统添加或移除挂载目标安全组。

1. 打开 Amazon Elastic File System 控制台，网址为[https://console.aws.amazon.com/efs/](https://console.aws.amazon.com/efs/)。

1. 在左侧导航窗格中，选择**文件系统**，然后选择要管理挂载目标的文件系统。

1. 选择**网络**，然后选择**管理**以显示文件系统的挂载目标。

1. 要从挂载目标中移除安全组，请选择安全组 ID 旁边的 **X**。

1. 要向挂载目标添加安全组，请从**安全组**列表中选择安全组。

1. 选择**保存**。

## 使用 AWS CLI
<a name="modify-mount-target-sg-cli"></a>

要修改对挂载目标有效的安全组，请使用`modify-mount-target-security-group` AWS CLI 命令（对应的操作是[ModifyMountTargetSecurityGroups](API_ModifyMountTargetSecurityGroups.md)）替换任何现有的安全组，如下所示。

```
$ 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
```