Amazon RDS has two backup mechanisms that people mix up: automated backups, which RDS takes daily and which also let you go back to any minute of the last few days, and manual snapshots, which you take whenever you want and which are kept until you delete them. Both are useful, and they are for different things.
And there is one thing you should know before you need it: in RDS restoring never overwrites the current database. A new instance is always created, with a different name and a different address. If you are not counting on that when the scare comes, you lose half a valuable hour.
Before you start: what each thing means
- RDS
- Amazon's managed database service: you use the database (MySQL, PostgreSQL, etc.) and Amazon takes care of the machine, the updates and the backups.
- Instance
- What AWS calls each database you have in RDS.
- Automated backup
- The one RDS takes every day on its own and keeps for the number of days you tell it. It also lets you go back to any minute within that period.
- Manual snapshot
- A backup you take whenever you want and which is kept until you delete it.
- Restore to a point in time
- Recover the database exactly as it was at an exact date and time, for example one minute before an accidental deletion.
- Endpoint
- The address your application uses to connect to the database. Each instance has its own; restoring produces a new one.
- Security group
- The AWS firewall: it says where the database can be reached from. A restored database is born with a default one, which usually blocks your application.
- Multi-AZ
- Option by which RDS keeps a standby replica in another data centre in the same region. Backups are taken from the replica and do not slow the service down.
- UTC
- The universal reference time. In AWS, times are expressed in UTC; in Spain it is one hour behind in winter and two in summer.
Step by step
Check your instance's automated backups
In the RDS console, Databases, click yours and open the Maintenance & backups tab. Look for the retention period: it is how many days RDS keeps the automated backups. If it says 0, there are no automated backups and you should change it today (Modify button). A value between 7 and 14 days covers most cases; the maximum is set by AWS.
Right there you will also find the backup window, the half hour each day in which RDS takes the backup. Set it to a quiet time, in UTC.
Take a manual snapshot before a major change
You are about to migrate the application, change the engine version, drop old tables. First, a manual snapshot: select the instance, Actions, Take snapshot, and give it a descriptive name with the date. On a Multi-AZ instance the snapshot is taken from the standby and does not affect the service; on a single-zone instance there may be a brief pause in writes when it starts.
Manual snapshots do not expire: they are kept until you delete them and you are charged for the space they take up (beyond what AWS includes for free, which equals the size of your storage). Clean them out from time to time.
Restore from a snapshot
In the Snapshots menu, select the one you want, Actions, Restore snapshot. RDS asks you for a new name for the instance (for example
tienda-restaurada-2026-10-26), the instance size, the VPC and the subnet. Check two things that are not copied from the original and have to be chosen by hand: the security group (otherwise it will be born with the default one and your application will not be able to connect) and the parameter group, if you were using a custom one.Click Restore and wait. It will take minutes or tens of minutes depending on the size.
Restore to a point in time
If what happened is "someone ran a DELETE without a WHERE at 11:42", you do not want last night's backup: you want 11:41. That is what automated backups are for: select the original instance, Actions, Restore to point in time, and choose the exact date and time within the retention period. The rest of the form is the same as in the previous step, and it also creates a new instance.
Check the restored database before using it
When the new instance is "Available", copy its endpoint from the Connectivity tab. Connect with your usual client and check that the data you were looking for is there: the dropped table, the order from before 11:42. Do this before touching the application.
Point the application at the new database
You have two routes. The quick one: change the application's connection string to the new endpoint. The clean one, if the application cannot be touched: rename the old instance (for example to
tienda-vieja) and then rename the restored one with the original name; RDS updates the endpoint when the name changes, although it takes a few minutes and the DNS cache may delay it. In both cases, once everything has worked for a few days, stop or delete the old instance, which until then is billed in full.
What can go wrong
The application cannot connect to the restored database
It is almost always the security group: the new instance was born with the default one. Modify it and give it the security group the original had. The second most common cause is public accessibility: if the original was reachable from outside and the new one is not, or the other way round, check that option.
The username and password do not work
Snapshots keep the users and passwords exactly as they were at the time of the backup. If you changed the password afterwards, the restored one has the old password. You can change the master password from the console without a reboot.
I have ended up with two databases and the bill has gone up
Normal: the original and the restored one are both billed while they exist. That is the price of restoring being safe. Once you have confirmed which one you are keeping, take a final snapshot of the other and delete it.
The automated backup coincides with the busiest time
The backup and maintenance windows are in UTC. If you did not choose them, AWS picked one at random. Change them to an early-morning hour in your time zone, converted to UTC.
In Simplio
In Simplio, RDS and Lightsail databases appear next to your machines, with the snapshot button, the list of backups with their dates and the instance status in plain view, and only for the people you give that permission to. If a backup that should have been taken is missing, it emails you before you need it.
The same task, in AWS and in Simplio
| In the AWS console | In Simplio | |
|---|---|---|
| Manual backup of the database | RDS console, select, Actions, Take snapshot: 4 clicks | Snapshot button on the database: 1 click |
| See which backups exist | Snapshots menu, filter by instance, region by region | List of backups with date and size on the card itself, across all accounts |
| Find out if a backup is missing | Nothing warns you | Email alert |