Introduction to Amazon EFS
Amazon Elastic File System (EFS) is a fully-managed NFS file storage service that can be used by other AWS services like EC2, ECS amongst others.
Benefits of Amazon EFS
Some of the main benefits of using Amazon EFS are:
- Access: EFS can be accessed in parallel by multiple AWS services like EC2, EKS, ECS from different zones within the same region or even different regions.
- Elastic: EFS does not require any storage provisioning and scales based on usage.
- Cost: EFS uses a pay as you go model so customers only pay for the resources used. There are no minimum fees or upfront commitments.
Amazon EFS offers two storage classes for data stored in EFS:
- Standard Storage Class: This is the default storage class. Standard storage is designed for frequently accessed files.
- Infrequently Access Storage Class: This storage class is designed for files that accessed less frequently. Data stored on the infrequent access storage class costs less than Standard.
In addition to the two storage classes, EFS also provides two throughput modes:
- Bursting Throughput: This is the default throughput mode where throughput for file operations scale with the amount of data stored in the file system. EFS provides a baseline rate of 50 KB/s per GB. EFS also provides burst credits that can be used to get a higher throughput for a limited period of time. This article explains how the burst credits work in more detail.
- Provisioned Throughput: This mode allows you to provision throughput for the file system regardless of the size of the ilfe system. In this case, Amazon charges you for both the storage and the throughput provisioned.
Now, that we have a good understanding of the various storage and throughput modes, we can look at the Amazon EFS pricing model.
Infrequent Access Storage is significantly cheaper than Standard Storage (10x). You also pay for each request made to Infrequent Access
Customers pay for throughput provisioned above the baseline rate (50 KB/s per GB)
Storage cost is based on the average storage used through the month. For e.g. if you were to use 1 TB of EFS Standard Storage for 15 days and 200 GB of EFS Standard Storage for the remaining 16 days of a 31 day month, your total Standard Storage would be 1,000 GB * 15 days * 24 hours/day + 200 GB * 16 days + 24 hours / day = 436800 GB-hours or 436800 GB-Hours x (1 month / 744 hours) = 587.09 GB-month
Amazon EFS is one of the main storage services provided by Amazon. Once you understand the key concepts of Amazon EFS, you can tweak your application to get the best performance and also reduce the cost you pay for it.