Amazon Relational Database Service
User Guide (API Version 2014-10-31)
Did this page help you?  Yes | No |  Tell us about it...
« PreviousNext »
View the PDF for this guide.Go to the AWS Discussion Forum for this product.Go to the Kindle Store to download this guide in Kindle format.

Working with Reserved DB Instances

Reserved DB instances let you make a one-time up-front payment for a DB instance and reserve the DB instance for a one- or three-year term at significantly lower rates. You can use the command line tools, the API, or the AWS Management Console to list and purchase available Reserved DB instance offerings.

Reserved Instances are available in three varieties—Heavy Utilization, Medium Utilization, and Light Utilization—that enable you to optimize your Amazon RDS costs based on your expected utilization. For more information about reserved instance types, see Amazon RDS Reserved Instances.

  • Heavy Utilization Reserved DB instances enable workloads that have a consistent baseline of capacity or run steady-state workloads. Heavy Utilization Reserved DB instances require the highest up-front commitment, but if you plan to run more than 79 percent of the Reserved DB instance term you can earn the largest savings (up to 58 percent off of the On-Demand price). Unlike the other Reserved DB instances, with Heavy Utilization Reserved DB instances, you pay a one-time fee, followed by a lower hourly fee for the duration of the term regardless of whether or not your DB instance is running.

  • Medium Utilization Reserved DB instances are the best option if you plan to leverage your Reserved DB instances a substantial amount of the time, but want either a lower one-time fee or the flexibility to stop paying for your DB instance when you shut it off. This offering type is equivalent to the Reserved DB instance offering available before the 2011-12-19 API version of Amazon RDS. Medium Utilization Reserved DB instances are a more cost-effective option when you plan to run more than 40 percent of the Reserved Instance term. This option can save you up to 49 percent off of the On-Demand price. With Medium Utilization Reserved DB instances, you pay a slightly higher one-time fee than with Light Utilization Reserved DB instances, and you receive lower hourly usage rates when you run a DB instance.

  • Light Utilization Reserved DB instances are ideal for periodic workloads that run only a couple of hours a day or a few days per week. Using Light Utilization Reserved DB instances, you pay a one-time fee followed by a discounted hourly usage fee when your DB instance is running. You can start saving when your instance is running more than 17 percent of the Reserved DB instance term, and you can save up to 33 percent off of the On-Demand rates over the entire term of your Reserved DB instance.

Remember that discounted usage fees for Reserved Instance purchases are tied to instance type and region. If you shut down a running DB instance on which you have been getting a discounted rate as a result of a Reserved DB instance purchase, and the term of the Reserved DB instance has not yet expired, you will continue to get the discounted rate if you launch another DB instance with the same specifications during the term. Your up-front payment for a reserved instance will reserve the resources for your use; since these resources are reserved for you, you will be billed for the resources regardless of if you use them.

The following table summarizes the differences between the Reserved DB instances offering types.

Reserved Instance Offerings

OfferingUpfront CostUsage FeeAdvantage

Heavy Utilization

Highest

Lowest hourly fee. Applied to the whole term whether or not you're using the Reserved DB instance.

Lowest overall cost if you plan to utilize your Reserved DB instances more than 79 percent of a 3-year term.

Medium Utilization

Average

Hourly usage fee charged for each hour you use the DB instance.

Suitable for elastic workloads or when you expect moderate usage, more than 40 percent of a 3-year term.

Light Utilization

Lowest

Hourly usage fee charged. Highest fees of all the offering types, but they apply only when you're using the Reserved DB instance.

Highest overall cost if you plan to run all of the time, however lowest overall cost if you anticipate you will use your Reserved DB instances infrequently, more than about 15 percent of a 3-year term.


Describing Available Reserved DB Instance Offerings

Before you purchase a reserved DB instance, you can get information about available reserved DB instance offerings.

This example shows how to get pricing and information about available reserved DB Instance offerings.

AWS Management Console

To get pricing and information about available reserved DB Instances

  1. Sign in to the AWS Management Console and open the Amazon RDS console at https://console.aws.amazon.com/rds/.

  2. In the navigation pane, click the Reserved DB Purchases link.

  3. Click Purchase Reserved DB Instance.

  4. Use the Product Description drop-down list box to select the DB engine and licensing type.

  5. Select the DB instance class from the DB Instance Class drop-down list box.

  6. Select whether or not your want a Multi-AZ deployment from the Multi-AZ Deployment drop-down list box.

  7. Select the length of time you want the DB instance reserved from the Term drop-down list box.

  8. Select the offering type from the Offering Type drop-down list box.

  9. Information is displayed after you select the offering type. When you have selected the reserved instance you want, click Continue.

    reserved instance

  10. The summation screen shows you the instance information and cost. Click the X in the upper-right corner of the page to avoid incurring any charges.

    reserved instance

CLI

To get information about reserved DB Instances

  • Enter the following command at a command prompt:

    PROMPT>rds-describe-reserved-db-instances-offerings  --headers
    

    This call returns output similar to the following:

    
    OFFERING  OfferingId                            Class         Multi-AZ  Duration  Fixed Price  Usage Price  Description  Offering Type
    OFFERING  438012d3-4052-4cc7-b2e3-8d3372e0e706  db.m1.large   y         1y        1820.00 USD  0.368 USD    mysql        Medium Utilization
    OFFERING  649fd0c8-cf6d-47a0-bfa6-060f8e75e95f  db.m1.small   n         1y         227.50 USD  0.046 USD    mysql        Medium Utilization
    OFFERING  123456cd-ab1c-47a0-bfa6-12345667232f  db.m1.small   n         1y         162.00 USD   0.00 USD    mysql        Heavy Utilization
        Recurring Charges:   Amount  Currency  Frequency        
        Recurring Charges:   0.123   USD       Hourly
    OFFERING  123456cd-ab1c-37a0-bfa6-12345667232d  db.m1.large   y         1y         700.00 USD   0.00 USD    mysql        Heavy Utilization
        Recurring Charges:   Amount  Currency  Frequency
        Recurring Charges:   1.25    USD       Hourly
    OFFERING  123456cd-ab1c-17d0-bfa6-12345667234e  db.m1.xlarge  n         1y        4242.00 USD   2.42 USD    mysql        Light Utilization   
    

API

To get information about available reserved DB Instances

  • Call DescribeReservedDBInstancesOfferings.

    Example

    https://rds.amazonaws.com/
       ?Action=DescribeReservedDBInstancesOfferings
       &Version=2012-01-15
       &SignatureVersion=2
       &SignatureMethod=HmacSHA256
       &Timestamp=2012-01-18T18%3A31%3A36.118Z
       &AWSAccessKeyId=<AWS Access Key ID>
       &Signature=<Signature>
    

    This call returns output similar to the following:

    <DescribeReservedDBInstancesOfferingsResponse xmlns="http://rds.amazonaws.com/doc/2012-01-15/">
      <DescribeReservedDBInstancesOfferingsResult>
        <ReservedDBInstancesOfferings>
          <ReservedDBInstancesOffering>
            <Duration>31536000</Duration>
            <OfferingType>Medium Utilization</OfferingType>
            <CurrencyCode>USD</CurrencyCode>
            <RecurringCharges/>
            <FixedPrice>1820.0</FixedPrice>
            <ProductDescription>mysql</ProductDescription>
            <UsagePrice>0.368</UsagePrice>
            <MultiAZ>true</MultiAZ>
            <ReservedDBInstancesOfferingId>438012d3-4052-4cc7-b2e3-8d3372e0e706</ReservedDBInstancesOfferingId>
            <DBInstanceClass>db.m1.large</DBInstanceClass>
          </ReservedDBInstancesOffering>
          <ReservedDBInstancesOffering>
            <Duration>31536000</Duration>
            <OfferingType>Medium Utilization</OfferingType>
            <CurrencyCode>USD</CurrencyCode>
            <RecurringCharges/>
            <FixedPrice>227.5</FixedPrice>
            <ProductDescription>mysql</ProductDescription>
            <UsagePrice>0.046</UsagePrice>
            <MultiAZ>false</MultiAZ>
            <ReservedDBInstancesOfferingId>649fd0c8-cf6d-47a0-bfa6-060f8e75e95f</ReservedDBInstancesOfferingId>
            <DBInstanceClass>db.m1.small</DBInstanceClass>
          </ReservedDBInstancesOffering>
          <ReservedDBInstancesOffering>
            <Duration>31536000</Duration>
            <OfferingType>Heavy Utilization</OfferingType>
            <CurrencyCode>USD</CurrencyCode>
            <RecurringCharges>
              <RecurringCharge>
                <RecurringChargeFrequency>Hourly</RecurringChargeFrequency>
                <RecurringChargeAmount>0.123</RecurringChargeAmount>
              </RecurringCharge>
            </RecurringCharges>
            <FixedPrice>162.0</FixedPrice>
            <ProductDescription>mysql</ProductDescription>
            <UsagePrice>0.0</UsagePrice>
            <MultiAZ>false</MultiAZ>
            <ReservedDBInstancesOfferingId>TEMP-DELETE-1</ReservedDBInstancesOfferingId>
            <DBInstanceClass>db.m1.small</DBInstanceClass>
          </ReservedDBInstancesOffering>
          <ReservedDBInstancesOffering>
            <Duration>31536000</Duration>
            <OfferingType>Heavy Utilization</OfferingType>
            <CurrencyCode>USD</CurrencyCode>
            <RecurringCharges>
              <RecurringCharge>
                <RecurringChargeFrequency>Hourly</RecurringChargeFrequency>
                <RecurringChargeAmount>1.25</RecurringChargeAmount>
              </RecurringCharge>
            </RecurringCharges>
            <FixedPrice>700.0</FixedPrice>
            <ProductDescription>mysql</ProductDescription>
            <UsagePrice>0.0</UsagePrice>
            <MultiAZ>true</MultiAZ>
            <ReservedDBInstancesOfferingId>TEMP-DELETE-2</ReservedDBInstancesOfferingId>
            <DBInstanceClass>db.m1.large</DBInstanceClass>
          </ReservedDBInstancesOffering>
          <ReservedDBInstancesOffering>
            <Duration>31536000</Duration>
            <OfferingType>Light Utilization</OfferingType>
            <CurrencyCode>USD</CurrencyCode>
            <RecurringCharges/>
            <FixedPrice>4242.0</FixedPrice>
            <ProductDescription>mysql</ProductDescription>
            <UsagePrice>2.42</UsagePrice>
            <MultiAZ>false</MultiAZ>
            <ReservedDBInstancesOfferingId>TEMP-DELETE-3</ReservedDBInstancesOfferingId>
            <DBInstanceClass>db.m1.xlarge</DBInstanceClass>
          </ReservedDBInstancesOffering>
        </ReservedDBInstancesOfferings>
      </DescribeReservedDBInstancesOfferingsResult>
      <ResponseMetadata>
        <RequestId>5e4ec40b-2978-11e1-9e6d-771388d6ed6b</RequestId>
      </ResponseMetadata>
    </DescribeReservedDBInstancesOfferingsResponse>
    

Purchasing a Reserved DB Instance

This example shows how to purchase a Reserved DB Instance Offering.

Important

Following the examples in this section will incur charges on your AWS account.

AWS Management Console

This example shows purchasing a specific Reserved DB Instance Offering, 649fd0c8-cf6d-47a0-bfa6-060f8e75e95f, with a Reserved DB Instance ID of myreservationID.

To purchase a Reserved DB Instance

  1. Sign in to the AWS Management Console and open the Amazon RDS console at https://console.aws.amazon.com/rds/.

  2. In the Navigation pane, click the Reserved DB Instances link.

  3. Click the Purchase Reserved DB Instance button.

  4. Select the DB Engine type from the Product Description drop-down list box.

  5. Select the DB Instance Class from the DB Instance Class drop-down list box.

  6. Select whether or not your want a Multi-AZ deployment from the Multi-AZ Deployment drop-down list box.

  7. Select length of time you want the DB Instance reserved from the Term drop-down list box.

  8. Select the offering type from the Offering Type drop-down list box.

  9. You can optionally enter a Reserved DB Instance ID in the Reserved DB ID text box.

  10. Click the Continue button.

    The Purchase Reserved DB Instance dialog box shows a summary of the Reserved DB Instance attributes that you've selected and the payment due.

  11. Click the Yes, Purchase button to proceed and purchase the Reserved DB Instance.

CLI

This example shows purchasing a specific Reserved DB Instance Offering, 649fd0c8-cf6d-47a0-bfa6-060f8e75e95f, with a Reserved DB Instance ID of myreservationID.

To purchase a reserved DB Instance

  • Enter the following command at a command prompt:

    PROMPT>rds-purchase-reserved-db-instances-offering 649fd0c8-cf6d-47a0-bfa6-060f8e75e95f -i myreservationID

    The command returns output similar to the following:

    RESERVATION  ReservationId      Class        Multi-AZ  Start Time                Duration  Fixed Price  Usage Price  Count  State            Description  Offering Type
    RESERVATION  myreservationid    db.m1.small  y         2011-12-19T00:30:23.247Z  1y        455.00 USD   0.092 USD    1      payment-pending  mysql        Medium Utilization 
    
    

API

This example shows purchasing a specific reserved DB Instance offering, 649fd0c8-cf6d-47a0-bfa6-060f8e75e95f, with a reserved DB Instance ID of myreservationID.

To purchase a reserved DB Instance

  • Call PurchaseReservedDBInstancesOffering with the following parameters:

    • ReservedDBInstancesOfferingId = 649fd0c8-cf6d-47a0-bfa6-060f8e75e95f

    • ReservedDBInstanceID = myreservationID

    • DBInstanceCount = 1

    Example

    https://rds.amazonaws.com/
     ?Action=PurchaseReservedDBInstancesOffering
     &ReservedDBInstancesOfferingId=649fd0c8-cf6d-47a0-bfa6-060f8e75e95f
     &ReservedDBInstanceID=myreservationID
     &DBInstanceCount=1
     &SignatureVersion=2
     &SignatureMethod=HmacSHA256
     &Timestamp=2012-01-14T17%3A48%3A21.746Z
     &AWSAccessKeyId=<AWS Access Key ID>
     &Signature=<Signature>
     

    This call returns output similar to the following:

    <PurchaseReservedDBInstancesOfferingResponse xmlns="http://rds.amazonaws.com/doc/2012-01-15/">
      <PurchaseReservedDBInstancesOfferingResult>
        <ReservedDBInstance>
          <OfferingType>Medium Utilization</OfferingType>
          <CurrencyCode>USD</CurrencyCode>
          <RecurringCharges/>
          <ProductDescription>mysql</ProductDescription>
          <ReservedDBInstancesOfferingId>649fd0c8-cf6d-47a0-bfa6-060f8e75e95f</ReservedDBInstancesOfferingId>
          <MultiAZ>true</MultiAZ>
          <State>payment-pending</State>
          <ReservedDBInstanceId>myreservationID</ReservedDBInstanceId>
          <DBInstanceCount>10</DBInstanceCount>
          <StartTime>2011-12-18T23:24:56.577Z</StartTime>
          <Duration>31536000</Duration>
          <FixedPrice>123.0</FixedPrice>
          <UsagePrice>0.123</UsagePrice>
          <DBInstanceClass>db.m1.small</DBInstanceClass>
        </ReservedDBInstance>
      </PurchaseReservedDBInstancesOfferingResult>
      <ResponseMetadata>
        <RequestId>7f099901-29cf-11e1-bd06-6fe008f046c3</RequestId>
      </ResponseMetadata>
    </PurchaseReservedDBInstancesOfferingResponse>


Describing Reserved DB Instances

You can get information about Reserved DB instances for your AWS account.

AWS Management Console

To get information about Reserved DB Instances for your AWS account

  1. Sign in to the AWS Management Console and open the Amazon RDS console at https://console.aws.amazon.com/rds/.

  2. In the Navigation pane, click the Reserved DB Instances link.

    The Reserved DB instances for your account appear in the My Reserved DB Instances list. You can click any of the Reserved DB instances in the list to see detailed information about the Reserved DB instance in the detail pane at the bottom of the console.

CLI

To get information about Reserved DB Instances for your AWS account

  • Enter the following command at a command prompt:

    PROMPT>rds-describe-reserved-db-instances --headers
    

    This command should return output similar to the following:

    RESERVATION  ReservationId     Class        Multi-AZ  Start Time                Duration  Fixed Price  Usage Price  Count  State    Description  Offering Type
    RESERVATION  ki-real-ri-test5  db.m1.small  y         2011-12-09T23:37:44.720Z  1y        455.00 USD   0.092 USD    1      retired  mysql        Medium Utilization
                            
                        

API

To get information about Reserved DB Instances for your AWS account

  • Call DescribeReservedDBInstances.

    Example

    https://rds.amazonaws.com/
     ?Action=DescribeReservedDBInstances
     &Version=2012-01-15
     &SignatureVersion=2
     &SignatureMethod=HmacSHA256
     &Timestamp=2012-01-15T17%3A48%3A21.746Z
     &AWSAccessKeyId=<AWS Access Key ID>
     &Signature=<Signature>
     

    The API returns output similar to the following:

    <DescribeReservedDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2012-01-15/">
      <DescribeReservedDBInstancesResult>
        <ReservedDBInstances>
          <ReservedDBInstance>
            <OfferingType>Medium Utilization</OfferingType>
            <CurrencyCode>USD</CurrencyCode>
            <RecurringCharges/>
            <ProductDescription>mysql</ProductDescription>
            <ReservedDBInstancesOfferingId>649fd0c8-cf6d-47a0-bfa6-060f8e75e95f</ReservedDBInstancesOfferingId>
            <MultiAZ>false</MultiAZ>
            <State>payment-failed</State>
            <ReservedDBInstanceId>myreservationid</ReservedDBInstanceId>
            <DBInstanceCount>1</DBInstanceCount>
            <StartTime>2010-12-15T00:25:14.131Z</StartTime>
            <Duration>31536000</Duration>
            <FixedPrice>227.5</FixedPrice>
            <UsagePrice>0.046</UsagePrice>
            <DBInstanceClass>db.m1.small</DBInstanceClass>
          </ReservedDBInstance>
          <ReservedDBInstance>
            <OfferingType>Medium Utilization</OfferingType>
            <CurrencyCode>USD</CurrencyCode>
            <RecurringCharges/>
            <ProductDescription>mysql</ProductDescription>
            <ReservedDBInstancesOfferingId>649fd0c8-cf6d-47a0-bfa6-060f8e75e95f</ReservedDBInstancesOfferingId>
            <MultiAZ>false</MultiAZ>
            <State>payment-failed</State>
            <ReservedDBInstanceId>myreservationid2</ReservedDBInstanceId>
            <DBInstanceCount>1</DBInstanceCount>
            <StartTime>2010-12-15T01:07:22.275Z</StartTime>
            <Duration>31536000</Duration>
            <FixedPrice>227.5</FixedPrice>
            <UsagePrice>0.046</UsagePrice>
            <DBInstanceClass>db.m1.small</DBInstanceClass>
          </ReservedDBInstance>
        </ReservedDBInstances>
      </DescribeReservedDBInstancesResult>
      <ResponseMetadata>
        <RequestId>23400d50-2978-11e1-9e6d-771388d6ed6b</RequestId>
      </ResponseMetadata>
    </DescribeReservedDBInstancesResponse>