Designing a Comprehensive Backup Strategy for Our Client
As part of our client’s move to AWS, we needed to develop a backup solution that would encompass their entire AWS organisation.
This backup needed to be managed by their AWS operations team, with a way to segregate duties amongst them. It also had to be maintainable across all AWS accounts. Different groups of resources and environments required backups on varying schedules.
When setting specific RPO (Recovery Point Objective) and RTO (Recovery Time Objective), it’s crucial to ensure that backups are protected and immutable to guard against potential threats such as bad actors, corrupted files, or account-level disasters.
What was our backup approach?
To enhance security, the central backup strategy was divided into two isolated accounts:
- Centralised Prod Backup: A backup vault in a dedicated Prod Central Backup account stores copies of all local vault backups from production accounts.
- Centralised Non-Prod Backup: A backup vault in a dedicated Non-Prod Central Backup account stores copies of all local vault backups from non-production and lower environment accounts.
Vault locks are applied at the central level to protect backups in the central location, whilst application account vaults do not have a vault lock unless requested due to the disaster recovery requirements of the service level agreement.
Local vault locks are applied individually to each application based on business requirements. When RPO and RTO are critical, the local vault may be prioritised due to limitations in the central backup.
Segregated Access:
- Application accounts do not have access to policies in the shared resources account.
- Application accounts cannot access centralised backup accounts, but the centralised accounts can access application accounts.
What are the benefits of our backup approach?
- Centralised backup accounts for both higher and lower environments are secured by restricting access.
- While some AWS resources have their own backup features, these backups are deleted when the resource is removed. In contrast, our backup approach ensures that backups are retained even after the resource is deleted.
- Vault locks ensure that backups are immutable, preventing any user from corrupting or modifying them.
Cloud Elemental offers this solution using Infrastructure as Code (IaC) in Terraform, in line with AWS Best Practices. Resource deployment is managed via CI/CD pipelines, and policies can be updated through Terraform as needed, ensuring that all accounts and environments are up to date and synchronised. This approach facilitates quick and efficient onboarding, allowing the solution to be used almost immediately.