DynamoDB backup and restore cost: on-demand, PITR, and exports compared
DynamoDB offers on-demand backups, point-in-time recovery, and S3 exports, each priced differently. Here is what each costs per GB, when continuous backup is worth double the on-demand rate, and how restores and exports are billed.
Quick answer
DynamoDB on-demand backups cost about $0.10 per GB-month of backup storage, point-in-time recovery (PITR) continuous backup costs about $0.20 per GB-month, and restoring from either costs about $0.15 per GB restored, in us-east-1. Exporting a table to S3 costs about $0.10 per GB of table data exported, plus the S3 storage of the result. PITR is double the on-demand storage rate but gives second-level recovery to any point in the last 35 days, so it is worth it for critical tables where losing recent writes matters; scheduled on-demand backups suffice for tables where periodic snapshots are enough.
DynamoDB gives you three distinct ways to protect and extract table data, and they are priced separately because they solve different problems. On-demand backups are point-in-time snapshots you trigger; PITR is continuous backup enabling recovery to any second; exports write table data to S3 for analytics or archival. Choosing the right mix, rather than turning everything on, is where the cost control lies.
The three mechanisms and their rates
| Mechanism | Rate (us-east-1) | What it gives |
|---|---|---|
| On-demand backup | ~$0.10 per GB-month | Manual or scheduled snapshots |
| PITR (continuous) | ~$0.20 per GB-month | Restore to any second, last 35 days |
| Restore (either) | ~$0.15 per GB restored | Creates a new table |
| Export to S3 | ~$0.10 per GB exported | Table data as files in S3 |
On-demand backup storage is billed per GB of backup held, so a 200 GB table with a 30-day retention of daily snapshots can accumulate significant backup storage depending on how backups are retained. PITR is a flat continuous cost of about $0.20 per GB-month of table size, independent of how many recovery points you use, because it maintains a rolling 35-day window automatically.
When PITR is worth double
PITR costs twice the on-demand backup rate, but it buys a fundamentally stronger guarantee: restore to any single second within the last 35 days, with no manual snapshot to schedule and no gap between backups. For a table where losing the last few hours of writes would be a real problem, an orders table, a user-data table, a financial ledger, PITR's continuous protection is cheap insurance at $0.20 per GB. For a table that is rebuilt from source or only needs occasional snapshots, on-demand backups at half the rate are enough. Match the mechanism to the recovery requirement rather than enabling PITR everywhere by reflex.
Restore and export costs
Restoring from any backup creates a brand-new table and costs about $0.15 per GB restored, a one-time charge you pay only when you actually restore. Because restores are rare, this rarely matters to the monthly bill, but it is worth knowing that a large-table restore has a real cost. Export to S3 is different: it writes table data to your bucket at about $0.10 per GB exported without consuming table read capacity, which makes it the cheap way to feedAthena or a data lake from DynamoDB. The exported files then incur normal S3 storage.
Backups versus AWS Backup
DynamoDB backups can also be managed through AWS Backup for centralized policy and cross-region copies, which adds AWS Backup's own storage and copy pricing on top. For a single table, native on-demand backups and PITR are simplest and usually cheapest; AWS Backup earns its keep when you need one governance layer across many services, as covered in AWS Backup cost explained. See DynamoDB cost optimization for the table-level picture.
Protect what needs it, at the right tier
Backup cost on DynamoDB is small relative to throughput for most tables, but enabling PITR on every table by default, including throwaway and reproducible ones, doubles a cost you did not need to pay. Reserve PITR for tables where recent data loss hurts, use scheduled on-demand backups where snapshots suffice, and export to S3 for analytics rather than reading through table capacity. Price your tables and their backup configuration against the resource catalog so the protection tier is a deliberate choice per table.
FAQ
How much do DynamoDB backups cost?
On-demand backups cost about $0.10 per GB-month of backup storage, and point-in-time recovery (PITR) continuous backup costs about $0.20 per GB-month of table size, in us-east-1. Restoring from either creates a new table at about $0.15 per GB restored, and exporting a table to S3 costs about $0.10 per GB exported plus the S3 storage of the result.
Is DynamoDB PITR worth double the on-demand backup cost?
For critical tables, yes. PITR costs $0.20 per GB versus $0.10 for on-demand backups, but it lets you restore to any single second within the last 35 days with no manual snapshots and no gaps. For tables where losing recent writes matters, that continuous protection is cheap insurance. For reproducible or snapshot-only tables, on-demand backups at half the rate suffice.
How much does a DynamoDB restore cost?
About $0.15 per GB restored, charged once when you actually perform the restore, which creates a brand-new table. Because restores are infrequent, this rarely affects the monthly bill, though a large-table restore does carry a real one-time cost. It applies to both on-demand backup and PITR restores.
How much does exporting DynamoDB to S3 cost?
About $0.10 per GB of table data exported, in us-east-1, without consuming table read capacity, plus normal S3 storage for the resulting files. Export to S3 is the cheap way to feed DynamoDB data into Athena or a data lake, since it avoids using provisioned or on-demand read throughput on the table.
How does C3X help with DynamoDB backup cost?
C3X prices DynamoDB tables from Terraform including whether PITR is enabled and how backups are configured, so the backup cost of each table is visible in the pull request. That helps teams reserve PITR for tables that genuinely need continuous recovery rather than enabling it by default everywhere, avoiding a doubled backup cost on reproducible tables.
What to do next
Match backup protection to each table on purpose. C3X prices DynamoDB tables and PITR from Terraform against a live resource catalog. Start with the quickstart.
Share this post
Try C3X on your own Terraform
Free and open source. No API key required. One command to install, one command to estimate.