Learn more about SQL Server tools

mssqltips logo
 

Tutorials          DBA          Dev          BI          Career          Categories          Webcasts          Scripts          Today's Tip          Join

Tutorials      DBA      Dev      BI      Categories      Webcasts

DBA    Dev    BI    Categories

 

Estimate AWS RDS Cost for SQL Server


By:   |   Last Updated: 2019-07-10   |   Comments   |   Related Tips: More > Amazon AWS

Problem

Amazon Web Services (AWS) is one of the leading cloud providers in the industry, along with other cloud providers like Microsoft Azure and Google Cloud Platform. AWS RDS (Relational Database Service) offers features to host a database instance using six different types of database engines, one of them being Microsoft SQL Server.

While hosting database instances in the cloud, cost is one of the primary drivers. Generally, most of the cloud services have a pay-per-use type of billing model where the cost is pro-rated to the duration of use. The factors that influence the cost of using SQL Server database instance on AWS RDS service is the key to estimating the usage cost. Cloud projects typically involve many different cloud-based services, and cost estimating is generally considered a very critical exercise while determining the choice of technology stack for the solution. In this tip we will learn how to estimate the cost of hosting a SQL Server database instance using the AWS RDS service.

Solution

AWS RDS provides cost estimates while creating the database instance as well as AWS provides a tool called simple monthly calculator which can be used for cost estimation.

To understand the factors that influence the cost of hosting a database instance on the AWS RDS service, we need to use the AWS RDS Console and follow the steps to create a database instance to the point that it shows us estimates. So, let’s look at the steps to create a database instance using SQL Server as the database engine. To try out the steps explained below, it is assumed that you have an AWS account with access to RDS service.

Log on to AWS account from your web browser and navigate to the AWS RDS console by clicking on the RDS service menu item from the home page. Once you are on the AWS RDS Dashboard, the page would look as shown below.

AWS RDS Dashboard Home Page

Click on the Create Database button to start the steps for database creation process. Once you click on the button, the first step would look as shown below with the engine options. Select SQL Server as the database engine, and navigate to the next set of configuration options.

Create AWS RDS DB - SQL Server

SQL Server Express Edition Costs on AWS

After selecting the database engine, the next configuration item is the SQL Server edition. RDS support four different types of editions as shown below. As a first step of the analysis, lets start with the Express edition which is the default selection.

AWS RDS - SQL Server Express Edition

Navigate to the next configuration option of database instance size. There are other configuration options before this one, but we will keep them as defaults for now as they do not influence the cost. DB instance size refers to the compute capacity available with the instance which directly influences cost as well as performance. We will test the effect of this setting on cost in a few steps. As we have selected the express edition which is the tiniest edition of SQL Server, the instance size setting would also offer limited instance sizes, the default one being t2.micro instance size which means 1 vCPU and 1 GiB RAM.

AWS RDS - SQL Server DB Instance settings

One another important configuration option before we start looking at the cost is Storage and Availability related settings as shown below. Here the default storage type is SSD and 20 GiB of storage space would be allocated for the database instance.

AWS RDS - SQL Server Storage Settings

Keeping the default settings intact, navigate to the bottom of the page where you should be able to see the cost estimates as shown below, depending upon the region you have selected. In my case, I have selected Northern Virginia as the region. As you can see the monthly cost is very negligible for hosting this database instance. The reason being that the edition of SQL Server is Express edition which is generally for non-production use and has massive feature limitations and tiny instance size.

AWS RDS - Cost Estimates

SQL Server Web Edition Costs on AWS

Let’s navigate back to the SQL Server edition setting and change the edition of SQL Server from Express to Web edition. This edition is used for web application or services.

AWS RDS - SQL Server Web Edition

If you navigate to the cost section, you would be able to see that the cost increased significantly, which proves that the edition of SQL Server has significant influence on the costs, which is obvious.

AWS RDS - SQL Server Cost Estimates

SQL Server Standard Edition Costs on AWS

To understand the magnitude of difference between different SQL Server editions, we need to look at the cost estimates for different editions. Navigate back to the edition setting, and this time change it to Standard edition.

AWS RDS - SQL Server Standard Edition

Navigate back to the cost estimates setting and this time you would find that the cost increased almost 4.5 times, and other factors like Multi-AZ (Availability Zone) and Provisioned IOPS have come into picture which bears significant costs. Multi-AZ is like a stand-by instance of SQL Server apart from primary instance for HA. This can be thought of as Always On implementation. So, the cost of this instance is equal to the cost of primary instance. Provisioned IO per second (IOPS) guarantees a fixed number of transaction processing capacity, which requires some dedicated computing power, which influences cost.

AWS RDS - Cost Estimates

SQL Server Enterprise Edition Costs on AWS

Finally, navigate back to the database edition setting and change the edition to Enterprise Edition, which is generally used for production purposes in large scale solutions.

AWS RDS - Enterprise Edition

Navigate back to the estimates, and you would see the estimate value as shown below. If you analyze these costs with the previous one, you would find that the cost has increased 1.5 times for the exact same settings.

AWS RDS - Cost Estimates

Adjusting Settings to Determine AWS Costs

We have established here the database edition has significant impact on cost. The next factor to check out is the IOPS and database instance size. Try to change the IOPS from 1000 to 10000 as shown below.

AWS RDS - Storage and HA Settings

If you navigate back to the estimates, you would be able to see that the cost estimates increased due to the increase in the charges that you would incur for additional IOPS to guarantee a higher IO performance which is generally required for write-heavy transactional applications.

AWS RDS - Cost Estimates

Now let’s change the database instance size and double it up to m5.2xlarge as shown below.

AWS RDS - Large SQL Server DB Instance Size

Navigate back to the cost estimates and you would see that the cost increased significantly compare to the cost of provisioned iops. This shows that the database instance size is a huge factor after the database edition, that influences cost.

AWS RDS - Cost Estimates

Consider that we are new to AWS RDS, and just looking to create a development instance which will be on typically during the weekdays 24x7 and would be stopped during the weekend. For this kind of requirements, we can scale down the database instance size and provisioned iops, as well as switch of Multi-AZ setting as we won’t be too concerned about HA of a development instance.

AWS RDS - SQL Server Dev Instance Size

Navigate back to the SQL Server edition and select the Web edition license, if this database instance is the back-end for some web apps or web services.

AWS RDS - SQL Server Dev Web Edition

If you check the estimates, you would be able to find that the estimates have come down significantly compared to an enterprise version of SQL Server having a large instance size, provisioned iops and Multi-AZ. One thing to note here is that this is the monthly estimate for a database instance that is on 24x7 instead of our intended usage of five days a week typically.

AWS RDS - SQL Server Dev Cost Estimates

AWS Simple Monthly Calculator

Navigate to the AWS simple monthly calculator link from the hyperlink shown above. It would open a new tab with the simple monthly calculator. Navigate to Amazon RDS tab and fill up the same details that we had selected for the Web edition of SQL Server. Ensure that you mention your estimated hours of usage per week or per month. And you would be able to see that the cost decreased again. This is the proof of the pro-rated billing model where the cost of an instance is less when the usage is decreased.

AWS RDS - Simple Monthly Calculator - SQL Server

One minor thing to note is that the incoming traffic in the database when you load data is free. But when you access the data from the SQL Server database instance, that network traffic would cost. If you scroll down the calculator page, you would find a section to fill up data transfer volumes. Let’s say that we have 10 GB of data ingested per month and assume that this data is consumed 5 times by the end-users i.e. 50 GB per month.

AWS RDS - SQL Server Data In and Out volume settings

If you analyze the cost now, you would be able to see that the cost change but only fractionally. That means that the volume of data transfer in and out of the SQL Server database instance does not have a major impact on the cost.

AWS RDS - Simple Monthly Calculator Cost Estimates

In this way you can use the AWS RDS console for quick preliminary analysis and simple monthly calculator for detailed analysis of hosting a SQL Server database instance. Database edition, database instance, and provisioned IOPS are the major contributor of cost for hosting a SQL Server Database instance on the AWS RDS service.

Next Steps
  • We covered the major factors contributing to cost, but there are more factors that influence cost like Reserved Instances. Consider exploring the simple monthly calculator in detail to understand all the factors that influence cost.
  • Check out these other SQL Server AWS tips.


Last Updated: 2019-07-10


get scripts

next tip button



About the author
MSSQLTips author Siddharth Mehta Siddharth Mehta is an Associate Manager with Accenture in the Avanade Division focusing on Business Intelligence.

View all my tips
Related Resources




Post a comment or let the author know this tip helped.

All comments are reviewed, so stay on subject or we may delete your comment. Note: your email address is not published. Required fields are marked with an asterisk (*).

*Name    *Email    Email me updates 


Signup for our newsletter
 I agree by submitting my data to receive communications, account updates and/or special offers about SQL Server from MSSQLTips and/or its Sponsors. I have read the privacy statement and understand I may unsubscribe at any time.



    



Learn more about SQL Server tools