I'm managing a complex AWS infrastructure setup, and I'm worried about losing track of how everything works or having to reconstruct my configurations if something goes wrong. I'm looking for solutions to two main issues: First, is there a tool that allows me to back up my AWS infrastructure? Specifically, I'm keen on exporting my API Gateway and Lambda functions into zipped JSON or YAML files for local storage. Second, what tools are available for mapping out my infrastructure and visualizing how the different services are interconnected?
5 Answers
Terraform is a popular choice for managing AWS infrastructure. It allows you to define your resources in code, and you can export your settings as JSON, making it easy to back things up.
I think Terraform is overrated and can be garbage for certain setups.
If you're not using IaC yet, consider that it's super helpful. For CI/CD processes, using tools like GitLab CI with your repositories can manage everything for you without needing manual intervention. Plus, documentation is key—think about using Confluence or similar tools to keep everything organized. A well-maintained README.md in your repos is a must!
If you created your AWS resources manually through the Console or CLI, consider using CloudFormation to automate the documentation for you. It can generate a stack template based on your current infrastructure, which you can use to modify or redeploy later. Check out the AWS docs for more details!
You can check out the AWS CLI! The command line offers several 'describe' commands where you can get information about your services and export them to JSON. For example, you could run something like `$ aws describe-lambda-functions` to get detailed info.
Have you considered using Infrastructure as Code (IaC) tools? They can really help with backing up and managing your AWS resources. CDK (Cloud Development Kit) is one option; it automates documenting your infrastructure effectively. It's like having your configuration files saved automatically!

I wouldn't rely on Terraform alone; it has its weaknesses.