MemoryDB reserved nodes - Amazon MemoryDB for Redis
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

MemoryDB reserved nodes

Reserved nodes provide you with a significant discount compared to on-demand node pricing. Reserved nodes are not physical nodes, but rather a billing discount applied to the use of on-demand nodes in your account. Discounts for reserved nodes are tied to node type and Amazon Region.

The general process for working with reserved nodes is as follows:

  • Review information about available reserved node offerings

  • Purchase a reserved node offering using the Amazon Web Services Management Console, Amazon Command Line Interface or SDK

  • Review information about your existing reserved nodes

Overview of reserved nodes

When you purchase a MemoryDB reserved node, you purchase a commitment to getting a discounted rate, on a specific node type, for the duration of the reserved node. To use a MemoryDB reserved node, you create a new node just like you do for an on-demand node. The new node that you create must match the specifications of the reserved node. If the specifications of the new node match an existing reserved node for your account, you are billed at the discounted rate offered for the reserved node. Otherwise, the node is billed at an on-demand rate. You can use the Amazon Web Services Management Console, the Amazon CLI, or the MemoryDB API to list and purchase available reserved node offerings.

MemoryDB offers reserved nodes for the memory optimized R7g, R6g, and R6gd (with data tiering) nodes. For pricing information, see MemoryDB for Redis Pricing.

Offering types

Reserved nodes are available in three varieties – No Upfront, Partial Upfront, and All Upfront – that let you optimize your MemoryDB for Redis costs based on your expected usage.

No Upfront – This option provides access to a reserved node without requiring an upfront payment. Your No Upfront reserved node bills a discounted hourly rate for every hour within the term, regardless of usage, and no upfront payment is required.

Partial Upfront – This option requires a part of the reserved node to be paid upfront. The remaining hours in the term are billed at a discounted hourly rate, regardless of usage.

All Upfront – Full payment is made at the start of the term, with no other costs incurred for the remainder of the term regardless of the number of hours used.

All three offering types are available in one-year and three-year terms.

Size flexible reserved nodes

When you purchase a reserved node, one thing that you specify is the node type, for example db.r6g.xlarge. For more information, about node types, see MemoryDB for Redis Pricing.

If you have a node, and you need to scale it to larger capacity, your reserved node is automatically applied to your scaled node. That is, your reserved nodes are automatically applied to usage of any size in the same node family. Size-flexible reserved nodes are available for nodes with the same Amazon Region. Size-flexible reserved nodes can only scale in their node families. For example, a reserved node for a db.r6g.xlarge can apply to a db.r6g.2xlarge, but not to a db.r6gd.large, because db.r6g and db.r6gd are different node families.

Size flexibility means that you can move freely between configurations within the same node family. For example, you can move from a r6g.xlarge reserved node (8 normalized units) to two r6g.large reserved nodes (8 normalized units) (2*4 = 8 normalized units) in the same Amazon Region at no extra cost.

You can compare usage for different reserved node sizes by using normalized units. For example, one unit of usage on two db.r6g.4xlarge nodes is equivalent to 16 normalized units of usage on one db.r6g.large. The following table shows the number of normalized units for each node size:

Node size Normalized units
small 1
medium 2
large 4
xlarge 8
2xlarge 16
4xlarge 32
6xlarge 48
8xlarge 64
10xlarge 80
12xlarge 96
16xlarge 128

For example, you purchase a db.r6gd.xlarge reserved node, and you have two running db.r6gd.large reserved nodes in your account in the same Amazon Region. In this case, the billing benefit is applied in full to both nodes.

Alternatively, if you have one db.r6gd.2xlarge instance running in your account in the same Amazon Region, the billing benefit is applied to 50 percent of the usage of the reserved node.

Deleting a reserved node

The terms for a reserved node involve a one-year or three-year commitment. You can't cancel a reserved node. However, you can delete a node that is covered by a reserved node discount. The process for deleting a node that is covered by a reserved node discount is the same as for any other node.

If you delete a node that is covered by a reserved node discount, you can launch another node with compatible specifications. In this case, you continue to get the discounted rate during the reservation term (one or three years).

Working with reserved nodes

You can use the Amazon Web Services Management Console, the Amazon Command Line Interface, and MemoryDB API to work with reserved nodes.

Console

To get pricing and information about available reserved node offerings
  1. Sign in to the Amazon Web Services Management Console and open the MemoryDB for Redis console at https://console.amazonaws.cn/memorydb/.

  2. In the navigation pane, choose Reserved nodes.

  3. Choose Purchase reserved nodes.

  4. For Node type, choose the type of node you want to be deployed.

  5. For Quantity, choose the number of nodes you want to deploy.

  6. For Term, choose the length of time you want the database node reserved.

  7. For Offering type, choose the offering type.

After you make these selections, you can see the pricing information under Reservation summary.

Important

Choose Cancel to avoid purchasing these reserved nodes and incurring any charges.

After you have information about the available reserved node offerings, you can use the information to purchase an offering as shown in the following procedure:

To purchase a reserved node
  1. Sign in to the Amazon Web Services Management Console and open the MemoryDB for Redis console at https://console.amazonaws.cn/memorydb/.

  2. In the navigation pane, choose Reserved nodes.

  3. Choose Purchase reserved nodes.

  4. For Node type, choose the type of node you want to be deployed.

  5. For Quantity, choose the number of nodes you want to deploy.

  6. For Term, choose the length of time you want the database node reserved.

  7. For Offering type, choose the offering type.

  8. (Optional) You can assign your own identifier to the reserved nodes that you purchase to help you track them. For Reservation ID, type an identifier for your reserved node.

    After you make these selections, you can see the pricing information under Reservation summary.

  9. Choose Purchase reserved nodes.

  10. Your reserved nodes are purchased, then displayed in the Reserved nodes list.

To get information about reserved nodes for your Amazon account
  1. Sign in to the Amazon Web Services Management Console and open the MemoryDB for Redis console at https://console.amazonaws.cn/memorydb/.

  2. In the navigation pane, choose Reserved nodes.

  3. The reserved nodes for your account appear. To see detailed information about a particular reserved node, choose that node in the list. You can then see detailed information about that node in the detail.

Amazon Command Line Interface

The following describe-reserved-nodes-offerings example returns details of reserved-node offerings.

aws memorydb describe-reserved-nodes-offerings

This produces output similar to the following:

{ "ReservedNodesOfferings": [ { "ReservedNodesOfferingId": "0193cc9d-7037-4d49-b332-xxxxxxxxxxxx", "NodeType": "db.xxx.large", "Duration": 94608000, "FixedPrice": $xxx.xx, "OfferingType": "Partial Upfront", "RecurringCharges": [ { "RecurringChargeAmount": $xx.xx, "RecurringChargeFrequency": "Hourly" } ] } ] }

You can also pass the following parameters to limit the scope of what is returned:

  • --reserved-nodes-offering-id – The ID of the offering that you want to purchase.

  • --node-type – The node type filter value. Use this parameter to show only those reservations matching the specified node type.

  • --duration – The duration filter value, specified in years or seconds. Use this parameter to show only reservations for this duration.

  • --offering-type – Use this parameter to show only the available offerings matching the specified offering type.

After you have information about the available reserved node offerings, you can use the information to purchase an offering.

The following purchase-reserved-nodes-offering example purchases new reserved nodes

For Linux, OS X, or Unix:

aws memorydb purchase-reserved-nodes-offering \ --reserved-nodes-offering-id 0193cc9d-7037-4d49-b332-d5e984f1d8ca \ --reservation-id reservation \ --node-count 2

For Windows:

aws memorydb purchase-reserved-nodes-offering ^ --reserved-nodes-offering-id 0193cc9d-7037-4d49-b332-d5e984f1d8ca ^ --reservation-id MyReservation
  • --reserved-nodes-offering-id represents the name of reserved nodes offering to purchase.

  • --reservation-id is a customer-specified identifier to track this reservation.

    Note

    The Reservation ID is a unique customer-specified identifier to track this reservation. If this parameter is not specified, MemoryDB automatically generates an identifier for the reservation.

  • --node-count is the number of nodes to reserve. It defaults to 1.

This produces output similar to the following:

{ "ReservedNode": { "ReservationId": "reservation", "ReservedNodesOfferingId": "0193cc9d-7037-4d49-b332-xxxxxxxxxxxx", "NodeType": "db.xxx.large", "StartTime": 1671173133.982, "Duration": 94608000, "FixedPrice": $xxx.xx, "NodeCount": 2, "OfferingType": "Partial Upfront", "State": "payment-pending", "RecurringCharges": [ { "RecurringChargeAmount": $xx.xx, "RecurringChargeFrequency": "Hourly" } ], "ARN": "arn:aws:memorydb:us-east-1:xxxxxxxx:reservednode/reservation" } }

After you have purchased reserved nodes, you can get information about your reserved nodes.

The following describe-reserved-nodes example returns information about reserved nodes for this account.

aws memorydb describe-reserved-nodes

This produces output similar to the following:

{ "ReservedNodes": [ { "ReservationId": "ri-2022-12-16-00-28-40-600", "ReservedNodesOfferingId": "0193cc9d-7037-4d49-b332-xxxxxxxxxxxx", "NodeType": "db.xxx.large", "StartTime": 1671150737.969, "Duration": 94608000, "FixedPrice": $xxx.xx, "NodeCount": 1, "OfferingType": "Partial Upfront", "State": "active", "RecurringCharges": [ { "RecurringChargeAmount": $xx.xx, "RecurringChargeFrequency": "Hourly" } ], "ARN": "arn:aws:memorydb:us-east-1:xxxxxxxx:reservednode/ri-2022-12-16-00-28-40-600" } ] }

You can also pass the following parameters to limit the scope of what is returned:

  • --reservation-id – You can assign your own identifier to the reserved nodes that you purchase to help track them.

  • --reserved-nodes-offering-id – The offering identifier filter value. Use this parameter to show only purchased reservations matching the specified offering identifier.

  • --node-type – The node type filter value. Use this parameter to show only those reservations matching the specified node type.

  • --duration – The duration filter value, specified in years or seconds. Use this parameter to show only reservations for this duration.

  • --offering-type – Use this parameter to show only the available offerings matching the specified offering type.

MemoryDB API

The following examples demonstrate how to use the MemoryDB Query API for reserved nodes:

DescribeReservedNodesOfferings

Returns details of reserved-node offerings.

https://memorydb.us-west-2.amazonaws.com/ ?Action=DescribeReservedNodesOfferings &ReservedNodesOfferingId=649fd0c8-xxxx-xxxx-xxxx-06xxxx75e95f &"Duration": 94608000, &NodeType="db.r6g.large" &OfferingType="Partial Upfront" &Version=2021-01-01 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &X-Amz-Algorithm &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>

The following parameters limit the scope of what is returned:

  • ReservedNodesOfferingId represents the name of reserved nodes offering to purchase.

  • Duration – The duration filter value, specified in years or seconds. Use this parameter to show only reservations for this duration.

  • NodeType – The node type filter value. Use this parameter to show only those offerings matching the specified node type.

  • OfferingType – Use this parameter to show only the available offerings matching the specified offering type.

After you have information about the available reserved node offerings, you can use the information to purchase an offering.

PurchaseReservedNodesOffering

Allows you to purchase a reserved node offering.

https://memorydb.us-west-2.amazonaws.com/ ?Action=PurchaseReservedCacheNodesOffering &ReservedNodesOfferingId=649fd0c8-xxxx-xxxx-xxxx-06xxxx75e95f &ReservationID=myreservationID &NodeCount=1 &Version=2021-01-01 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &X-Amz-Algorithm &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>
  • ReservedNodesOfferingId represents the name of reserved nodes offering to purchase.

  • ReservationID is a customer-specified identifier to track this reservation.

    Note

    The Reservation ID is a unique customer-specified identifier to track this reservation. If this parameter is not specified, MemoryDB automatically generates an identifier for the reservation.

  • NodeCount is the number of nodes to reserve. It defaults to 1.

After you have purchased reserved nodes, you can get information about your reserved nodes.

DescribeReservedNodes

Returns information about reserved nodes for this account.

https://memorydb.us-west-2.amazonaws.com/ ?Action=DescribeReservedNodes &ReservedNodesOfferingId=649fd0c8-xxxx-xxxx-xxxx-06xxxx75e95f &ReservationID=myreservationID &NodeType="db.r6g.large" &Duration=94608000 &OfferingType="Partial Upfront" &Version=2021-01-01 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &X-Amz-Algorithm &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>

The following parameters limit the scope of what is returned:

  • ReservedNodesOfferingId represents the name of reserved node.

  • ReservationID – You can assign your own identifier to the reserved nodes that you purchase to help track them.

  • NodeType – The node type filter value. Use this parameter to show only those reservations matching the specified node type.

  • Duration – The duration filter value, specified in years or seconds. Use this parameter to show only reservations for this duration.

  • OfferingType – Use this parameter to show only the available offerings matching the specified offering type.

Viewing the billing for your reserved nodes

You can view the billing for your reserved nodes in the Billing Dashboard in the Amazon Web Services Management Console.

To view reserved node billing
  1. Sign in to the Amazon Web Services Management Console and open the MemoryDB for Redis console at https://console.amazonaws.cn/memorydb/.

  2. From the Search button on the top of the console, choose Billing.

  3. Choose Bills from the left hand side of the dashboard.

  4. Under Amazon Service Charges, expand MemoryDB.

  5. Expand the Amazon Region where your reserved nodes are, for example US East (N. Virginia).

Your reserved nodes and their hourly charges for the current month are shown under Amazon MemoryDB CreateCluster Reserved Instances.