Skip to content
Guide · AWS

AWS RDS Backups & Snapshots: Restore Step by Step

Amazon RDS has two backup mechanisms: automated backups, which allow point-in-time recovery within a retention period of up to 35 days, and manual DB snapshots, which you keep until you delete them. Every restore creates a new DB instance. This guide explains both, walks through the restore steps AWS documents for the console and CLI, and covers cross-Region copies and cost.

Facts checked 8 October 2026 against the providers' official documentation and pricing pages. Next review due January 2027. Cloud services, regions and prices change often; confirm on the provider's site before you buy.
Short answer
  • Automated backups take a daily storage snapshot plus transaction logs, so you can restore to any second in the retention period (0 to 35 days; 7 days by default in the console), typically up to the last five minutes.
  • Manual RDS snapshots are user-initiated, never expire and survive deletion of the instance; you can keep up to 100 per Region by default.
  • Restoring from a snapshot or to a point in time always creates a new DB instance with a new endpoint; you cannot restore over an existing instance.
  • Snapshots and transaction logs can be copied to another Region, either one snapshot at a time or continuously with cross-Region automated backups.
  • Backup storage is free up to your total provisioned storage in the Region; above that it is billed per GiB-month (0.095 USD in US East (N. Virginia)).
How we know: Research-based: backup behaviour, limits and the restore procedures were checked against the Amazon RDS User Guide, the AWS CLI reference and the Amazon RDS FAQs, and the backup storage price against AWS price data, on 8 October 2026. The steps below are AWS's documented procedures; we have not performed these restores ourselves, and console labels can change.

Automated backups vs manual RDS snapshots

RDS backs up the whole DB instance by taking a storage volume snapshot, not a dump of individual databases. The first snapshot holds all the data; later ones are incremental and store only the changes. Backups are stored in Amazon S3.

RDS automated backups and DB snapshots compared
Automated backupsManual DB snapshots
Created byRDS, daily during the backup window, plus transaction logsYou (console, CLI, API or AWS Backup)
Retention0 to 35 days (0 disables them)Until you delete them
Restore optionsAny second in the retention period, up to the latest restorable timeThe moment the snapshot was taken
When the instance is deletedDeleted, unless you choose to retain automated backupsKept
LimitNot counted against the manual snapshot limit100 per Region by default

Automated backups and point-in-time recovery

Automated backups are on by default. The default retention is seven days when you create an instance in the console, but one day if you create it with the API or CLI without setting the value, so check scripts and templates. You can set retention from 0 to 35 days; setting it to 0 disables automated backups, and AWS notes that switching between 0 and a non-zero value causes an outage. Read replicas require backups to stay enabled on the source.

RDS uploads transaction logs to S3 every five minutes, which is why the latest restorable time is usually within the last five minutes. During the backup window a Single-AZ instance can see a brief I/O suspension; for MariaDB, MySQL, Oracle and PostgreSQL Multi-AZ deployments the backup is taken from the standby instead. Automated backups are not taken while an instance is stopped, and they only run when the instance is in the available state.

Taking a manual RDS snapshot

The documented console steps are: open the RDS console, choose Snapshots, choose Take snapshot, select the DB instance, enter a snapshot name, and choose Take snapshot. The snapshot shows as Creating until it becomes Available. The CLI equivalent is aws rds create-db-snapshot.

Manual snapshots are not subject to the retention period and do not expire. For very long-term retention of MariaDB, MySQL and PostgreSQL data, AWS recommends exporting snapshot data to Amazon S3, because a snapshot cannot be restored once its major engine version is no longer supported. Exports are written in Apache Parquet; note that exported data cannot be restored directly into a new DB instance.

How to restore an RDS snapshot, step by step

As documented in the RDS User Guide (console):

  1. Open the Amazon RDS console and choose Snapshots in the navigation pane.
  2. Choose the DB snapshot you want to restore from.
  3. For Actions, choose Restore snapshot.
  4. On the Restore snapshot page, enter a DB instance identifier for the new instance.
  5. Specify other settings, such as instance class, allocated storage, VPC, subnet group and security group.
  6. Choose Restore DB instance.

The CLI equivalent from the same guide is aws rds restore-db-instance-from-db-snapshot --db-instance-identifier mynewdbinstance --db-snapshot-identifier mydbsnapshot. Points to check after a restore:

  • New endpoint. The restore creates a new instance with its own endpoint, so update connection strings once you have checked the data.
  • Default groups. Unless you choose otherwise, the default VPC, subnet group, security group and parameter group are attached. AWS recommends keeping the parameter group used by each snapshot so you can reattach it.
  • Lazy loading. The instance is usable as soon as it is available, but data continues to load from S3 in the background; AWS suggests full-table scans, such as SELECT *, on tables you need fast immediately.
  • Storage. You cannot reduce allocated storage on restore, and any increase must be at least 10 percent.
  • Shared encrypted snapshots cannot be restored directly; copy them first.

Infrastructure as code can do the same: AWS documents restoring from a snapshot with CloudFormation's AWS::RDS::DBInstance. If you use Terraform, check HashiCorp's AWS provider documentation for the equivalent setting.

Restoring to a point in time

  1. In the RDS console, choose Automated backups.
  2. Choose the DB instance you want to restore.
  3. For Actions, choose Restore to point in time.
  4. Choose Latest restorable time, or Custom and enter a date and time (shown in your local time zone).
  5. Enter a unique DB instance identifier for the new instance and choose other options such as instance class and storage.
  6. Choose Restore to point in time.

The CLI command is aws rds restore-db-instance-to-point-in-time with --source-db-instance-identifier, --target-db-instance-identifier and either --restore-time or --use-latest-restorable-time. AWS recommends restoring to the same or a similar instance size and IOPS as the source. The restored instance gets the default parameter and option groups unless you specify custom ones.

Cross-Region copies and deleting instances safely

Copying snapshots. You can copy automated or manual snapshots within a Region, to another Region or to another account; the copy is a manual snapshot. Up to 20 cross-Region copies can be in progress per destination Region, large copies can take hours, and snapshots of Multi-AZ DB clusters cannot be copied. Copying out of a Region incurs data transfer charges, and the copy is then billed as backup storage in the destination Region.

Cross-Region automated backups. Backup replication copies snapshots and transaction logs to a destination Region as soon as they are ready, so you can do a point-in-time restore in that Region. It is supported for Multi-AZ DB instance deployments but not for Multi-AZ DB clusters.

Deleting an instance. When you delete an instance you choose whether to take a final snapshot and whether to retain automated backups. Without either, you cannot restore it later. Retained backups and manual snapshots are billed until you delete them. For longer-running copies of a database in another Region, compare this with a cross-Region read replica.

Pricing

Prices from the provider's official pricing pages, checked 8 October 2026, region US East (N. Virginia), in USD, excluding tax. List prices only; discounts, commitments and your actual usage change the bill.

The Amazon RDS FAQs state that free backup storage is provided up to your account's total provisioned database storage in the Region, calculated daily; only the excess is billed. Multi-AZ and Single-AZ deployments are treated the same for backup storage. AWS's price data lists additional backup storage for RDS for PostgreSQL at 0.095 USD per GiB-month in US East (N. Virginia). Cross-Region copies add data transfer charges and backup storage in the destination Region. For the rest of the RDS bill see AWS RDS pricing.

Example: RDS snapshot cost for one 100 GB database

  • One RDS for PostgreSQL instance with 100 GB provisioned storage in the Region
  • Automated backups plus manual snapshots occupy 160 GB of backup storage on average over the month
  • After the instance is deleted, a 100 GB final snapshot is kept (no provisioned storage left in the Region)
  • Excluded: cross-Region copies, snapshot export, tax
ItemBasisEstimated per month
Backup storage while running(160 - 100) GB x 0.095 USD5.70 USD
Final snapshot after deletion100 GB x 0.095 USD9.50 USD
Estimated totalAbout 5.70 USD per month while the instance runs; about 9.50 USD per month for each 100 GB snapshot kept after deletion

Worked examples are estimates calculated from the list prices above; they are not quotes or measured bills.

Frequently asked questions

What is the difference between an RDS snapshot and an automated backup?

Automated backups are taken daily by RDS together with transaction logs and kept for a retention period of up to 35 days, allowing point-in-time recovery. Manual snapshots are taken by you, restore to the moment they were taken, and are kept until you delete them.

How long are RDS backups kept?

Automated backups for the retention period you set (0 to 35 days; the console default is 7 days, the API and CLI default is 1 day). Manual snapshots are kept indefinitely.

How much does an RDS snapshot cost?

Backup storage, including snapshots, is free up to your total provisioned storage in the Region. Above that, AWS lists 0.095 USD per GiB-month for RDS for PostgreSQL in US East (N. Virginia). Snapshots kept after you delete an instance are fully billable.

Can I restore an RDS snapshot into an existing instance?

No. Restoring from a snapshot or to a point in time always creates a new DB instance with a new endpoint, and the old instance is left as it was until you delete it.

Can I restore an RDS snapshot with Terraform?

AWS documents restoring from a snapshot with CloudFormation (AWS::RDS::DBInstance) and the CLI. Terraform restores are configured through HashiCorp's AWS provider; check its documentation for the current argument names.

Sources

Checked 8 October 2026.

How we research cloud database guides: our editorial method. CodeWithSQL earns nothing from the providers mentioned.

Choosing where to run your database?

Start with the section overview, or compare providers side by side.