This article explores estimating the AWS RDS SQL Server cost so that you can plan resources accordingly.
Introduction
Amazon is a leading cloud solution provider and provides relational database service (RDS) for various databases such as Microsoft SQL Server, Oracle, PostgreSQL, MariaDB, MySQL and Amazon Aurora. We have explored various articles for AWS RDS SQL Server on SQLShack.
Suppose we require a new RDS instance for our usage. In the planning phase, we need to consider the compute resources, storage, usage, availability requirements for RDS. Another useful requirement is cost analysis. Amazon provides a cost-effective model for you and charges only for the hours you use the RDS service. Once you stop the RDS DB instance, it does not charge anything to you. It is always a good idea to estimate the costs of the RDS instance during planning for it.
We get estimate RDS instance cost in two ways:
- AWS RDS console
- Simple Monthly Calculator
Let’s look at both ways of estimating RDS costs.
AWS RDS SQL Server cost estimates using RDS console
In the article AWS RDS SQL Server – Launching a new database instance, we go through RDS instance configuration and you should go through it before reading this article.
In the create database wizard, select the required database engine, edition, version, templates, storage type, allocated space and provisioned IOPS, availability & durability for viewing the estimated cost of the RDS instance.
Let’s examine a few RDS SQL instance configuration and their estimated costs:
DB Engine | Microsoft SQL Server |
Edition | SQL Server Enterprise edition |
Templates | Dev/test |
DB instance class | Standard class – db.m5.xlarge 4 vCPU, 16 GiB RAM, EBS 3500 Mbps |
Storage type | General Purpose SSD – 20 GB |
Multi-AZ Deployment | No |
IOPS | 10000 |
You can see the estimated monthly cost for the above configuration is 1707.58 USD:
Now, let’s change the DB instance class to db.m5.16xlarge (64 vCPU, 256 GiB RAM, EBS 10000 Mbs), and it changes AWS RDS SQL Server cost (estimated) to 27286.78 USD:
In the above configuration, we used the dev template. If we change the template to production, the price will be higher, 54671.46 USD:
In the above estimates, you will be charged for Multi-AZ standby instance. By default, if we use the production template, AWS recommends multi-AZ deployments for high availability purposes and enables it automatically for you. It also charges for the provisioned IOPS in the production template configuration.
In the production instance, you will need a bigger storage size as well. The above estimates are for the 20 GiB storage that is not suitable for the production instance. Now, modify the required storage to 10000 GiB and storage prices increases as shown below. It charges 1280 USD for the 10000 GiB storage for the RDS instance:
We should plan for the required IOPS for the RDS instance to get better IO throughput. The following estimates are for the 20000 IOPS, while the rest of the configuration remains the same. It is charged 2000 USD for the provisioned IOPS:
In this method, we estimate an RDS instance cost for an individual instance, and you need access to the AWS console.
AWS Simple Monthly Calculator for AWS RDS SQL Server cost
Suppose you do not have access to the AWS console, and you are considering the cost of managed database instances for various cloud solution providers. In this case, the AWS Simple Monthly Calculator comes in handy.
You do not need access to the AWS console for using this tool. It is a web-based tool in which you can enter your requirements, and you get monthly estimates for the RDS resources.
In the web browser, open Simple monthly calculator:
In the left-hand menu, the AWS services are listed, such as AWS EC2 instance, Amazon RDS, Amazon cloud Watch, Amazon RedShift.
Click on the Amazon RDS tab to open the calculator page specific for the RDS instance. The first step is to choose the region in which you want to deploy the RDS instance:
The RDS instance price might differ between the regions. We will compare the price between different regions for a similar configuration later in this article.
Once you select the region, click on the Add New Row button to expand the configuration row:
It requires the following inputs:
- Description: Name for the RDS instance. It does not affect to price
- DB instance: Number of the DB instances we need. Let’s say we need a single DB instance
Usage: RDS instance usage in estimated hours. We can specify the usage in hours/day, hours/week, hours/month or %utilized/month basis:
We estimated 100 hours per month usage:
- DB engine and license: Specifies the DB engine type and edition for it:
Suppose we want SQL Server Enterprise edition for the RDS instance:
- Class and deployment: Specifies the RDS instance class and deployment in single or multiple AZ. It provides a list of all supported instance classes. You can choose the appropriate instance for your requirements
- Storage:Specifies the storage type and its size. By default, it shows estimates for general purpose SSD with 20 GB space
- I/O: Select the provisioned IOPS for the RDS instance
As soon as you put the information for the RDS instance, it shows you AWS RDS SQL Server cost(monthly) in a new tab:
Click on the highlighted tab(the Estimate of your monthly bill tab) to get the breakdown of the estimates:
Now suppose we require 5 instances of RDS instances with similar configuration. Specify the number of instances in the DB instances tab, and you get the estimated price as shown below:
You can see a breakdown of the total costs:
In any organization, we need multiple database environments such as production, development and staging. Each environment might differ in terms of computing resources as well as storage requirements. For example, a production instance has higher compute resources than other environments.
We can calculate the total estimated cost of the RDS infrastructure using this simple monthly calculator at a single place. In the following table, we have calculated an estimated price for the 5 production, 2 development and 2 staging RDS instances.
Environment | DB instances count | Usage | DB Engine | Instance type | Storage | IOPS |
Production | 5 | 500 hours per month | SQL Server Enterprise edition | Db.r3.2xLarge with Multi-AZ configuration | 100 GB provisioned | 1000 |
Development | 2 | 4 hours per day | SQL Server Standard edition | Db.m1.large with single-AZ configuration | General purpose 50 GB | 0 |
Staging | 2 | 4 hours per day | SQL Server Express edition | Db.t3.medium with single-AZ configuration | General-purpose 50 GB | 0 |
We have AWS RDS SQL Server cost of $28214.21 for all RDS instances:
Click on the Estimated bill tab to get bill breakdown. However, it does not show price for an individual RDS instance:
AWS RDS SQL Server cost dependency on the AWS region
As highlighted earlier, AWS costs vary in different regions. For a similar RDS instance configuration, US East (N.Virginia) costs you $502.30 monthly. However, Asia Pacific(Mumbai) charges you $ 514.22. You should choose the regions appropriately or you may end up paying a higher price for a similar configuration. N in the following screenshot:
Free Tier account and AWS RDS SQL Server Cost
AWS provides a free tier account for you to get hands-on experience on various AWS resources such as RDS. Let me summarise here the free tier benefits:
- 750 hours free usage of AWS RDS instance with Micro class servers and SQL server express edition
- 750 hours of AWS EC2 Linux, RHEL or SLES with t2.micro class servers
- 5 GB standard storage for Amazon S3
You can explore more benefits on the following link AWS free tier usage.
In the following screenshot, we get an estimated monthly bill of $ 0.00 for RDS instance with SQL Server Express edition, db.t2.micro deployment and 20 GB storage:
Now, let’s say we want to use RDS instance 732 hours per month with 50 GB storage for the RDS. The free tier account provides 20 GB of storage per month. In this estimate, we get charged for the additional storage. You can see the estimated price for this RDS instance under free tier account is $3.45:
Conclusion
This article is useful for estimating AWS RDS SQL Server cost of RDS SQL Server. It is always recommended to check the pricing details so you can avoid any last-minute surprise in your monthly invoice.
- Understanding PostgreSQL SUBSTRING function - September 21, 2024
- How to install PostgreSQL on Ubuntu - July 13, 2023
- How to use the CROSSTAB function in PostgreSQL - February 17, 2023