AWS Backup entire Aurora Cluster (DATA TOO?)

0

According to documentation and testing, you cannot backup/restore an Aurora cluster with it's Instance(s). What is the solution to backup and restore the entire cluster?

When attempting to backup the individual instance(s) in the Aurora cluster using AWS Backup, that does not seem to be an option.

asked 2 years ago677 views
1 Answer
0

Hello,

You are accurate in your findings that backing up individual instances are not support in AWS Backup for Aurora service as of now. You may find the supported resource type for respective services in the below document. Here, you can see for RDS service, individual instances are supported but for Aurora only clusters are supported.

[+] What is AWS Backup? - Supported AWS resources and third-party applications - https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#supported-resources

Hence, you can backup/restore entire Aurora clusters from AWS Backup service. So, when you restore from AWS Backup console, it will create a backup of the cluster as a recovery point in AWS Backup. When you choose this recovery point and restore it, a brand new cluster will be created in RDS console.

However, In this restore process, only a cluster is created (DB instances) are not created. So you will need to manually attach the DB instances to the cluster, using below sample command. You may find this outlined in step 14 of following documentation,

[+] Restoring an Amazon Aurora cluster - Use the AWS Backup console to restore Aurora recovery points - https://docs.aws.amazon.com/aws-backup/latest/devguide/restoring-aur.html#aur-restore-console

Sample command :

aws rds create-db-instance --db-instance-identifier instancename --db-cluster-identifier clustername --engine enginename --db-instance-class db.r4.large --region regionname


// "instancename" will be the name of the new instance

// "clustername" is the name of the restored cluster 
// "enginename" is the DB engine like aurora-postgresql

// "regioname" is region name like us-east-1

Once you run this command the newly created cluster will have the newly created instance attached. If you don't attach the instance manually they will see instance stuck in "creating" status on RDS console.

This is because, AWS is an orchestration service and it effectively makes use of underlying API calls from native services. In this case as the concerned service is Aurora, the underlying API call would be RestoreDBClusterFromSnapshot and we can find this behaviour outlined in the following Aurora document as,

This action only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the CreateDBInstance action to create DB instances for the restored DB cluster, specifying the identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after the RestoreDBClusterFromSnapshot action has completed and the DB cluster is available.

[+] RestoreDBClusterFromSnapshot - https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBClusterFromSnapshot.html

AWS
SUPPORT ENGINEER
answered 2 years ago
profile picture
EXPERT
reviewed 6 months 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