从其他 Amazon Web Services 账户 或 VPC 挂载 EFS 文件系统 - Amazon Elastic File System
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

从其他 Amazon Web Services 账户 或 VPC 挂载 EFS 文件系统

可以使用 EFS 挂载帮助程序,通过 NFS 客户端和 EFS 接入点的 IAM 授权来挂载您的 Amazon EFS 文件系统。默认情况下,EFS 挂载帮助程序使用域名服务 (DNS) 来解析您的 EFS 挂载目标的 IP 地址。如果要从其他账户或 Virtual Private Cloud (VPC) 挂载文件系统,必须手动解析 EFS 挂载目标。

下面,您可以找到确定要用于您的 NFS 客户端的正确 EFS 挂载目标 IP 地址的说明。您还可以找到有关配置客户端以使用该 IP 地址挂载 EFS 文件系统的说明。

使用 IAM 或接入点从其他 VPC 挂载

使用 VPC 对等连接或中转网关连接 VPC 时,即使 VPC 属于不同的账户,一个 VPC 中的 Amazon EC2 实例也可以访问另一个 VPC 中的 EFS 文件系统。

先决条件

在使用下面的过程之前,请执行以下步骤:

  • 在要挂载 EFS 文件系统的计算实例上安装 Amazon EFS 客户端,这是实用程序 amazon-efs-utils 集的一部分。可以使用 amazon-efs-utils 中包含的 EFS 挂载帮助程序来挂载文件系统。有关安装 amazon-efs-utils 的说明,请参阅安装亚马逊 EFS 工具

  • 允许在 IAM 策略中对附加到实例的 IAM 角色执行 ec2:DescribeAvailabilityZones 操作。我们建议您将 Amazon 托管策略附加AmazonElasticFileSystemsUtils到 IAM 实体,以便为该实体提供必要的权限。

  • 从另一个文件系统挂载时 Amazon Web Services 账户,请更新文件系统资源策略以允许对其他主体 ARN elasticfilesystem:DescribeMountTarget 执行操作。 Amazon Web Services 账户例如:

    { "Id": "access-point-example03", "Statement": [ { "Sid": "access-point-statement-example03", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::555555555555"}, "Action": "elasticfilesystem:DescribeMountTargets", "Resource": "arn:aws:elasticfilesystem:us-east-2:111122223333:file-system/fs-12345678" } ] }

    有关 EFS 文件系统资源策略的更多信息,请参阅Amazon EFS 基于资源的策略

  • 安装 botocore。在另一个 VPC 中挂载文件系统时,如果无法解析文件系统 DNS 名称,则 EFS 客户端会使用 botocore 检索挂载目标 IP 地址。有关更多信息,请参阅 amazon-efs-utils 自述文件中的安装 botocore

  • 设置 VPC 对等连接或 VPC 传输网关。

    可以使用 VPC 对等连接或 VPC 传输网关连接,连接客户端的 VPC 和您的 EFS 文件系统的 VPC。使用 VPC 对等连接或中转网关连接 VPC 时,即使 VPC 属于不同的账户,一个 VPC 中的 Amazon EC2 实例也可以访问另一个 VPC 中的 EFS 文件系统。

    中转网关是网络中转中心,您可用它来互连 VPC 和本地网络。有关使用 VPC 中转网关的信息,请参阅《Amazon VPC 中转网关指南》中的中转网关入门

    VPC 对等连接是两个 VPC 之间的网络连接。使用此类连接,您能够使用专用 Internet 协议版本 4 (IPv4) 或 Internet 协议版本 6 (IPv6) 地址,在它们之间路由流量。您可以使用 VPC 对等连接相同 Amazon Web Services 区域 或两者之间 Amazon Web Services 区域的 VPC。有关 VPC 对等的更多信息,请参阅《Amazon VPC 对等指南》中的什么是 VPC 对等?

为了确保您的文件系统的高可用性,我们建议您始终使用与 NFS 客户端位于相同可用区的 EFS 挂载目标 IP 地址。如果要挂载其它账户中的 EFS 文件系统,请确保 NFS 客户端和 EFS 挂载目标位于相同的可用区 ID 中。此要求适用,因为可用区名称在账户之间可能会有所不同。

使用 IAM 或访问点在其他 VPC 中挂载 EFS 文件系统
  1. 连接到 EC2 实例:

    • 要从运行 macOS 或 Linux 的计算机连接到您的实例,请为 SSH 命令指定 .pem 文件。要执行该操作,请使用 -i 选项和私有密钥路径。

    • 要从运行 Windows 的计算机连接到您的实例,您可以使用 MindTerm 或 PuTTY。要使用 PuTTY,您需要安装它并将 .pem 文件转换为 .ppk 文件。

    有关更多信息,请参阅 Amazon EC2 用户指南中的以下主题:

  2. 使用以下命令创建用于挂载文件系统的目录。

    $ sudo mkdir /mnt/efs
  3. 要使用 IAM 授权来挂载文件系统,请使用以下命令:

    $ sudo mount -t efs -o tls,iam file-system-dns-name /mnt/efs/

    有关将 IAM 授权与 EFS 结合使用的更多信息,请参阅 使用 IAM 控制文件系统数据访问

    要使用 EFS 访问点挂载文件系统,请使用以下命令:

    $ sudo mount -t efs -o tls,accesspoint=access-point-id file-system-dns-name /mnt/efs/

    有关 EFS 访问点的更多信息,请参阅使用 Amazon EFS 接入点工作

从不同 Amazon Web Services 区域挂载 Amazon EFS 文件系统

如果您要从与文件系统不同的 Amazon Web Services 区域 其他 VPC 挂载 EFS 文件系统,则需要编辑该efs-utils.conf文件。在 /dist/efs-utils.conf 中找到以下行:

#region = us-east-1

取消该行的注释,如果文件系统不在 us-east-1,则替换文件系统所在区域的 ID 值。

在同一 VPC Amazon Web Services 账户 中从另一个 VPC 装载

使用共享 VPC,您可以 Amazon Web Services 账户 从另一个 Amazon EC2 实例中挂载一个人拥有的 Amazon EFS 文件系统。 Amazon Web Services 账户有关设置共享 VPC 的更多信息,请参阅《Amazon VPC 对等连接指南》中的使用共享 VPC

设置 VPC 共享之后,EC2 实例可以使用域名系统 (DNS) 名称解析或者 EFS 挂载帮助程序来挂载 EFS 文件系统。我们建议使用 EFS 挂载帮助程序挂载 EFS 文件系统。