本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
从其他Amazon Web Services 账户或 VPC 挂载 EFS 文件系统
您可以使用 EFS 挂载助手使用 NFS 客户端的 IAM 授权和 EFS 接入点挂载您的 Amazon EFS 文件系统。默认情况下,EFS 挂载帮助程序使用域名服务 (DNS) 来解析您的 EFS 挂载目标的 IP 地址。如果要从其他账户或 Virtual Private Cloud (VPC) 挂载文件系统,必须手动解析 EFS 挂载目标。
下面,您可以找到确定要用于您的 NFS 客户端的正确 EFS 挂载目标 IP 地址的说明。您还可以找到有关配置客户端以使用该 IP 地址挂载 EFS 文件系统的说明。
使用 IAM 或来自其他 VPC 的接入点进行挂载
当您使用 VPC 对等连接或传输网关连接 VPC 时,一个 VPC 中的 Amazon EC2 实例可以访问另一个 VPC 中的 EFS 文件系统,即使 VPC 属于不同的账户。
先决条件
在使用下面的过程之前,请执行以下步骤:
-
在要安装 EFS 文件系统的计算实例上安装 Amazon EFS 客户端,这是实用程序
amazon-efs-utils
集的一部分。您可以使用中包含的 EFS 挂载帮助程序来装载文件系统。amazon-efs-utils
有关安装amazon-efs-utils
的说明,请参阅使用 amazon-efs-utils 工具。 -
允许在
ec2:DescribeAvailabilityZones
IAM 策略中对您附加到实例的 IAM 角色执行操作。我们建议您将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 文件系统资源策略的更多信息,请参阅亚马逊 EFS 内部基于资源的策略。
-
安装 botocore。在另一个 VPC 中挂载文件系统时,如果无法解析文件系统 DNS 名称,则 EFS 客户端会使用 botocore 检索挂载目标 IP 地址。有关更多信息,请参阅
amazon-efs-utils
自述文件中的安装 botocore。 -
设置 VPC 对等连接或 VPC 传输网关。
可以使用 VPC 对等连接或 VPC 传输网关连接,连接客户端的 VPC 和您的 EFS 文件系统的 VPC。当您使用 VPC 对等连接或传输网关连接 VPC 时,一个 VPC 中的 Amazon EC2 实例可以访问另一个 VPC 中的 EFS 文件系统,即使 VPC 属于不同的账户。
中转网关 是网络中转中心,您可用它来互连 VPC 和本地网络。有关使用 VPC 传输网关的更多信息,请参阅 Amazon VPC 传输网关指南中的传输网关入门。
VPC 对等连接 是两个 VPC 之间的网络连接。使用此类连接,您能够使用专用 Internet 协议版本 4 (IPv4) 或 Internet 协议版本 6 (IPv6) 地址,在它们之间路由流量。您可以使用 VPC 对等连接相同Amazon Web Services 区域或两者之间Amazon Web Services 区域的 VPC。有关 VPC 对等的更多信息,请参阅什么是 VPC 对等互连? 在亚马逊 VPC 对等互连指南中。
为确保文件系统的高可用性,我们建议您始终使用与 NFS 客户端位于同一可用区的 EFS 挂载目标 IP 地址。如果您要在其他账户中挂载 EFS 文件系统,请确保 NFS 客户端和 EFS 挂载目标位于相同的可用区 ID 中。此要求适用,因为不同账户的可用区名称可能不同。
使用 IAM 或访问点在其他 VPC 中挂载 EFS 文件系统
-
连接到 EC2 实例:
-
要从运行 macOS 或 Linux 的计算机连接到您的实例,请为 SSH 命令指定 .pem 文件。要执行该操作,请使用
-i
选项和私有密钥路径。 -
要从运行 Windows 的计算机连接到您的实例,您可以使用 MindTerm 或 PuTTY。要使用 PuTTY,您需要安装它并将 .pem 文件转换为 .ppk 文件。
有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的以下主题:
-
-
使用以下命令创建用于挂载文件系统的目录。
$
sudo mkdir /mnt/efs 要使用 IAM 授权来挂载文件系统,请使用以下命令:
$
sudo mount -t efs -o tls,iamfile-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 EFS 文件系统 Amazon Web Services 区域
如果您要从与文件系统不同的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 文件系统。