Redshift Single database (not instance) backup and restore

0

Hi there, I have a Redshift instance running 5 databases. I would like to migrate one of them to a different account. The default aws options, which restores the full instance is not an option. What is the best way to do this? Cheers, Mark

1 Answer
1

Unfortunately, as far as I know, AWS Redshift does not directly support the feature of backing up and restoring a single database from a Redshift cluster. It primarily provides cluster-level backup and restore capabilities.

However, there are workarounds to migrate a single database from one Redshift cluster to another. Here's one common approach:

  • Create a Snapshot of the Existing Cluster: First, create a snapshot of the existing Redshift cluster. This will include all databases in the cluster.
  • Restore the Snapshot into a New Cluster: You can then restore this snapshot into a new Redshift cluster. This will duplicate all databases from the original cluster.
  • Delete Unwanted Databases from the New Cluster: Once the new cluster is operational, you can delete the databases you don't want to keep in this new cluster. This leaves only the database you want to migrate.
  • Share the New Cluster Snapshot to the Different Account:Now you can create a snapshot of the new cluster (which contains only your desired database) and share this snapshot with the different AWS account. The different account can then restore this snapshot into a new Redshift cluster.

While this is an effective workaround, it has some limitations and may not be suitable for all use-cases, particularly if the databases are large and you need to minimize storage costs. Also, the process of deleting databases and creating multiple snapshots can be time-consuming.

Another approach is to use a tool that can extract the data from one database and load it into another. AWS Data Pipeline or AWS Glue are potential options for this kind of task, allowing you to create a job that extracts the data from one Redshift database, stores it in an S3 bucket, and then loads it into a new Redshift database in the other account.

profile picture
EXPERT
answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions