Overview

Lets go over a series of steps to setup AWS Autoscaling. Please refer here for a complete tutorial

Custom AMI

AMI refers to Amazon Machine Image and we can create a custom AMI from an existing instance where our required softwares are installed. Create it from EC2 instances page.

Give a name and create:

You can view the AMIs from the left menu or selecting My AMIs while launching a new Image.

Load Balancer

Select Load Balancer from left menu and click on Create Load Balancer

Select Application Loadbalancer

Next screen, add name, port and VPC details. Select Joan VPC and select both subnets we have. Click Next and Next

Create an new Security Group for the load balancer in next page and click Next

Create a target group in next page, use the same port and add a health check api details if necessary. Then click Next

Next page, add the instances as Registered Targets and click Review and then Create

Enable Stickiness

Lets enable stickiness so that Load balancer routes the request from same user to same instance. Click on Target Groups. and open the target group.

Click on Edit next to Attributes, check the Stickiness and click “Save Changes”

Auto Scaling

Launch Configuration

Goto left menu in EC2 dashboard and select Launch Configuration. Then click "Create a launch configuration". You can create Launch templates, but here we will create Launch configuration itself.

Click on Advanced Details for docker container startup information. add the bash terminal commands

Select existing ec2 security group

Choose existing ec2 keypair and click Create launch configuration and Launch cofiguration would be created

Auto Scaling Group

Goto Ec2 dashboard and click on Auto Scaling Groups on left Menu. The click "Create an Auto Scaling group". Click on Switch to launch configuration

Enter name and select launch configuration, click Next

Next page, select early created VPC and select both subnets so that the traffic would be routed to both of them

Enable Load balancing in next page and select previously created appropriate target group. then click Next

Next page, specify the grouping size

Next page, you may add a Notification or Skip it. After review, click Create Auto Scaling Group

The Auto Scaling Group is now created

You can see the instance details from Instance Management

Click on Target Groups and open Targets in the desired target group. You can see the instances

Click on the Load Balancers from left menu and open the desired load balancer. Then use the DNS name to access the application.