Elastic Load Balancing and Auto Scaling Flashcards
Elastic Load Balancing (ELB)
automatically distributes incoming application traffic across multiple targets, such as Amazon EC2 instances, containers, and IP addresses
ELB can handle the varying load of your application traffic in a single Availability Zone or across multiple Availability Zones
high availability, automatic scaling, and robust security necessary to make your applications fault tolerant
3 types of ELB on AWS:
- Application Load Balancer (ALB)
- Network Load Balancer (NLB)
- Classic Load Balancer (CLB)
Elastic Load Balancing Type:
Application Load Balancer (ALB)
operates at the request level (layer 7 of OSI model)
supports path-based routing, host-based routing, query string parameter-based routing, and source IP address-based routing
supports IP addresses, Lambda Functions and containers as targets
best suited for load balancing of HTTP and HTTPS traffic and provides advanced request routing targeted at the delivery of modern application architectures, including micro-services and containers
operating at the individual request level (Layer 7), ALB routes traffic to targets with Amazon VPC based on the content of the request
Elastic Load Balancing Type:
Network Load Balancer (NLB)
operates at the connection level
routes connections based on IP protocol (layer 4 of OSI model)
offers ultra high performance, low latency and TLS offloading at scale
can have static IP / Elastic IP
supports UDP and static IP addresses as targets
best suited for load balancing of TCP traffic where extreme performance is required
operation at the connection level (Layer 4), NLB is capable of handling illions of requests per second while maintaining ultra-low latencies
Elastic Load Balancing Type:
Classic Load Balancer (CLB)
old generation; not recommended for new applications
performs routing at Layer 4 and Layer 7
user for existing applications running in EC2-Classic
CLB provides basic load balancing across multiple Amazon EC2 instances and operates at both the request level and connection level
Amazon EC2 Auto Scaling
provides horizontal scaling
provides elasticity and scalability
Automation: automates the process of adding (scaling up) OR removing (scaling down) EC2 instances based on the traffic demand for your application
Cost Effective: helps to ensure that you have the correct number of EC2 instances available to handle the application load, to be cost optimized
create collections of EC2 instances, called Auto Scaling Group (ASG)
you can specify scaling policies that control when Auto Scaling launches or terminates instances
Auto Scaling Group (ASG)
collection of EC2 instances, can be creating in Amazon EC2 Auto Scaling
you can specify the minimum/maximum number of instances in each ASG, and AWS Auto Scaling will ensure the group never goes beneath/above this size
a desired capacity can be configured and AWS Auto Scaling will ensure the group has this number of instances
Scaling Policies
can be used in Amazon EC2 Auto Scaling
you can specify scaling policies that control when Auto Scaling launches or terminates instances
Scaling policies determine when, if, and how the ASG scales and shrinks (on-demand/dynamic scaling, cyclic/scheduled scaling)
scaling plans define the triggers and when instances should be provisioned/de-provisioned
Launch Configuration
the template used to create new EC2 instances and includes parameters such as instance family, instance type, AMI, key pair and security groups