I'm helping a friend back up their entire AWS account, which includes various resources like instances, databases, Redis, Lambdas, and more. What's the best way to create a "snapshot" of the entire account's state as a root user so that everything can be restored from scratch? I'm fairly comfortable with terminals and scripting, but I'm not too familiar with all the ins and outs of AWS.
4 Answers
You can export some resources to CloudFormation. For others, you’ll need to create your own templates to regenerate them. Unfortunately, there’s no super automated way to export an entire account.
You might want to look into using Infrastructure as Code (IaC) tools like CloudFormation or Terraform. These tools allow you to define your AWS infrastructure and can make it easier to recreate everything when needed. However, since it sounds like your friend has resources set up manually, transitioning to IaC might be a bit of work. Still, it could be worth considering!
Exactly! You should have an "infrastructure backup" with IaC, and for data backup, use proper solutions like snapshots or AWS Backups. Make sure logs are stored resiliently too.
A pilot light setup could be a smart move here. You can replicate everything to another AWS account and keep snapshots of your workloads. Don’t forget to manage secrets and identities outside of AWS.
Definitely go for Infrastructure as Code! If the setup has been done using ClickOps, you might have a tough time, but on the bright side, you’ll be an AWS whiz by the time you finish! Just so you know, we charge around $250 an hour for these projects.
Good point! But remember, IaC only helps with infrastructure. You’ll definitely need a solid backup plan for all data sources, as AWS Backup doesn’t cover everything.