Map you AWS VPC deployment using graphviz/dot

Daniel 7f22d4c6cc Merge pull request #1 from SDFE/master 3 years ago
images 45e5e37dd2 Added asgs 3 years ago
.env 014a47ba68 init commit 5 years ago
.gitignore 3af55b312c Adding cacheing 5 years ago
LICENSE edc55053a2 Initial commit 5 years ago 36493d141d Added docs 5 years ago 342206ffa2 added explorer 5 years ago f74ff77121 SDFE-1931: Ensure all available data is rendered with labels 3 years ago
requirements.txt 9464be4bf2 Merge branch 'master' of 3 years ago


Generate basic graphviz/dot maps of your AWS deployments.


$ pip install -r requirements.txt
$ sudo apt-get install graphviz


$ ./ | dot -Tpng > aws-map.png
$ eog aws-map.png

Options include specifying just one VPC to draw with: ./ --vpc vpc_123456

Or specifying a subnet to draw with: ./ --subnet subnet_123456


You can generate a map of each vpc or subnet individually. This is very useful if you have a large and complex setup where putting it all on a single page becomes spaghetti.

$ ./ --iterate vpc
$ ./ --iterave subnet

Security Groups

Normally security groups get in the way and obscure what you want to see so they aren't included. You can add them back with --security. Note that if you only want to map a single subnet you shouldn't turn security groups on as there is no easy way to determine which subnet a security group operates on - so it draws them all - leading to potentially huge, unusable maps.


The program will write the results of the aws query to a .cache directory and use that unless you specify --nocache. Cacheing is much faster than querying AWS everytime but obviously won't react to changes that are made.