I'm managing a complex AWS infrastructure and I'm worried about losing track of my configurations or having to redo them if there are changes made. I'm looking for solutions to two main issues: First, is there a tool out there that can back up my AWS setup, like exporting my API Gateway and Lambda functions into zipped JSON or YAML files for local storage? Second, how can I effectively document my infrastructure to show how everything is connected?
6 Answers
In production environments, using Git for version control along with CI/CD tools like GitLab CI lets you automate deployments and keep track of changes without fuss. Plus, using documentation services like Confluence can make sharing that info easier. You should also maintain a README.md file for your repositories—it’s crucial!
You might want to look into the AWS CLI. It offers a lot of 'describe' commands that can give you JSON outputs of your resources, which might help in backing them up.
You should definitely check out the AWS Cloud Development Kit (CDK). It takes care of documentation for you as you build your infrastructure.
Have you considered using Infrastructure as Code (IaC) tools? They can really help automate and document your setup, so you don't have to recreate anything manually.
If your resources were set up manually via the console or CLI and not with IaC tools like CloudFormation, you can use CloudFormation to actually map out and generate a template from your existing resources. That way, you have a solid basis to recreate or modify your setup later.
Terraform could be a great choice too. It's widely used but be aware, it has its critics. Just make sure you understand its workings.

Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures