Why Amazon RDS Reserved Instances?

Amazon RDS Reserved Instances give you the option to reserve a DB instance for a one or three year term and in turn receive a significant discount compared to the On-Demand Instance pricing for the DB instance.

You can choose between three payment options when you purchase a Reserved Instance. With the All Upfront option, you pay for the entire Reserved Instance with one upfront payment. This option provides you with the largest discount compared to On-Demand Instance pricing. With the Partial Upfront option, you make a low upfront payment and are then charged a discounted hourly rate for the instance for the duration of the Reserved Instance term. The No Upfront option does not require any upfront payment and provides a discounted hourly rate for the duration of the term.

All Reserved Instance types are available for Aurora, MySQL, MariaDB, PostgreSQL, Oracle and SQL Server database engines.

Features

  • Reserved Instances provide three payment options: All Upfront, Partial Upfront, and No Upfront.
  • Reserved Instances can save you up to 69% over On-Demand rates when used in steady state.
  • Reserved Instances require no change to how you use Amazon RDS. When computing your bill, our system will automatically apply Reserved Instance rates first to minimize your costs. An instance hour will only be charged at the On-Demand rate when the total number of instances you run that hour exceeds the number of applicable Reserved Instances you own.
  • Reserved Instances for the MySQL, MariaDB, PostgreSQL, and Amazon Aurora database engines as well as the “Bring your own license” (BYOL) edition of the Oracle database engine offer instance size flexibility.
  • All Upfront and Partial Upfront Reserved Instances can be purchased for one or three year terms, while No Upfront Reserved Instances are only available for one year term.
  • Reserved Instances are available in all the AWS regions.
  • Reserved Instances are available for all supported DB Engines.
  • Pricing for Reserved Instances is available on the Amazon RDS Pricing page.

For more details, see the Amazon RDS User Guide.

When Should You Purchase Reserved Instances?

Reserved Instances are a great option for the steady state use case. Most production applications require database servers to be available 24×7. Reserved Instances could provide your business substantial savings if you currently use On-Demand DB instances for your production applications.  

Reserved Instances can also provide significant cost savings for mission critical applications that run on Multi-AZ database deployments for higher availability and data durability.

You can determine whether Reserved or On-Demand DB Instances best fit your needs by comparing On-Demand hourly rates and the effective hourly rate of Reserved Instances. In order to calculate an effective hourly rate, amortize the one-time fee over the term and add the hourly usage rate.

Reserved Instance Payment Options

  • No Upfront RIs – No Upfront RIs offer a significant discount (up to 30%) compared to On-Demand prices. You pay nothing upfront but commit to pay for the Reserved Instance over the course of the Reserved Instance term. This option is offered with a one year term and may be subject to AWS approval. Please contact customer service if you encounter issues while buying No Upfront RIs.
  • Partial Upfront RIs – Partial Upfront RIs offer a higher discount than No Upfront RIs (up to 60% for a 3 year term). You pay for a portion of the Reserved Instance upfront, and then pay for the remainder over the course of the one or three year term. This option balances the RI payments between upfront and hourly.
  • All Upfront RIs – All Upfront RIs offer the highest discount of all of the RI payment options (up to 63% for a 3 year term). You pay for the entire Reserved Instance term (one or three years) with one upfront payment and get the best effective hourly price when compared to running the same DB instance on an On-Demand basis.

How Billing Works

During billing, running DB instance usage is first compared to your active Reserved Instances to minimize costs. Each hour, if the amount of running instances is less than or equal to the total Reserved Instances you have purchased, all running DB instances will be charged at the Reserved Instance rate. Any usage of running DB instances that exceeds the amount of applicable Reserved Instances you have purchased will be charged the On-Demand rate.

For example, if you own 3 Reserved Instances with the same database engine and instance type (or instance family, if size flexibility applies) in a given region, the billing system checks each hour to see how many total instances you have running that match those parameters. If it is 3 or less, you will be charged the Reserved Instance rate for each instance running that hour. If more than 3 are running, you will be charged the On-Demand rate for the additional instances.

If you purchase a Reserved Instance in a given region where you have a applicable running DB instance, the benefit will automatically be applied to that instance moving forward.

Reserved Instance Size Flexibility

Amazon RDS Reserved Instances provide size flexibility for the MySQL, MariaDB, PostgreSQL, and Amazon Aurora database engines as well as the “Bring your own license” (BYOL) edition of the Oracle database engine. With size flexibility, your RI’s discounted rate will automatically apply to usage of any size in the instance family (using the same database engine). Size flexibility does not apply to Microsoft SQL Server and the License Included (LI) edition of Oracle.

For example, let’s say you purchased a db.m4.2xlarge MySQL RI in US East (N. Virginia). The discounted rate of this RI can automatically apply to 2 db.m4.xlarge MySQL instances without you needing to do anything.

The RI discounted rate will also apply to usage to both Single-AZ and Multi-AZ configurations for the same database engine and instance family. For example, let’s say you purchased a db.r3.large PostgreSQL Single-AZ RI in EU (Frankfurt). The discounted rate of this RI can automatically apply to 50% of the usage of a db.r3.large PostgreSQL Multi-AZ instance in the same region.

How To Purchase Reserved Instances

Reserved Instances can be purchased using the AWS Management Console, AWS CLI or AWS API.

AWS Management Console

  1. Sign in to the AWS Management Console, and open the Amazon RDS console.
  2. In the navigation pane, choose Reserved instances.
  3. Choose Purchase reserved DB instance.
  4. For Product description, choose the DB engine and licensing type.
  5. For DB instance class, choose the DB instance class.
  6. For Multi-AZ deployment, choose whether you want a Multi-AZ deployment.
  7. For Term, choose the length of time you want the DB instance reserved.
  8. For Offering type, choose the offering type. After you choose the offering type, you can see the pricing information.
  9. (Optional) You can assign your own identifier to the reserved DB instances that you purchase to help you track them. For Reserved Id, type an identifier for your reserved DB instance. 
  10. Choose Submit. Your reserved DB instance is purchased, then displayed in the Reserved instances list.

AWS CLI and API

Please refer to Amazon RDS FAQs for information about using the AWS APIs.

Important Notes about Purchases

  • Reserved Instance prices cover instance costs only. Storage and I/O are still billed separately.
  • Region, DB Engine, DB Instance Class, Deployment Type and term length must be chosen at purchase, and cannot be changed later.
  • You can purchase up to 40 Reserved Instances. If you need additional Reserved Instances, complete the form found here.
  • Reserved Instances may not be transferred, sold, or cancelled and the one-time fee is non-refundable.