Skip to main content

Command Palette

Search for a command to run...

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

Updated
4 min readView as Markdown
AWS Day 32: Backup and Restore an Amazon RDS Instance Using Snapshots | KodeKloud 100 Days of Cloud
A

"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.

More from this blog

A

Anand Raval

130 posts

I'm Anand Raval, a Cloud & DevOps Engineer with AWS Solutions Architect Associate (SAA-C03), Certified Kubernetes Administrator (CKA), and Azure Fundamentals (AZ-900) certifications. This blog covers AWS, Kubernetes, Terraform, CI/CD, cloud architecture, automation, cost optimization, troubleshooting guides, and hands-on DevOps projects.