如何使用 Amazon S3 或 S3 兼容存储作为 NFS?

cyb*_*rks 5 nfs amazon-s3

如何使用 Amazon S3 或 S3 兼容存储作为 NFS?有办法实现这一点吗?

可以使用 NFS 协议通过外部网络(互联网、公共)访问的东西。

Law*_*w29 5

如果您想使用 S3 作为个人计算机的安装存储,您有两种可能性。

一种是使用 EC2 服务器作为 NFS 服务器,由 S3 支持。AWS 提供了一个名为AWS Storage Gateway 的服务器来执行此操作,但您当然需要为 24/7 运行该服务器付费。不过,我认为它可能旨在在您的 VPC 内提供 NFS。从安全角度来看,通过 Internet 提供 NFS 服务是一个令人不安的提议。

更好的办法是在计算机上安装代码以将 S3 呈现为本地存储。有一个名为ObjectiveFS的商业插件和一个名为S3FS-FUSE的免费开源插件;我认为 S3FS-FUSE 是您正在寻找的答案,如果不是,那么他们的页面底部有一个“竞争对手”列表。

不过,使用 S3 作为挂载存储有几个注意事项:

  • 修改文件会迫使您重新上传整个对象,如果您修改大文件,这会很糟糕。
  • 由于 IO 是按请求计费的,因此您可能会产生意想不到的成本(想想 updatedb 运行在您的数据上)。

  • 数据传输到 AWS S3 是[免费](https://aws.amazon.com/s3/pricing/),但每个 PUT 收费 - 每 1000 个 PUT 0.01 美元。S3 中的[最大对象大小](https://aws.amazon.com/blogs/aws/amazon-s3-object-size-limit/) 为 5TB,但您必须以 5GB 或更少的块上传,这是 FUSE 软件为您管理的事情。请注意,这似乎仅适用于 Linux 或 *nix 操作系统,不适用于 Windows PC。 (2认同)

har*_*gut 1

EFS(弹性文件系统)是 AWS 上的 NFS。但这与S3无关。

如果您需要在该类型的 FS 上提供文件服务,我认为您需要运行自己的网络服务器来指向已安装的共享。