2

How can you use Amazon S3 or S3-compatible Storage as NFS? Is there a way to achieve this?

Something that can be accessed through an external network (internet, public) using NFS protocol.

  • Please edit your question to make it more clear what you're trying to achieve. S3 over NFS is probably possible in a very roundabout way. If you want to mount S3 from your PC that's a different question, and AWS EFS is hosted NFS though it's not publicly accessible without some workarounds. Again, if you post what you're trying to achieve not just the way you think you might want to do it and you'll get more help. – Tim Nov 20 '18 at 7:32
3

If you want to use S3 as mounted storage for personal computers, you have two possibilities.

One is to use an EC2 server as NFS server, backed by S3. AWS provides a server called AWS Storage Gateway for doing this, but you will of course have to pay for running that server 24/7. I think it might be oriented towards providing NFS inside your VPC, though. Providing an NFS service over the Internet is an uncomfortable proposition from a security perspective.

Much better is to have code on your computer to present S3 as local storage. There is a commercial plugin called ObjectiveFS and a free opensource one called S3FS-FUSE; I think S3FS-FUSE is the answer you are looking for, if it is not then their page at the bottom has a list of "competitors".

There are several caveats to using S3 as mounted storage, though:

  • modifying a file forces you to re-upload the whole object, which is bad if you modify large files.
  • since IO is billed per request you might incur unexpected costs (think updatedb running over your data).
  • 1
    Data transfer IN to AWS S3 is free, though they charge per PUT - $0.01 per 1000 PUTs. The maximum object size in S3 is 5TB, but you have to upload in chunks of 5GB or less, which is something the FUSE software manages for you. Note that this appears to be for Linux or *nix OS's only, not Windows PCs. – Tim Nov 20 '18 at 7:29
  • @Tim -- but I think that modifying a 100GB object in the middle needs you to send the full 100GB, not just a 5GB chunk -- unfortunately! I meant my sentence to be a list of several distinct problems, I'm happy that S3FS-FUSE handles the first one, will edit. – Law29 Nov 20 '18 at 9:10
  • Yes that's likely correct, modifying an object will probably upload the whole object. I was just saying you can have larger files using FUSE on S3. – Tim Nov 21 '18 at 3:55
1

EFS (Elastic File System) is NFS on AWS. But it has nothing to do with S3.

If you need to serve files on that type of FS I think you need to run your own webserver pointing to the mounted share.

  • I think @xybrek wants to use S3 as mounted storage from his personal computer, not from an EC2. – Law29 Nov 20 '18 at 6:46
0

You can use S3FS.

Instructions here:

https://cloud.netapp.com/blog/amazon-s3-as-a-file-system

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.