This Open Source Terraform project is intended to be used as a template in a demonstration or to build a test/dev environment. They can be easily extended to cover other use cases or fortified for a production enviornment. This repository contains code which can be used as "user data" while creating AWS EC2 instances for Client Demo's, POC's and doing hands on Labs.
* These scripts should be used for Client Demo's, POC's and labs for setting up a scaled and load-balanced application, Demo of EC2 Auto Scaling, elasticity, High availability, Load balacing etc..
* These scripts will install an Apache web server (httpd) and would display the private IP and avilability zones of the EC2 instances. If refreshed few times it can be seen that the load is routed to different EC2 servers in different availability zones.
* They are very useful while testing autoscaling/HA scenarios. A webserver will be installed and will display its AZ & IP (other required meta data can be easily added)
* CPU load on the servers can be increased by executing "stress --cpu 4 --timeout 300"
* An alarm can be triggered, when CPU Load exceeds a certain value, which will inform ASG to scale out
* After a few minutes, the number of instances will increase under EC2 console (or ASG > Instance Management). It enacts the scale-out policy.
* After few minutes more, the stress test will stop and the ASG enacts the scale-in policy.
* There are 3 scripts for (AWS) Linux, Windows 2016 and Windows 2019 servers
* These scripts can be extended with minor changes and can be used for most of the hands on Labs for AWS Solution Architect certifications (SAA & SA Pro).