On-demand nodes

On-demand nodes let you pay by the instance hour with no long-term commitments or upfront fees. This frees you from the costs and complexities of planning, purchasing, and maintaining hardware, and transforms what are commonly large fixed costs into much smaller variable costs. The node type impacts the compute, in-memory data storage capacity, and network throughput available for your MemoryDB cluster.

With MemoryDB Multi-Region, your data is written automatically to multiple AWS Regions of your choice. Each write occurs in the local Region and the replicated Regions. You can improve both availability and resiliency from regional degradation while also benefiting from low latency local reads and writes for multi-Region applications.

For MemoryDB Multi-Region, you will be billed for the nodes (charged per instance-hour consumed), data written (for the local writes) and snapshot storage. In addition, you will be billed for data transfer out. Read the detailed Multi-Region pricing example 4 below.

 

  • Valkey
  • Redis OSS

Data tiering

Nodes with data tiering use solid state drives (SSD) to automatically optimize costs of your MemoryDB clusters by moving the least frequently used items from memory to SSD. Data stored on SSD exhibits slightly higher latency and lower throughput compared to data stored in memory. Nodes with data tiering, available for MemoryDB, are ideal for workloads that access up to 20% of their data regularly, and for applications that can tolerate additional latency the first time a less-frequently accessed item is needed. Amazon MemoryDB R6gd nodes with memory and solid state drives have nearly 5x more total storage capacity and can help customers achieve over 60% storage cost savings when running at maximum utilization compared to MemoryDB R6g nodes with memory only. See Pricing Example 3 below for a comparison on how data tiering can reduce your spend.

  • Valkey
  • Redis OSS

Reserved nodes

Reserved nodes provide a significant discount off the ongoing hourly usage rate for the node(s) you reserve in one-year or three-year terms. With reserved nodes, you can choose to:

  • Pay low hourly charges with no upfront payment (No Upfront)
  • Make a one-time, partial upfront payment with lower hourly charges (Partial Upfront)
  • Pay all upfront for even lower hourly charges (All Upfront)

MemoryDB reserved nodes offer size flexibility within a node family and AWS Region. This means that the discounted reserved node rate will be applied automatically to usage of all sizes in the same node family. When purchasing reserved nodes, you must designate an AWS Region, node type, payment term, and quantity. The reserved nodes may only be used in the designated AWS Region.

Reserved node pricing is also available for cluster nodes using MemoryDB Multi-Region and data tiering.

* This is the average monthly payment over the course of the reserved node term. For each month, the actual monthly payment will equal the actual number of hours in that month multiplied by the hourly usage rate or number of seconds in that month multiplied by the hourly usage rate divided by 3600, depending on the MemoryDB node type you run. The hourly usage rate is equivalent to the total average monthly payments over the term of the reserved node divided by the total number of hours (based on a 365 day year) over the term of the reserved node.


** Effective hourly pricing helps you calculate the amount of money a reserved node will save you over on-demand pricing. When you purchase a reserved node, you are billed for every hour during the entire reserved node term you select, regardless of whether the node is running. The effective hourly price shows the amortized hourly node cost. This takes the total cost of the reserved node over the entire term, including any upfront payment, and spreads it out over each hour of the reserved node term.

Data written

You pay only for the volume of data (in GB) you write to your MemoryDB cluster. This data includes the Redis OSS key, value, and command volume. There are no associated costs for reads.

  • Valkey
  • Redis OSS
  • Data Written

    $0.20/GB
    (same price in all regions)

Snapshot storage

Snapshot storage for a MemoryDB cluster is the storage associated with the automated and user-initiated snapshots you take. A snapshot is a copy of an entire cluster at the time when the snapshot was taken. There is no additional charge for snapshot storage of up to 100% of your total MemoryDB cluster storage for a region. There is no additional charge for snapshot storage if your snapshot retention period is 1 day. Additional snapshot storage is billed at storage rates in the table below:

  • Valkey
  • Redis OSS

Data transfer

Data transfer in and out refers to transfer into and out of MemoryDB. MemoryDB does not charge for inbound data transfer, and it does not charge for data transferred between MemoryDB and other AWS services within the same AWS Region. MemoryDB charges for data transfer across AWS Regions when using Multi-Region.

Pricing examples

Pricing example 1

You are building an application that requires a database that provides fast data access to enable a  responsive, real-time user experience for a regional logistics company. The application has a total dataset size of 25GB. On average, 3% of the data is updated every hour. You use a MemoryDB architecture with one shard that includes one primary and one replica node per shard to meet the application requirements. You choose the MemoryDB for Valkey db.r6g.xlarge node type as it has enough memory to fit the entire working dataset. You also choose to deploy your workload in U.S. West (Oregon). Additionally, you set your snapshot retention to 2 days enabling you to store the snapshot free of charge for the first day and charging you for snapshot storage for the additional day.

Your total charges are calculated as follows:
On-demand node Charges
(1 Primary + 1 Replicas) * 1 = 2 total nodes
db.r6g.xlarge hourly pricing = $0.432/hour
2 nodes * $0.432 = $0.864/hour
Data Written Charges
Data Written = 25GB * 3% (throughput update every hour) = 0.75 GB/hour
Data Written pricing = $0 (up to 10 TB/month)
0.750 GB/hour * $0.20/GB = $0.150/hour
Snapshot Storage Charges
Day 1: Free of charge for snapshot storage
Day 2: Snapshot storage space for 25 GB = 25 GB * $0.021 per GB-month= $0.525/month
$0.525/730 hours in month = $0.001/hour
Total Charges
Node Charges = $0.864/hour
Data Written Charges = $0
Snapshot Storage Charges = $0.001/hour
Total = $0.864 + $0 + $0.001 = $0.865/hour

Pricing example 2

You work at a media and entertainment company and your team built an application that requires very low latency and high throughput. To meet these performance requirements, you use Amazon MemoryDB for Valkey as your primary database. The application is read-heavy and has a total dataset size of 50 GB consisting of 100 byte objects (includes Valkey key, value and command size). The application is 80% reads and 20% writes, and approximately 50,000 transactions per second. You choose two shards of db.r6g.xlarge node type to have enough memory to fit the entire dataset in the cluster (50GB) and select one replica per shard to support the reads of the application and high availability. You also choose to deploy your workload across two availability zones (AZs) in U.S. East (N. Virginia) for high availability. Additionally, you set your snapshot retention to 2 days allowing you to store the snapshot free of charge for the first day and charging you for snapshot storage for the additional day. Your total charges are calculated as follows:

On-demand node Charges
(1 Primary + 1 Replica) *2 =4 total nodes
db.r6g.xlarge hourly pricing = $0.432/hour
4 nodes * $0.617 = $1.727/hour
Data Written Charges
MemoryDB charges only for the writes. So for 50,000 transaction per second with 20% writes and 80% read, you only need to pay for 20% of 50,000 (10,000 transactions per second).
Hence, it is 10,000 transactions per second * 100 bytes * 60 * 60 = 3.6 GB/hour
Data Written pricing = $0/GB (up to 10 TB/month)
3.6 GB * $0.20/GB = $0.720/hour
Snapshot Storage Charges
Day 1: Free of charge for snapshot storage
Day 2: Snapshot storage space for 50 GB = 50 GB * $0.021 per GB-month= $1.050/month
$1.05 / 730 hours in month = $0.001/hour
Total Charges
Node Charges = $1.727/hour
Data Written Charges = $0/hour
Snapshot Storage Charges = $0.001/hour
Total = $1.727 + $0 + $0.001 = $1.728/hour

Pricing example 3

You work in a financial company and your team has built an application with MemoryDB for Valkey as the primary database to meet the performance requirements. The application is temporal in nature, mostly accessing data generated over the last month, but is required to keep 12 months of data for compliance purposes. The application has a total dataset size of 840 GB. On average, 1% of the data is updated every hour. You use a MemoryDB cluster with two shard that includes one primary and one replica node per shard to meet the application requirements. Because your application uses most recently updated data, you select the db.r6gd.4xlarge node type with data tiering. You also choose to deploy your workload across three availability zones (AZs) in U.S. East (N. Virginia) for high availability. Additionally, you set your snapshot retention to 2 days enabling you to store the first snapshot free of charge and charging you for snapshot storage for the second snapshot. Your total charges are calculated as follows:

On-demand node Charges
Dataset size: 840 GB
db.r6gd.4xlarge usable memory capacity: 105.81 GiB/node = 113.64 GB/node, less 19% memory for non-data use:
113.64 * 0.81 = 92.05 GB/node
db.r6gd.4xlarge solid-state drive (SSD) capacity: 398.14 GiB = 427.6 GB
Total capacity per node: 92.05 + 427.6 = 519.65 GB/node
Shards required for dataset: 840GB ÷ 519.65 GB/node = 2
Each shard: (1 Primary + 1 Replicas) Nodes
(1 Primary + 1 Replicas) * 2 shards = 4 total nodes
db.r6gd.4xlarge hourly pricing = $2.586/hour
Total hourly charge: 4 nodes * $2.586/hr = $10.35

Data Written Charges
Data Written = 840 GB * 1% (throughput update every hour) = 8.4 GB/hour
Data Written pricing = $0.04/GB (for data writtenover 10 TB/month)
8.4 GB/hour * $0.004/GB = $0.336/hour

Snapshot Storage Charges
Day 1: Free of charge for snapshot storage
Day 2: Snapshot storage space for 840 GB = 840 * $0.021 per GB-month= $17.64/month
$17.64/730 hours in month = $0.0242/hour

Total Charges
Node Charges = $10.35/hour
Data Written Charges = $0.336/hour
Snapshot Storage Charges = $0.0242/hour
Total = $10.35 + $0.336 + $0.0242= $10.71/hour

Shards required if running fully in memory: 840 GB ÷ 113.64 GB/node for db.r6g.4xlarge =8
db.r6g.4xlarge on-demand price: $1.724/hr
Each shard: (1 Primary + 1 Replicas) Nodes
(1 Primary + 1 Replicas) * 8 shards = 16 total nodes
Hourly charge for running fully in memory: 16 nodes * $1.724/hr = $27.58
Savings compared to running fully in memory: ($27.58 – $10.35) / $27.58 = 62.4%

Pricing example 4

You work at a bank based in the US and your team built an application that needs durability, high availability, and requires the data to be replicated across at least two Regions for disaster recovery. You want your data to be replicated across two AWS regions US East (N. Virginia) and US West (Oregon). The application is 90% reads and 10% writes, and approximately 75,000 transactions per second. Its total dataset size is 50 GB with write commands of 150 bytes. You choose two shards of db.r7g.xlarge node type to have enough memory to fit the entire dataset in the cluster (50 GB) and select one replica per shard to support the reads of the application and high availability. Additionally, you set your snapshot retention to two days allowing you to store the snapshot free of charge for the first day and charging you for snapshot storage for the additional day. 

Your total charges are calculated as follows:

On-demand node Charges per Region
(1 Primary + 1 Replica) * 2 shards = 4 total nodes db.r7g.xlarge hourly pricing = $0.4319/hour 4 nodes * $0.4319 = $1.728/hour per region
Data Written Charges
MemoryDB charges only for the writes in a local Region. So for 75,000 transaction per second with 10% writes and 90% read, you only need to pay for 10% of 75,000 (7,500 transactions per second). Hence, it is 7,500 transactions per second * 150 bytes * 60 * 60 = 4.05 GB/hour, which is 2.96 TB/month (4.05 * 730 GB/month). 
Data Written pricing = $0/GB (up to 10 TB/month)
Since 2.96 TB/month is lower than the 10 TB/month, you don’t get charged for the data written.
Data Transfer Charges
Data transfer OUT pricing = $0.02/GB for US East (N. Virginia) and US West (Oregon)
For 4.05 GB/hour of data, the data transfer OUT charges will be 4.05 * $0.02 = $0.081/hr
Snapshot Storage Charges
Day 1: Free of charge for snapshot storage
Day 2: Snapshot storage space for 50 GB = 50 GB * $0.021 per GB-month = $1.050/month
$1.05 / 730 hours in month = $0.001/hour

Total Charges
US East (N. Virginia) Charges
Node Charges = $1.728/hour
Data Written Charges = $0/hour (within 10 TB/month free tier)
Data Transfer Charges = $0.081/hr
Snapshot Storage Charges = $0.001/hour
US West (Oregon) Charges
Node Charges = $1.728/hour
Data Written Charges = $0/hour (As MemoryDB charges only for the writes in a local Region)
Snapshot Storage Charges = $0.001/hour
Total Charges
Total Charges for 2 regions per hour = $3.539
Total Charges for 2 regions per month = 730 hours * $3.539/hour = $2,583.47 per month

Additional pricing resources

AWS Pricing Calculator

Easily calculate your monthly costs with AWS

Learn how to get started
Check out getting started resources

Discover MemoryDB resources on the getting started page.

Learn more 
Learn with a tutorial
Learn with a tutorial

Explore how to set up your first MemoryDB cluster.

Get started 
 Start building with MemoryDB
Start building with MemoryDB

Check out the MemoryDB user guide to get started.

Read the documentation