Manage your Amazon Elastic File System (EFS) costs using AWS Budgets
by Deirdre Corley (Senior Product Manager – Amazon EFS) and Matthew Cowsert (Senior Product Manager – AWS Cost Management)
Since Amazon Elastic File System (EFS) launched in mid-2016, AWS customers have been taking advantage of the low-cost, cloud-native, fully managed NFS file system for Linux-based workloads. Recently we’ve been hearing from EFS customers that they love the ability to scale their file storage without having to provision hardware but are looking for more tools to manage file storage costs across many users and groups within their organization. In response to this request, we released the EFS Infrequent Access tier last year (2019) to help customers save up to 92% on their file system costs and today we want to make customers aware of another tool that’s available to them through AWS Budgets that can help them save money on their EFS file system costs. In this post we will walk you through how you can use AWS Budgets to create budgets and alerts on your EFS file systems so you are able to allocate your IT budgets effectively and monitor your EFS file system costs against your AWS Budgets.
EFS Pricing Overview
Before we get started walking through an example of how to set up an AWS budget for EFS, let’s first do a quick review on the different components of EFS pricing.
Amazon EFS is priced based on its two storage classes: the Standard storage class and the Infrequent Access storage class (EFS IA). The Standard storage class is designed for active workloads and you pay only for the amount of file system storage you use, priced at $0.30/GB-month*. EFS IA provides price/performance that’s cost-optimized for files not accessed every day. Files not accessed after 7, 14, 30, 60 or 90 days (according to the lifecycle policy you choose) will be automatically moved into the EFS IA storage class where you can begin saving up to 92% on storage costs. The EFS IA storage class is priced at $0.025/GB-month* and you pay a $0.01/GiB-transferred* fee each time you read from or write to a file.
Throughput on EFS is included as part of your file system cost and scales as the size of your file system in the Standard storage class grows (50 KB/s of throughput included per GB of Standard storage) but you are also able to provision throughput independent of the amount of data stored on your file system for development tools, web serving, or content management applications where the amount of data in your file system may be low relative to throughput demands. Like the default throughput included with your file storage, Provisioned Throughput is priced at $6.60 per MB/s-month which is equivalent to the 50 KB/s per GB of throughput included with the price of EFS Standard storage and you are billed only for the throughput provisioned above what you are provided based on data you have stored. You are able to decrease Provisioned Throughput or turn it off once every 24 hours which can save you money if you are running an application with low storage and bursty throughput demands.
*Based on us-east-1 pricing
Create an AWS Budget for an EFS file system
Now, let’s get started walking through an example of how to create an AWS budget on an EFS file system.
AWS Budgets gives you the ability to set custom budgets based on your EFS costs and usage, both at a high level or on a particular subset of accounts, regions, tags, or more. These budgets automatically send alerts to you using email or Amazon SNS topic when you exceed the thresholds that you define. For the purposes of this blog, we will walk through an example of how to set a budget on a specific EFS file system by enabling a tag on your file system that will alert you when your EFS file cost is forecasted to exceed the budgeted amount.
First, we must activate your EFS tag as a cost allocation tag. You can do so by navigating to the billing console and finding the Cost allocation tags page on the left-hand navigation, under the Cost Management header.
Once activated, your EFS tag will show up as a filterable dimension in the next 8-24 hours.
Once your tag shows up as a filterable dimension, you can either create a budget for your total costs for a specific file system or by specific usage units (Standard Storage GB-month, IA Storage GB-month, or Provisioned throughput MiBps-month). For this example we will create a budget for the total EFS file system cost but know that you also have the options to create a usage budget following the same approach outlined below.
To get started with AWS Budgets, either search for AWS Budgets directly in the management console or look for AWS budgets under the Cost Management service pillar.
To get started creating an EFS cost budget in the AWS Budgets dashboard, first choose Create Budget in the top right corner.
For Budget type, choose Cost budget. This takes you to the budget creation page.
Specify the Budget Name. For this example we will call the budget MattC_EFS Cost Budget.
For Budget period, specify Monthly.
To track against the same budgeted amount each month, leave the form set to the Fixed option and input your desired budgeted amount.
However, to specify individual monthly budget targets, choose the Monthly Budget Planning option.
From there, you need to navigate to the budget parameters section, select tag, your specific EFS File System tag key and tag value. For this example the tag key is EFS File System and the tag value is MattC_Demo_File_System.
After you have specified your monthly budget targets, you can configure any alerts to notify you on your actual costs`(after they have accrued) as well as your forecasted cost (before all you costs have accrued). For more price sensitive customers, set a lower alerting threshold to afford additional time to make adjustments to your EFS workloads and access controls.
Once this is complete, select confirm budget to move to the summary page, confirm your budget details and create your monthly EFS cost budget.
We want to empower you to seamlessly scale your IT infrastructure while simultaneously lowering your overall IT costs. The integration of AWS Budgets and EFS allows you to set cost and usage budgets that precisely match your EFS business patterns so you can be informed and notified if your EFS costs start exceeding (or are forecasted to exceed) your budget. To learn more about AWS Budgets or AWS EFS capabilities, please visit the AWS Budgets and AWS EFS webpages.