如何将 Amazon S3 或兼容 S3 的存储用作 NFS?有办法实现吗?
可以使用 NFS 协议通过外部网络(互联网、公共)访问的东西。
答案1
如果您想将 S3 用作个人计算机的挂载存储,则有两种选择。
一种是使用 EC2 服务器作为 NFS 服务器,由 S3 支持。AWS 提供了一个名为AWS 存储网关这样做是免费的,但你当然需要为全天候运行该服务器付费。不过,我认为它可能面向在你的 VPC 内提供 NFS。从安全角度来看,通过互联网提供 NFS 服务是一个令人不安的提议。
更好的办法是在你的电脑上编写代码,将 S3 呈现为本地存储。有一个名为客观金融以及一个免费的开源软件S3FS-FUSE;我认为 S3FS-FUSE 就是您要找的答案,如果不是,那么其页面底部有一个“竞争对手”列表。
但是,使用 S3 作为挂载存储有几个注意事项:
- 修改文件会迫使您重新上传整个对象,如果您修改大文件,这很糟糕。
- 由于 IO 是按请求计费的,因此您可能会产生意外费用(想想 updatedb 在您的数据上运行)。
答案2
EFS(弹性文件系统)是 AWS 上的 NFS。但它与 S3 无关。
如果您需要在该类型的 FS 上提供文件,我认为您需要运行指向已挂载共享的自己的 Web 服务器。