image
RDS Instance Purchasing Options
RDS Instance Purchasing Options
Difficulty
Intermediate
Duration
33m
Students
6401
Ratings
4.6/5
Description

This course explores the cost metrics associated with the Amazon Relational Database Service, known as RDS. Minimizing cloud spend is always a priority when architecting and designing your cloud solutions, and care should be taken to understand where your costs come from and the steps you can take to reduce them.

This course looks at each of the components associated with RDS that incur a cost and how those costs are broken down. It looks at on-demand instances, reserved instances, database storage & I/Os, backup storage, backtrack storage, snapshot export, and data transfer.

If you have any feedback relating to this course, please feel free to contact us at support@cloudacademy.com.

Learning Objectives

  • Understand the different database instance purchasing options and payment plans
  • Learn about primary storage and I/O pricing options
  • Explore the costs associated with backup storage and backtrack storage
  • Learn about the pricing for snapshot exports and data transfers

Intended Audience

This course is intended for anyone responsible for designing, operating, and optimizing AWS Database solutions. It would also be advantageous for individuals planning to take the AWS Certified Database - Specialty exam.

Prerequisites

To get the most from this course, you should have a basic understanding of the AWS global infrastructure. It would be beneficial, but not essential, to have a basic awareness of the database engines covered in this course, i.e. Amazon Aurora, MySQL, PostgreSQL, MariaDB, Oracle, and SQL Server.

Transcript

Hello and welcome to this lecture where I want to cover the number of different purchasing options that are available and the associated costs.  

You can purchase database instances through a variety of different payment plans. These have been designed to help you save costs by selecting the most appropriate option for your deployment. The different payment options within RDS include on-demand instances, on-demand instances (BYOL), reserved instances, reserved instances (BYOL), and serverless.

Currently, only the Oracle database engine uses the BYOL purchase options, all other DB engines only use on-demand instances and reserved instances, with the added exception of Aurora also using serverless as an additional purchasing option.  

So to make things a little clearer you can see in this table which DB engines support each type of purchasing option.

It's good to be aware of these different options as having an understanding of these can help you save a considerable amount of money depending on your use case. Let me run through each option to help explain. Starting with on-demand instances.

On-demand instances can be launched at any time and be provisioned and available to you within minutes. You can use this instance for a shorter time or for as long as you need before terminating the instance.

When you create an RDS database you are required to select the appropriate instance to support your DB from a processing and memory perspective, as shown here in this screenshot from the MySQL DB engine.

Depending on the options you select here will depend on what the instance price will be.  The larger and more powerful the instance is, the more it will cost you.  The cost of this compute capacity is calculated hourly with no minimum usage term.  Any partial DB instance hours used are cost on per second increments.  For any database changes that alter the running costs, such as modifying the instance or creating the DB instance, then a minimum of a 10-minute charge will be applied even if the DB is terminated or altered again before 10 minutes has passed.

At the time of writing this course, the following instance types are available for use.

For a breakdown of the performance of each of these instance types, please refer to the following AWS documentation: https://aws.amazon.com/ec2/instance-types/

As an example, the following table shows the pricing for each of the available instances with the MySQL DB engine within the London region, based on the deployment of an RDS database within a single availability zone.

As you may or may not know, you can also deploy your RDS database within a single availability zone, or use a Multi-AZ deployment to add a layer of high availability.  This will, of course, incur additional costs for your standby instance to run in another availability zone should your primary instance fail.  

The following table shows the total costs for your multi-az deployment, which is typically double the cost of single deployment highlighted previously, again this is based upon the London region using the MySQL DB engine.

As well as both single-AZ and multi-AZ, some of the DB engines offer alternative options.

Amazon Aurora: When selecting Amazon Aurora as your DB engine, you can either select to deploy it with:

  • Amazon Aurora with MySQL compatibility 
  • Amazon Aurora with PostgreSQL compatibility

Each of these options have a different price for the on-demand instances.  

Also, you also have an option to Amazon Aurora Serverless which ultimately means there are no instances to manage.  With this in mind, the on-demand pricing is not applicable, serverless pricing will be used instead and is measured in Aurora Capacity Units (ACUs).  Each ACU consists of 2GB of memory in addition to any associated CPU and networking requirements.  As an example, each ACU within the London region is charged at $0.07 per ACU Hour

Oracle: When selecting Oracle as your DB engine, your on-demand instance price will be dependant on which edition of Oracle you choose, the options available to you are:

  • Standard Edition One (SE1)
  • Standard Edition Two (SE2)

SQL Server: Much like with Oracle, the SQL Server DB engine is also dependent on the edition your select:

  • Express
  • Web
  • Standard

Again, each of these options will offer a different on-demand instance price.

Currently, the bring your own license options are only available with the Oracle DB engine. When using a bring your own license, you are able to use RDS with one of your pre-existing licenses that you already own, in this instance, one of your Oracle database software licenses.  This differs from on-demand instances where your software licenses are already included in the price.

Again, much like on-demand instances that we discussed previously, you are charged by the hour with no long-term commitments of any sort.

Before you decide to use a BYOL license instance you need to ensure that your current license includes software update license and support for the particular instance that you are looking to create.  

Also with BYOL for Oracle you have additional editions for deployment.  This means that BYOL supports the following Oracle Editions:

  • Standard Edition
  • Standard Edition One (SE1)
  • Standard Edition Two (SE2)
  • Enterprise Edition

As you are only paying for the compute instances when using BYOL, there is no variation in prices between the different editions of Oracle being used.

The following tables shows the pricing for single-az deployment using Oracle with BYOL option with T3 and M5 instances.

The pricing for multi-az will be double the prices you see here.

Reserved instances allow you to purchase a discount for an instance type with set criteria for a set period of time in return for a reduced cost compared to on-demand instances. This reduction can be as much as 75%. These reservations against instances must be purchased in either one or three-year time frames. 

Further reductions can be achieved with reserved instances depending on which payment methods you select. There are three options available to you, firstly:

  • All upfront. The complete payment for the one or three-year reservation is paid. This offers the largest discount and no further payment is required regardless of the number of hours the instance is used. 
  • Partial upfront, here a smaller upfront payment is made and then a discount is applied to any hours used by the instance during the term. 
  • No upfront, no upfront or partial payments are made and the smallest discount of the three models is applied to any hours used by the instance. 

The following is an example of the pricing for MySQL reserved instance pricing in the London Region for the db.t3.medium instance type

When compared to the on-demand pricing there is a big cost-savings, especially when you factor in the difference in term length, plus any upfront payments.  In this example, the on-demand pricing for the same instance type is $0.076 per hour, now if you compare this to the 3 year term, full upfront payment option of just $0.037 per hour, that's a saving of just over 51%!

Again, we also have the option to implement Multi-AZ with reserved instances, and for consistency, here is the pricing of Multi-AZ with the same instance type as the example above.

Again, much like the on-demand pricing there are some additional deployment options when using reserved instances.

Amazon Aurora: When selecting Amazon Aurora as your DB engine, you can either select to deploy it with:

  • Amazon Aurora with MySQL compatibility 
  • Amazon Aurora with PostgreSQL compatibility

Each of these options have a different price for the reserved instances.  

Oracle: When selecting Oracle as your DB engine, your reserved instance price will be dependant on which edition of Oracle you choose, the options available to you are:

  • Standard Edition One (SE1)
  • Standard Edition Two (SE2)

SQL Server: Much like with Oracle, the SQL Servers DB engine is also dependent on the edition your select:

  • Express
  • Web
  • Standard

Again, each of these options will offer different reserved instance prices.

This follows the same principles I covered earlier when discussing BYOL for on-demand instance pricing.  At the time of writing this course, it is only available for Oracle, and the same prerequisites apply, in addition to the same 4 editions being available:

  • Standard Edition
  • Standard Edition One (SE1)
  • Standard Edition Two (SE2)
  • Enterprise Edition

As you are only paying for the compute instances when using BYOL, there is no variation in prices between the different editions of Oracle being used.

The following table shows the reserved pricing for single-az deployment using Oracle with BYOL option for the t3.micro instance. 

If you compare this to the pricing below which shows the same instance types, but using a standard reserved instance where the price of the license is included, you can see there is a substantial difference. 

Again, the pricing for multi-az will be double the prices you see here.

About the Author
Students
238173
Labs
1
Courses
232
Learning Paths
187

Stuart has been working within the IT industry for two decades covering a huge range of topic areas and technologies, from data center and network infrastructure design, to cloud architecture and implementation.

To date, Stuart has created 150+ courses relating to Cloud reaching over 180,000 students, mostly within the AWS category and with a heavy focus on security and compliance.

Stuart is a member of the AWS Community Builders Program for his contributions towards AWS.

He is AWS certified and accredited in addition to being a published author covering topics across the AWS landscape.

In January 2016 Stuart was awarded ‘Expert of the Year Award 2015’ from Experts Exchange for his knowledge share within cloud services to the community.

Stuart enjoys writing about cloud technologies and you will find many of his articles within our blog pages.