You see the video below, but let me sum up how I did it:
1. Setup the trial AWS account and an empty SAMU application
I created a test AWS account with few free-tier services (EC2, RDS, VPCs, etc). Beyond the basic attributes of the services, I also wanted to link them to higher architecture components, such as business applications they are used for. Therefore, I made a template for provisioning new AWS resources with two tags: App tag includes the name of the application the server / RDS is used for and a Purpose tag, which refers to the type of the environment, eg. Production / Test / Development / etc. You’ll see soon, how we are using these…
I also installed an empty SAMU repository, where we’ll load the data to.
2. Query AWS info through CLI
You can query a wealth of environmental information through the AWS Command Line Interface, which I used for the purpose of the demo. With few shell scripts I generated CSV files that contained basic information about the EC2 instances, the RDS I’m using and other components, such as the availability zones, virtual private clouds and so on.
Note that you don’t need to create CSVs, but can load them into temp SQL tables, for example.
3. Define sync jobs in SAMU Sync module to load the CSV files into SAMU
SAMU natively offers an Excel importing wizard for users to perform easy data bulk loads. Instead of using that, I opted for the SAMU Sync module in order to define sync jobs which can be executed automatically. I will start the first job manually (so you would see it working) and all the subsequent jobs run automatically.
4. Log in SAMU and visualize the AWS environment
Once the data is in SAMU, the tool can visualize any segment of the architecture graph. Since dependencies and relationships among various components come across the integration, you can browse and drill down into any area.
For instance, we load EC2 instances as objects in SAMU and we also load availability zones and regions as objects too. We relate the relevant objects, eg EC2 XYZ operates in Region us-east-2. You can click the Region us-east-2 and drill down to visualize all EC2 instances as well as RDS instances related to it.