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.

已提问 2 年前432 查看次数
1 回答
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
支持工程师
已回答 1 年前
profile picture
专家
已审核 1 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则