配置和使用 Mountpoint
要使用适用于 Amazon S3 的 Mountpoint,您的主机需要有效的 AWS 凭证,有权访问您要挂载的一个或多个存储桶。有关不同的身份验证方式,请参阅 GitHub 上的 Mountpoint AWS 凭证
例如,您可以创建一个新的 AWS Identity and Access Management(IAM)用户和角色用于此目的。请确保此角色有权访问您要挂载的一个或多个存储桶。您可以通过实例配置文件将 IAM 角色传递给您的 Amazon EC2 实例。
使用适用于 Amazon S3 的 Mountpoint
使用适用于 Amazon S3 的 Mountpoint 执行以下操作:
-
使用
mount-s3
命令挂载存储桶。在下面的示例中,将
替换为 S3 存储桶的名称,并将amzn-s3-demo-bucket
替换为主机上您希望在其中挂载 S3 存储桶的目录。~/mnt
mkdir
~/mnt
mount-s3amzn-s3-demo-bucket
~/mnt
由于 Mountpoint 客户端在默认情况下在后台运行,因此
目录现在允许您访问 S3 存储桶中的对象。~/mnt
-
通过 Mountpoint 访问存储桶中的对象。
在本地挂载存储桶后,您可以使用常用的 Linux 命令(例如
cat
或ls
)来处理您的 S3 对象。适用于 Amazon S3 的 Mountpoint 通过以正斜杠(/
)字符为界拆分 S3 存储桶中的密钥,将这些密钥解释为文件系统路径。例如,如果您的存储桶中有对象密钥Data/2023-01-01.csv
,那么您的 Mountpoint 文件系统中将有一个名为Data
的目录,其中有一个名称为2023-01-01.csv
的文件。适用于 Amazon S3 的 Mountpoint 特意不实现文件系统的完整 POSIX
标准规范。Mountpoint 针对以下工作负载进行了优化:此类工作负载需要通过文件系统接口对存储在 Amazon S3 中的数据进行高吞吐量读写访问,但不依赖文件系统功能。有关更多信息,请参阅 GitHub 上的适用于 Amazon S3 的 Mountpoint 的文件系统行为 。需要更丰富的文件系统语义的客户应该考虑其他 AWS 文件服务,例如 Amazon Elastic File System(Amazon EFS) 或 Amazon FSx 。 -
使用
umount
命令卸载您的存储桶。此命令卸载您的 S3 存储桶并退出 Mountpoint。要使用以下示例命令,请将
替换为主机上挂载 S3 存储桶的目录。~/mnt
umount
~/mnt
注意
要获取此命令的选项列表,请运行
umount --help
。
有关 Mountpoint 配置的其他详细信息,请参阅 GitHub 上的 S3 存储桶配置
在 Mountpoint 中配置缓存
在使用适用于 Amazon S3 的 Mountpoint 时,可以将它配置为在 Amazon EC2 实例存储或附加的 Amazon EBS 卷上缓存 S3 存储桶中最近访问的数据。缓存此数据有助于提高性能并降低重复数据访问的成本。在 Mountpoint 中缓存非常适合重复读取相同数据的使用场景,这些数据在多次读取期间不会发生更改。例如,可以将缓存用于需要多次读取训练数据集的机器学习训练作业,以提高模型精度。
挂载 S3 存储桶时,可以选择通过标志启用缓存。可以配置数据缓存的位置和大小以及元数据在缓存中的保留时间。在挂载存储桶并启用缓存后,Mountpoint 会在配置的缓存位置创建一个空的子目录(如果该子目录尚不存在)。首次挂载存储桶和卸载存储桶时,Mountpoint 会删除缓存位置的内容。有关在 Mountpoint 中配置和使用缓存的更多信息,请参阅 GitHub 上的适用于 Amazon S3 的 Mountpoint 缓存配置
挂载 S3 存储桶时,可以使用 --cache
标志启用缓存。在以下示例中,将 CACHE_PATH
替换为要在其中缓存数据的目录的文件路径。将 CACHE_PATH
替换为 S3 存储桶的名称,并将 amzn-s3-demo-bucket
替换为主机上您希望在其中挂载 S3 存储桶的目录。~/mnt
mkdir
~/mnt
mount-s3 --cacheCACHE_PATH
amzn-s3-demo-bucket
~/mnt
重要
如果启用缓存,Mountpoint 会将 S3 存储桶中未加密的对象内容保存在挂载时配置的缓存位置。建议您限制对数据缓存位置的访问以保护您的数据。