Load-Balancing Flashcards
Vertical scalability means increasing the ____ of the instance.
size
For example, if your application runs on a t2.micro, scaling it up to a t2.large
Vertical scalability is very common for ____ systems, such as database.
non-distributed
RDS and ElastiCache are services that can scale vertically.
There is usually a limit to how much you can scale vertically, a ____ limit.
hardware
Horizontal scalability means increasing the ____ of instances for your application.
number
Horizontal scaling implies ____ systems.
distributed
Amazon ____ makes it much easier to horizontally scale.
EC2
High availability usually goes hand in hand with ____ scaling.
horizontal
High availability means running your application/system in at least ___ data centers or availability zones.
2
The goal of high availability is to survive a ____ loss.
data center
High availability can be passive or active, identify below:
RDS Multi AZ - ____
horizonal scaling - ____
RDS Multi AZ - passive
horizonal scaling - active
Vertical scaling means to ‘scale up / down’.
From an instance size of t2.nano (.5GB of RAM, 1 vCPU) to u-12tbl.metal (12.3 TB of RAM, 448 vCPU)
Horizontal scaling means to ‘scale out / in’, with out meaning more instances.
Examples: Auto Scaling Group or Load Balancer
High availability is to run instances for the same application across ____.
multiple AZs
Examples: Auto Scaling Group multi AZ
Load Balancer multi AZ
____ are servers that forward traffic to multiple servers (EC2 instances) downstream.
Load Balancers
Reasons for using a load balancer:
- spread load across multiple downstream instances
- expose a single point of access (DNS) to your application
- seamlessly handle failures of downstream instances
- do regular health checks to your instances
- provide SSL termination (HTTPS) for your websites
- enforce stickiness with cookies
- high availability across zones
- separate public traffic from private traffic
An ____ Load Balancer is a managed load balancer that AWS maintains.
AWS guarantees it will be working
AWS takes care of upgrades, maintenance, high availability
AWS provides only a few configuration knobs
Integrated with other AWS services
This costs less than you setting up your own with less effort.
Elastic
____ checks enable the load balancer to know if instances it forwards traffic to is available to reply to requests.
This feature is crucial for load balancers.
Health
Load balancer health checks are done on a ____ and ____.
port and route
For ex: /health is common
AWS has 4 types of managed Load Balancers:
- Classic Load Balancer (v1 - old gen, 2009) - Has been deprecated from the console as AWS doesn’t want you to use it.
- Application Load Balancer (v2 - new gen, 2016) - supports http, https, websocket.
- Network Load Balancer (v2 - new gen, 2017) - supports tcp, tls (secure tcp), udp
- Gateway Load Balancer (2020) - operates at layer 3 (network layer). supports IP protocol
Load balancers can be setup as ____ or ____ ELBs.
internal (private)
external (public)
Load balancer security group will allow http/https traffic from anywhere.
The EC2 instances downstream of the Load Balancer will only allow http traffic from the security group of the load balancer.
Application load balancers are Layer ___ (http)
7
Application load balancers balance to multiple http applications across machines, called ____.
Application load balancers balance to multiple applications on the same machine, called ____.
target groups
containers
Application load balancers support:
- http/https and WebSocket
- redirects (from http to https for example)