Being able to predict costs is a core principle behind budgeting. If you don’t know what you’re spending until it’s already too late, you stand a very good chance of going overboard and running into severe problems.
That’s why it’s so important to estimate future S3 costs.
AWS is terrible at giving you a straight answer as to how much a given product will cost, and it’s even worse at doing so if the product has multiple pricing plans, optional extras, and hidden costs. S3 has all of these.
Don’t worry though, because there’s a way to reliably forecast your S3 costs that we’re going to teach you all about in this post. That’s why we’ll be covering:
- What is the AWS Pricing Calculator?
- The basic S3 costs you’ll need to look for
- How to capture the historical data you need for estimating
- How to estimate future S3 costs with AWS Pricing Calculator
- The easier way to manage your AWS costs
Let’s get started.
What is the AWS Pricing Calculator?
Let’s face it, AWS is the top dog when it comes to confusing pricing plans.
From the wealth of different products and services offered to the insane amount of variables you have to bear in mind in order to add up all of your costs accurately, AWS isn’t budgeting-friendly to anyone who isn’t already intimately familiar with their prices. The confusing nature of native cost management tools such as their Cost and Usage Reports means that knowing what you’re spending and why is difficult enough, let alone predicting your costs based on potential changes to your account.
That’s where their pricing calculator comes in.
AWS Pricing Calculator is a nifty tool that allows you to calculate your AWS costs relating to a specific setup. All you have to do is tell it which AWS products you’ll be using, the details of those products, and any extra information that you know (such as your expected usage levels), and the calculator will show you exactly how much you’ll have to spend in that situation.
This makes AWS Pricing Calculator fantastic for forecasting bills based on a potential setup without requiring you to set up everything first - you can see whether the products and services will be roughly within your budget before committing to anything. You can even do this without having an AWS account at all, so it’s particularly useful for anyone who’s considering using AWS but is understandably unsure about how much their ideal setup would cost them every month.
Whether you’re looking to make changes to your setup with, say, running new EC2 instances or branching out into using an entirely new product, the calculator is the best native tool for predicting what your costs will look like.
This tool also lets you break your cost estimates down by service or groups of services, meaning that you can see which products are contributing the most to your overall bill, and letting you adjust your setup accordingly. For example, if you find that your desired storage options will cost far more than your budget allows, you’ll then be able to tweak your hypothetical setup to either a cheaper pricing plan or scale things down to the absolute essentials and then re-evaluate.
The other features of AWS Pricing Calculator include being able to save, share, and export your estimates, which can make justifying and sharing a budget with the rest of your team incredibly easy. Sure, saving your estimate so that you don’t have to re-enter the details to see the quote again is nice, but being able to instantly share the full estimate with your developers, financial team, and any other relevant parties is incredibly powerful.
If you’d like to dive further into the details of AWS Pricing Calculator and its pros and cons, check out our full post on the topic; What AWS Pricing Calculator Is, and How to Use It.
The basic S3 costs you’ll need to look for
The last thing that you need to know before we show you how to use AWS Pricing Calculator to estimate your future S3 costs is what costs you’ll be forecasting. You need to be fully aware of what costs are incurred by using S3 in order to get an accurate forecast from the calculator.
Remember; AWS Pricing Calculator is only as good as the information you put into it. If you don’t correctly enter your S3 details, you’ll never get an accurate cost estimate.
Having said that, there are a number of different costs that using S3 can incur.
First is the basic cost of your storage, which will depend on the amount of data that you’re storing and the pricing plan you’re on. That pricing plan will, in turn, depend on aspects such as the frequency that you need to access your data, and how rapid you need the retrieval to be. The more frequently you access your data and the faster you need the retrieval to be, the more expensive the data plan will be per GB stored per month.
The reverse of your storage price scaling is true for any requests submitted and data retrieval. So, S3 Standard (the most expensive plan in terms of per GB stored per month) doesn’t charge you at all for data retrieval, and the (joint) lowest cost for any and all requests of any of S3’s pricing plans. However, any Archive-tier plan greatly increases the cost of both of these things while cutting the price of general storage.
Next we have data transfer charges, which are the same across all S3 pricing plans and instead vary almost entirely based on the start and end locations of the data you’re transferring, be it between different AWS products, locational regions, or being shipped out to the internet. You can also pay a little extra for S3 Transfer Acceleration, which speeds up the connection between a single S3 bucket and the internet via an AWS edge location.
There are also a few optional extras such as S3 Object Lambda, which lets you add custom code to your S3 GET requests to alter the data that you retrieve, and management and inventory extras such as S3 Inventory, S3 Storage Class Analysis, and S3 Object Tagging. All of these come with their own related costs that must be considered if you’re planning to use these services, but bear in mind that S3 Object Lambda cannot be used without AWS Lambda functions. Thus, if you use S3 Object Lambda in your calculator estimate, you’ll also need to add your estimated AWS Lambda usage to reflect those related costs.
That’s enough of the basics. You know what tool you need to use and which costs you’ll need to put into the calculator in order to get an accurate estimate. Now it’s time to show you how to get your estimate.
How to capture the historical data you need for estimating
Look, S3 charges are plentiful so it might seem overwhelming to predict them, but it’s helpful to remember that all these charges are based on specific events that happen in your AWS account. That means, in order to forecast accurately, you’ll need access to data tracking all of these events.
Fortunately, you have some options to choose from, but, unfortunately, each of these require a data collection period after you configure them, as AWS does not provide this level of historical data on demand.
The fastest method for S3 historical data access is S3 Storage Lens. It’s easy because there’s simply no configuration during the set up, you just turn it on. S3 Storage Lens retains all the events that incur S3 charges, from retrievals and requests, to GB stored in every tier. That being said, S3 Storage Lens wasn’t created for the purpose of cost estimation and performs its best when displaying data in summary form. That means that accessing the metrics for each S3 bucket or data type requires exporting and analyzing a large data set in your favorite spreadsheet program. Using S3 Storage Lens does incur a charge proportional to the quantity of objects under management and the quantity of metrics being tracked.
The most specific method for S3 historical data tracking is Amazon CloudWatch. Unlike other AWS services that send their monitoring data by default to CloudWatch, S3 does not. Choosing CloudWatch requires manual configuration of every custom metric, meaning it can be configured to record each of your cost-incurring actions as they occur. Querying these metrics will help you generate a limited data set of historical events that give you exactly the information you need to build your estimate using AWS Pricing Calculator. That being said, each custom metric in CloudWatch comes with a fee, so this can get expensive quickly.
The cheapest method for S3 historical data retrieval is the AWS Cost & Usage Report (CUR). Since every chargeable event shows up in the CUR, those events can be tallied up and imported during the estimation process. The challenge here is that the CUR contains every chargeable event in every service, not just S3, so you’ll need to do a lot of digging to get to the right answer. That being said, CUR generation is free.
How to estimate future S3 costs with AWS Pricing Calculator
Start by navigating to the AWS Pricing Calculator. Remember that you don’t need to have an AWS account in order to use this, so you won’t need your account details to hand!
Click on the “Create estimate” button, after which you’ll be greeted by a screen asking you to search for the AWS service that you want to start adding the costs of to your total.
When using the pricing calculator you’re going to have to select each AWS service individually, set them up with all of their (expected) details, then rinse and repeat until your setup is fully realized. As such you first need to find S3.
First you’ll want to make sure you’re searching by “location type” which should be the default option. This will prevent any services that are unavailable in your location from showing, which is handy. Speaking of which, check that the calculator is set to the correct “Region” too. Once both are selected you can search for “S3” by using the “Find Service” bar. Amazon Simple Storage Service (S3) should be the first result, so go ahead and click “Configure” on this option to start setting it up.
Here’s where you need to be specific with all of the details related to your S3 setup. Start by naming your S3 setup (we’d advise naming it according to what it’s used for) and choosing a Region that you’ll be setting up in (if you aren’t sure, just choose the Region that you’re physically located in or where the majority of your customer base is).
Now you need to select which class of storage you need and whether you’re going to use any optional extras. We’ll keep things simple for now and select S3 Standard, but to show you what they look like we’ll also select S3 Management and Insights and S3 Object Lambda. Unless you’re not going to transfer any data you’ll also need to make sure that the Data Transfer option is selected too. Remember, your job here is to model what your charges would be if you were to adopt a different pricing model, but continue with the same software performance, and therefore chargeable events, as before.
Next, fill in the details of your storage and request needs. Remember that the resulting estimate will only be accurate for the parameters you set out here. For our example we chose 2 TB of storage per month, 50,000 of each type of request, and 700 GB of data returned and scanned by S3 Select (again, these are just placeholder values for the sake of getting an estimate).
All that’s left now is to repeat this action with all of the optional extras you’ve selected, from S3 Batch Operations to Data Transfer. Once you’ve double-checked all of your information, click “Save and add service”. You’ll then be able to see, save, edit, and export your estimate, or keep adding services until you’ve built a more complete picture of what your AWS bills would look like if your setup matched the one you’ve entered into the calculator.
As a quick reminder, if you’ve selected S3 Object Lambda then you’ll also need to set up AWS Lambda at the very least to reflect the associated costs. If you want to separate your S3 costs from the rest of your estimate items, simply create a group for them!
The easier way to manage your AWS costs
Estimating your future (or potential) costs with AWS Pricing Calculator is a good start, but there are many issues with the tool which hold it back from being truly fantastic. Yes, it’s free and native, but every estimate is built manually and is lost forever if you don’t save it. If you already own an AWS account you can’t port your current setup over - everything has to be selected fresh, meaning a mountain of work and double-checking to get everything correct.
That’s not even mentioning how vulnerable the whole thing is to human impact. Made a mistake in your details? Your estimate is inaccurate. Spent too long researching historical data? Imagine what better work you could have spent your time on.
If you want reliable control and prediction over your AWS costs under certain S3 configurations, you should instead come to us here at Aimably. Our proprietary S3 cost-modeling service offered as a part of our Public Cloud Cost Assessment highlights the precise S3 configuration that will result in the greatest savings for your business.Whether you’re trying to verify that you’re paying what you should or if you’re just trying to see which part of AWS is costing you the most money, we’ve got you covered.