Amazon MemoryDB is a Valkey- and Redis OSS-compatible, durable, in-memory database that delivers ultra-fast performance and Multi-AZ durability. With Amazon MemoryDB, you only pay for what you use with no minimum fee. A node is the smallest building block of a MemoryDB cluster. Each node supports varying amounts of computation and memory capacity, and you can select a node type based on your needs. You are charged based on three components: on-demand instance hours per node, volume of data written to your cluster, and snapshot storage that you use.
Amazon MemoryDB for Valkey is priced 30% lower than MemoryDB for Redis OSS. With MemoryDB for Valkey, data written is free of charge for up to 10 TB/month. Any data written over 10 TB/month is billed at $0.04/GB, which is 80% lower than MemoryDB for Redis OSS.
Get started with Amazon MemoryDB for free
As part of the AWS Free Tier, you can get started with MemoryDB for free. Upon signup, new MemoryDB customers receive 750 hours of MemoryDB on db.t4g.small instances and 20 GB of data per month free for 2 months.
The Amazon AWS Free Tier applies to participating services across our global regions. Your free usage under the AWS Free Tier is calculated each month across all regions and automatically applied to your bill – free usage does not accumulate. The AWS Free Tier is not available in the AWS GovCloud (US) regions or the China (Beijing) region at this time.
On-Demand instance hours per node: On-demand instance hours per node is the amount of node capacity for a cluster, charged per instance-hour consumed.
Data written: Data written is the volume of data written to a cluster, charged per GB.
Snapshot storage: Snapshot storage is the storage associated with the automated and user-initiated snapshots you take, charged per GB-month.
AWS Pricing Calculator
Calculate your Amazon MemoryDB and architecture cost in a single estimate. Create your custom estimate now »
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
-
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
-
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
-
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
-
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
Easily calculate your monthly costs with AWS
Discover MemoryDB resources on the getting started page.
Check out the MemoryDB user guide to get started.