AWS EFS vs EBS vs S3 (differences & when to use?)

前端 未结 10 1367
挽巷
挽巷 2020-11-28 17:28

As per the title of this question, what are the practical differences between AWS EFS, EBS and S3?

My understanding of each:

  • S3 is a storage facility a
相关标签:
10条回答
  • 2020-11-28 17:29

    AWS EFS, EBS and S3. From Functional Standpoint, here is the difference

    EFS:

    1. Network filesystem :can be shared across several Servers; even between regions. The same is not available for EBS case. This can be used esp for storing the ETL programs without the risk of security

    2. Highly available, scalable service.

    3. Running any application that has a high workload, requires scalable storage, and must produce output quickly.

    4. It can provide higher throughput. It match sudden file system growth, even for workloads up to 500,000 IOPS or 10 GB per second.

    5. Lift-and-shift application support: EFS is elastic, available, and scalable, and enables you to move enterprise applications easily and quickly without needing to re-architect them.

    6. Analytics for big data: It has the ability to run big data applications, which demand significant node throughput, low-latency file access, and read-after-write operations.

    EBS:

    1. for NoSQL databases, EBS offers NoSQL databases the low-latency performance and dependability they need for peak performance.

    S3:

    Robust performance, scalability, and availability: Amazon S3 scales storage resources free from resource procurement cycles or investments upfront.

    2)Data lake and big data analytics: Create a data lake to hold raw data in its native format, then using machine learning tools, analytics to draw insights.

    1. Backup and restoration: Secure, robust backup and restoration solutions
    2. Data archiving
    3. S3 is an object store good at storing vast numbers of backups or user files. Unlike EBS or EFS, S3 is not limited to EC2. Files stored within an S3 bucket can be accessed programmatically or directly from services such as AWS CloudFront. Many websites use it to hold their content and media files, which may be served efficiently via AWS CloudFront.
    0 讨论(0)
  • 2020-11-28 17:33

    EBS is simple - block level storage which can be attached to an instance from same AZ, and can survive irrespective of instance life.

    However, interesting difference is between EFS and S3, and to identify proper use cases for it.

    Cost: EFS is approximately 10 times costly than S3.

    Usecases:

    • Whenever we have thousands of instances who needs to process file simultaneously EFS is recommended over S3.
    • Also note that S3 is object based storage while EFS is file based it implies that whenever we have requirement that files are updated continuously (refreshed) we should use EFS.
    • S3 is eventually consistent while EFS is strong consistent. In case you can't afford eventual consistency, you should use EFS
    0 讨论(0)
  • 2020-11-28 17:34

    In simple words

    Amazon EBS provides block level storage .

    Amazon EFS provides network-attached shared file storage.

    Amazon S3 provides object storage .

    0 讨论(0)
  • 2020-11-28 17:36

    Amazon EBS provides block level storage - It is used to create a filesystem on it and store files. Amazon EFS - its shared storage system similar like NAS/SAN. You need to mount it to unix server and use it. Amazon S3 - It is object based storage where each item is stored with a http URL.

    One of the difference is - EBS can be attached to 1 instance at a time and EFS can be attached to multiple instances that why shared storage. S2 plain object storage cannot be mounted.

    0 讨论(0)
  • 2020-11-28 17:43

    Fixing the comparison:

    • S3 is a storage facility accessible any where
    • EBS is a device you can mount onto EC2
    • EFS is a file system you can mount onto several EC2 instances at the same time

    At this point it's a little premature to compare EFS and EBS- the performance of EFS isn't known, nor is its reliability known.

    Why would you use S3?

    • You don't have a need for the files to be 'local' to one or more EC2 instances.
    • (effectively) infinite capacity
    • built-in web serving, authentication
    0 讨论(0)
  • 2020-11-28 17:44

    One word answer: MONEY :D

    1 GB to store in US-East-1: (Updated at 2016.dec.20)

    • Glacier: $0.004/Month (Note: Major price cut in 2016)
    • S3: $0.023/Month
    • S3-IA (announced in 2015.09): $0.0125/Month (+$0.01/gig retrieval charge)
    • EBS: $0.045-0.1/Month (depends on speed - SSD or not) + IOPS costs
    • EFS: $0.3/Month

    Further storage options, which may be used for temporary storing data while/before processing it:

    • SNS
    • SQS
    • Kinesis stream
    • DynamoDB, SimpleDB

    The costs above are just samples. There can be differences by region, and it can change at any point. Also there are extra costs for data transfer (out to the internet). However they show a ratio between the prices of the services.

    There are a lot more differences between these services:

    EFS is:

    • Generally Available (out of preview), but may not yet be available in your region
    • Network filesystem (that means it may have bigger latency but it can be shared across several instances; even between regions)
    • It is expensive compared to EBS (~10x more) but it gives extra features.
    • It's a highly available service.
    • It's a managed service
    • You can attach the EFS storage to an EC2 Instance
    • Can be accessed by multiple EC2 instances simultaneously
    • Since 2016.dec.20 it's possible to attach your EFS storage directly to on-premise servers via Direct Connect. ()

    EBS is:

    • A block storage (so you need to format it). This means you are able to choose which type of file system you want.
    • As it's a block storage, you can use Raid 1 (or 0 or 10) with multiple block storages
    • It is really fast
    • It is relatively cheap
    • With the new announcements from Amazon, you can store up to 16TB data per storage on SSD-s.
    • You can snapshot an EBS (while it's still running) for backup reasons
    • But it only exists in a particular region. Although you can migrate it to another region, you cannot just access it across regions (only if you share it via the EC2; but that means you have a file server)
    • You need an EC2 instance to attach it to
    • New feature (2017.Feb.15): You can now increase volume size, adjust performance, or change the volume type while the volume is in use. You can continue to use your application while the change takes effect.

    S3 is:

    • An object store (not a file system).
    • You can store files and "folders" but can't have locks, permissions etc like you would with a traditional file system
    • This means, by default you can't just mount S3 and use it as your webserver
    • But it's perfect for storing your images and videos for your website
    • Great for short term archiving (e.g. a few weeks). It's good for long term archiving too, but Glacier is more cost efficient.
    • Great for storing logs
    • You can access the data from every region (extra costs may apply)
    • Highly Available, Redundant. Basically data loss is not possible (99.999999999% durability, 99.9 uptime SLA)
    • Much cheaper than EBS.
    • You can serve the content directly to the internet, you can even have a full (static) website working direct from S3, without an EC2 instance

    Glacier is:

    • Long term archive storage
    • Extremely cheap to store
    • Potentially very expensive to retrieve
    • Takes up to 4 hours to "read back" your data (so only store items you know you won't need to retrieve for a long time)

    As it got mentioned in JDL's comment, there are several interesting aspects in terms of pricing. For example Glacier, S3, EFS allocates the storage for you based on your usage, while at EBS you need to predefine the allocated storage. Which means, you need to over estimate. ( However it's easy to add more storage to your EBS volumes, it requires some engineering, which means you always "overpay" your EBS storage, which makes it even more expensive.)

    Source: AWS Storage Update – New Lower Cost S3 Storage Option & Glacier Price Reduction

    0 讨论(0)
提交回复
热议问题