AWS Day 32: Backup and Restore an Amazon RDS Instance Using Snapshots | KodeKloud 100 Days of Cloud

"I'm a 3rd-year Computer Engineering student at Marwadi University with skills in C++, web development (MERN stack), and DevOps tools like Kubernetes. I contribute to open-source projects and share tech knowledge on GitHub and LinkedIn. I'm learning cloud technologies and app deployment. As an Internshala Student Partner, I help others find jobs and courses." now currently focusing on #90DaysOfDevops
Protecting an Amazon RDS Database with Snapshots
One of the most important responsibilities in cloud infrastructure is making sure that critical data can be recovered if something goes wrong. Whether it's accidental deletion, a failed deployment, or database corruption, having a recent backup can significantly reduce downtime.
During Day 32 of the KodeKloud 100 Days of Cloud Challenge, I explored how Amazon RDS Snapshots work by creating a manual snapshot of an existing MySQL database and restoring it as a completely new RDS instance.
This lab demonstrates a common backup and recovery workflow that many DevOps engineers perform before major database upgrades, application releases, or migration activities.
Why Are RDS Snapshots Important?
Amazon RDS snapshots are point-in-time backups of your database that are stored securely in Amazon S3 behind the scenes. Unlike automated backups, manual snapshots remain available until you delete them.
RDS snapshots are commonly used for:
Creating reliable database backups
Restoring data after accidental deletion
Testing application changes safely
Cloning production databases for development
Disaster recovery planning
Database migration between environments
Having a backup strategy is considered one of the fundamental best practices when managing production databases on AWS.
Lab Objective
The goal of this lab was to complete the following tasks:
Create a manual snapshot of the existing RDS instance xfusion-rds
Name the snapshot xfusion-snapshot
Restore the snapshot to a new RDS instance named xfusion-snapshot-restore
Use the db.t3.micro instance class
Verify that the restored database reaches the Available state
Step 1: Create a Manual Snapshot
After confirming that the xfusion-rds database was in the Available state, I selected the database from the Amazon RDS console.
From the Actions menu, I clicked Take Snapshot to begin creating a manual backup.
Step 2: Configure the Snapshot
Next, I entered the required snapshot details.
| Setting | Value |
|---|---|
| Source Database | xfusion-rds |
| Snapshot Name | xfusion-snapshot |
After verifying the information, I clicked Take Snapshot.
AWS immediately started creating the backup in the background.
Step 3: Restore the Snapshot
Once the snapshot creation was complete, I opened the Snapshots section, selected xfusion-snapshot, and chose Restore Snapshot from the Actions menu.
This launches the RDS restoration wizard, allowing a completely new database instance to be created using the backup.
Step 4: Configure the Restored Database
During the restore process, I configured the new database instance with the required settings.
| Setting | Value |
|---|---|
| DB Instance Identifier | xfusion-snapshot-restore |
| Instance Class | db.t3.micro |
The remaining settings were left at their default values, and I started the restore process.
Step 5: Verify the Restored RDS Instance
After waiting a few minutes, AWS finished provisioning the new database.
Returning to the Databases page, I verified that both database instances were available.
xfusion-rds
xfusion-snapshot-restore
Both instances displayed the Available status, confirming that the snapshot restoration completed successfully.
What I Learned
This lab helped me understand how simple and reliable Amazon RDS backup and recovery can be.
Some important takeaways from this exercise include:
Manual snapshots remain available until they are deleted.
A snapshot can be restored as a completely new database without affecting the original instance.
Restoring from snapshots is useful for testing, migration, and disaster recovery.
Creating backups before making major database changes is a recommended DevOps practice.
Even though AWS automates most of the process, knowing when and how to use snapshots is an essential skill for anyone working with production databases.
Conclusion
Day 32 provided practical experience with one of the most important database administration tasks on AWS backing up and restoring an Amazon RDS instance.
By creating a manual snapshot, restoring it as a new database, and verifying that both instances were available, I gained a better understanding of how AWS simplifies database recovery while helping teams protect critical application data.
Every cloud engineer should be comfortable with this workflow because backup and recovery are essential parts of running reliable applications in production.




