This repository contains automated backup solutions for both AWS RDS and Google Cloud Platform, designed to enhance disaster recovery capabilities and protect against ransomware attacks. The project was initially developed as an internal tool and has been migrated to this public repository.
The AWS RDS backup solution provides automated snapshot management with enhanced security features:
- Automated RDS snapshot creation and management
- Cross-region snapshot replication for disaster recovery
- Snapshot encryption using AWS KMS
- Cross-account sharing capabilities for secure backup storage
- Automated cleanup of outdated snapshots
- Slack notifications for backup status and errors
aws/rds-automation/
- Main RDS backup implementationapp/rds_backup.py
- Core backup functionalityapp/utils/
- Shared utilities and helpers- Kubernetes deployment configurations for automated scheduling
- Encrypted snapshots using AWS KMS
- Cross-account sharing for isolation
- RBAC-based access control
- Secure parameter handling
The Google Cloud SQL backup solution focuses on creating a snapshot from one project to another:
- Automated backup creation and management
- Backup validation and integrity checking
- Retention policy management
- Cloud Function-based implementation
gcp/cloud-functions/
- Cloud Functions implementation- Backup management functions
- Validation and integrity checking
- Multi-region replication logic
- Retention management
- IAM-based access control
- Cross-project replication capabilities
- Configure AWS credentials and permissions
- Update the configuration in
aws/rds-automation/app/utils/global_vars.py
- Deploy using the provided Kubernetes configurations
- Configure Slack notifications (optional)
- Set up GCP service account with appropriate permissions
- Deploy Cloud Functions using provided configurations
- Configure backup retention policies