aws cloud compute

A service from AWS to spin up EC2 instances as well as remove them automatically according to the situation.

For example the ASG can be hooked up to an Cloudwatch-Alarms when the EC2 instance status check fails. Then CloudWatch then notifies the ASG which spins up a new instance.

Scaling Processes

Launch – Adds a new EC2 instance to an Auto Scaling group • Terminate – Removes an EC2 instance from the group • AddToLoadBalancer – Adds instances to an attached ELB or TG • AlarmNotification – Accepts notifications from CloudWatch alarms that are associated with the group’s scaling policies • AZRebalance – Balances the number of EC2 instances in the group evenly across all of the specified Availability Zones • HealthCheck – Checks the health of the instances and marks an instance as unhealthy if Amazon EC2 or Elastic Load Balancing tells Amazon EC2 Auto Scaling that the instance is unhealthy • ReplaceUnhealthy – Terminates instances that are marked as unhealthy and then creates new instances to replace them • ScheduledActions – Performs scheduled scaling actions • Cooldowns – Used with simple scaling policy to prevent Auto Scaling from launching or terminating before effects of previous activities are visible. Default value is 300 seconds (5 minutes) • Termination Policy – Controls which instances to terminate first when a scale-in event occurs. • Termination Protection – Prevents Auto Scaling from terminating protected instances • Standby State – Used to put an instance in the InService state into the Standby state, update or troubleshoot the instance • Lifecycle Hooks – Used to perform custom actions by pausing instances as the ASG launches or terminates them.

Dynamic Scaling

The ASG could be programmed to be certain metrics, or some conditions.

Target Tracking

This method will use certain metrics to apply ASG actions. There are 4 metrics which are: • ASGAverageCPUUtilization—Average CPU utilization of the Auto Scaling group • ASGAverageNetworkIn—Average number of bytes received on all network interfaces by the Auto Scaling group • ASGAverageNetworkOut—Average number of bytes sent out on all network interfaces by the Auto Scaling group • ALBRequestCountPerTarget—Number of requests completed per target in an Application Load Balancer target group

Target Tracking with SQS

You can use SQS to emit a custom metric to cloudwatch to scale the asg ie. to provision more instances according to the pending messages.

Simple scaling

It scales according to the trigger if the alarm goes off after a simple metric set.

Step Scaling

Will scale instances with variable alarm trigger, ie. will launch more instance if the metric is higher. Ie the size of alarm breach.

Scheduled Scaling

We can also use scheduled scaling to roll out or roll down instances in certain times.