AWS Made Easy

AWS EFS Tiering and Pricing: How to save on cost

AWS EFS Tiering: Pricing and lifecycle policies and how to reduce costs

AWS Elastic File System is a network file system for Linux machines on AWS (EC2 or VMC) that allows you to build a serverless and scalable file system with ease. This serverless architecture brings even fast development times but can also result in big costs due to this scale.

In this article we will review AWS EFS Tiering and the pricing tradeoffs involved. Then we will cover how you can move your EFS to the IA tier using the AWS Command Line Interface (CLI). Then, we’ll go through building a capacity model that will inform an AWS Lifecycle Policy to manage Infrequent Access tiering for minimal latency risk with maximum savings. This EFS Lifecycle Policy can then be used to manage files in your EFS instances, even as you scale.

You may be paying too much for your AWS EFS (Elastic File System)

EFS has two primary storage tiers: Standard and OneZone, each of which has a secondary tier called Infrequent Access (IA).

image 43
AWS EFS Tiering for US East as of April 2022

AWS EFS pricing explained

You can save up to 92% of storage costs by moving files to the Infrequent Access tier, following the criteria set by AWS. The main trade-off involved with moving files to this tier is that files in this tier have 10x higher latency, meaning that files in IA should never require quick access by clients or applications.

When and why should I use AWS EFS Intelligent Tiering?

With EFS, Files can be moved to different access tiers following data access patterns. These tiers unlock savings for infrequently accessed files while maintaining low latency for those files that are frequently accessed. Enabling EFS Intelligent Tiering for EFS gives you access to the lowest cost tier for your files, without compromising performance and access. 

In order to enable Intelligent tiering, you will need to create an AWS Lifecycle policy which will set the parameters for your automated tiering.

image 42
AWS EFS Architecture using Lifecycle Management

Generate savings with EFS Intelligent Tiering

EFS Intelligent Tiering helps you find the balance between cost and performance by reacting to data access patterns. This means that if there are files that are currently stored in Infrequent Access, EFS Intelligent Tiering will monitor how often those files are accessed and move them back to either EFS Standard or EFS OneZone respectively for lower latency. 

When using the Infrequent Access tier you can select between Bursting and Provisioned  modes that manage your files’ throughput and performance. There is some performance risk associated if Bursting Mode file systems are optimized, so we will select Provisioned Mode.

In Provisioned Mode, we will need to predict the throughput that the file system needs or the “minimum required throughput”.

This approach takes the performance risk and turns it into a (minor) financial risk instead. AWS only charges for provisioned throughput that is not already provided due further reducing the financial risk. In other words, if your primary tier is large enough, you won’t pay any extra cost for provisioned throughput. Financial risk is minimized further if we only change the file systems where savings are guaranteed.

How to enable AWS EFS Intelligent Tiering

Enable EFS Intelligent Tiering via Command Line Interface

To modify or set a file system’s lifecycle management from the CLI:

Run the put-lifecycle-configuration AWS CLI command or the PutLifecycleConfiguration API command, specifying the file system ID of the file system for which you are managing lifecycle management.

$ aws efs put-lifecycle-configuration \
--file-system-id File-System-ID \
--lifecycle-policies "[{\"TransitionToIA\":\"AFTER_60_DAYS\"},{\"TransitionToPrimaryStorageClass\":\"AFTER_1_ACCESS\"}]" \
--region us-west-2 \
--profile adminuser

To modify or set a file system’s lifecycle management from the console:

Ensure that you select one of the available settings in Transition into IA. Then set Transition out of IA to On first access to move files that are in IA storage to standard storage when they’re accessed for non-metadata operations.

transition into IA

Building a capacity model for AWS EFS Intelligent Tiering

In order to create the most optimal policy for our EFS Lifecycle Management , we would need file access patterns – data we don’t have access to. We can, however, model the scenarios where differing percentages of the primary tier are moved to IA. The system uses different baselines of throughput (cell values are % savings from each combination) to model what tier our EFS instance should be in. For example:

image 41
Standard

With this chart we can observe that, if we move 80% of files to IA:

  • We will get 73% savings as long as our throughput requirements are below 20% of the original baseline. 
  • As our throughput requirement increases, we start to incur costs for provisioned throughput. 
  • The breakeven point is 92.5% of baseline capacity, after which we will actually lose money.

We believe the safest threshold is 90% of baseline throughput, where any amount of files moved to IA will result in net savings.

Conclusion

With this EFS Intelligent Tiering policy in place, you can be sure that you are never paying for unnecessary EFS storage. You can now replicate that same EFS Lifecycle Policy across all of your EFS instances. However, implementing all these policies and managing them across your entire AWS environment may require some time. If you prefer a simple automated solution, try CloudFix, which can apply such fixes for you.

Email
Twitter
Facebook
LinkedIn

Leave a Reply

Your email address will not be published.