DEV Community

Cover image for Create AWS Backup Plan
πŸš€ Vu Dao πŸš€
πŸš€ Vu Dao πŸš€

Posted on

3 3

Create AWS Backup Plan

Alt Text

  • AWS Backup is a fully managed backup service that makes it easy to centralize and automate the backup of data across AWS services.

  • Using AWS Backup, you can centrally configure backup policies and monitor backup activity for AWS resources, such as Amazon EBS volumes, Amazon EC2 instances, Amazon RDS databases, Amazon DynamoDB tables, Amazon EFS file systems, Amazon FSx file systems, and AWS Storage Gateway volumes.

  • This article gives an example of how to create backup plans for volumes (root and mount) of multiple instances using AWS CDK based on Tags. For example,

    
    

Tags
vc:aws-volume:kind - ebs-ddb

Any volumes with this tag within a region will be included in the backup plans resource assignment.

###Aws-Backup plan includes two mains thing: **Backup rules** and **Resource assignments**
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/bcgcoidjfpmhx72zus1i.png)

**1. Backup rule**
The rule says daily backup and the backup will expire after one day
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/xzdeui8inakrfp879nnf.png)

**2. Resource assignments**
- It can base on Tag or Resource ID
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/kyss8riia29mz6z1p2jp.png)

- This post introduces resource on Tag
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/md94yu5wh37xotzbdh72.png)

###Using AWS CDK (Cloud Development Kit) to create the backup plan
**1. To get familiar with CDK, go to [Your first AWS CDK app](https://docs.aws.amazon.com/cdk/latest/guide/hello_world.html)**

**2. Create cdk-aws-backup project**
Enter fullscreen mode Exit fullscreen mode

mkdir cdk-aws-backup
cd cdk-aws-backup
cdk init -l python


**3. Create stacks through code**
Source: https://github.com/vumdao/cdk-aws-backup
- Stacks: https://github.com/vumdao/cdk-aws-backup/blob/master/aws_backup/aws_backup_stack.py
- app: https://github.com/vumdao/cdk-aws-backup/blob/master/app.py

**4. Tag the resources using bash script**
Source: https://github.com/vumdao/cdk-aws-backup/blob/master/tag_volume.sh
- The script will loop all instances with name *-ddb-instance and then tag volumes of the instance as `Key=$region:aws-volume:kind,Value=ebs-storage`

**5. Run cdk deploy to create stack**
Enter fullscreen mode Exit fullscreen mode

cdk deploy


**Note:** This post does not show the output of running cdk deploy because it contain AWS account information, leave comments here if there's any issue or need support
Enter fullscreen mode Exit fullscreen mode

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

Sentry image

See why 4M developers consider Sentry, β€œnot bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

πŸ‘‹ Kindness is contagious

Please leave a ❀️ or a friendly comment on this post if you found it helpful!

Okay