Ninja Docs Help

RDS & Aurora Backup

Revision

Date

Description

1.0

24.07.2024

Init Changelog

Introduction

In the organization, backups of databases running on AWS RDS and Aurora are managed through the AWS Backup service. or each account with such a database, infrastructure has been applied using the Terraform module, consisting of:

  • AWS Backup Vault - used for storing executed snapshots;

  • AWS Backup Plan - used for storing configuration and rules for performing backups;

  • AWS IAM Role - used to grant the AWS Backup service appropriate permissions;

  • AWS KMS Key - used for encrypting the performed backups.

Default configuration

Resources

The current backup configuration is implemented on resources matching the ARN (Amazon Resource Name):

  • arn:aws:rds:*:*:cluster:*

  • arn:aws:rds:*:*:db:*

Rules

Default rules have been applied to all accounts:

Name

Cron

Retention

daily-backup-rule

cron(0 0 * * ? *)

30d

weekly-backup-rule

cron(0 0 ? * 1 *)

90d

monthly-backup-rule

cron(0 0 1 * ? *)

365d

Initiating a backup

If you want to create a new backup plan (additional on an existing account or configure the default one for a new account), you should:

  1. Create the necessary directories in the Git repository;

  2. Add Terraform files;

  3. Initialize the project;

  4. Apply the project.

Restore

RDS

To restore an RDS (Relational Database Service) database, follow the steps outlined in the official documentation.

Aurora

To restore an Aurora database, follow the steps outlined in the official documentation.

Monitoring

For monitoring backups, a Grafana dashboard has been prepared: link. Based on the provided metrics, alerts have also been set up for backup execution issues for each account.

Last modified: 17 February 2025