Section 7: AWS Fundamentals: ELB + ASG Flashcards
Review concepts from Section 7: AWS Fundamentals: ELB + ASG of Stephane Maarek's AWS Certified Developer Associated DVA C01 course. Most of these sentences are (or are basically) Stephane's exact words.
Need to increase the size of your instance: Is that vertical or horizontal scalability?
Vertical
Section 7: AWS Fundamentals ELB + ASG
Do you want to vertically scale a non distributed system (ex: a database, RDS, ElastiCache?)
In most instances, yes. Unless it’s a nosql database. Apparently those you can scale horizontally (add new instances as needed).
Section 7: AWS Fundamentals ELB + ASG
True or false: A distributed system just means a system where it is easy to distribute the workload accross multiple systems.
True. Examples include the internet (idk, i guess the workload is distributed accross every device using the internet) and idk a database distributed accross multiple servers where the data can be replicated.
Section 7: AWS Fundamentals ELB + ASG
True or false: a non distributed system means all parts of the system are in the same physical location.
True.
Section 7: AWS Fundamentals ELB + ASG
What kind of scalability is it when you increase the number of instances/systems for your application?
Horizontal
Section 7: AWS Fundamentals ELB + ASG
How many data centers/availability zones do you need to be running your app/system in for it to be considered highly available?
2
Section 7: AWS Fundamentals ELB + ASG
True / False: The goal of high availability is to survive a data center loss? (I suppose it is doubtful that a whole availability zone goes down, probably the idea certainly applies there too. Though honestly, probably there are bigger problems if a whole AZ goes down.)
True
Section 7: AWS Fundamentals ELB + ASG
Is this passive or active high availability: A Relational Database System (RDS) distributed accross multiple availability zones?
Passive. I suppose the idea is that you set it up that way in advance and it doesn’t, like, increase in size (your system doesn’t get dymacailly deployed to a new availability zone if you start reaching size or connection limits). I’m just guessing about why this is passive I could be totally wrong.
Section 7: AWS Fundamentals ELB + ASG
Is this passive or active high availability: Horizontal Scaling
Active. If you start reaching throughput/connection/size limits, you get new instances deployed. (Steph says it’s active, but I am just guessing as to why.)
Section 7: AWS Fundamentals ELB + ASG
Also prob not an exam:
True or false:
Vertical scaling is referred to as scaling up or down. Horizintal scaling is referred to as scaling in or out.
True
Section 7: AWS Fundamentals ELB + ASG
Does high availability lend itself more towards horizontal or vertical scaling?
Horizontal. I suspect an argument could be made for vertical scaling being highly available, but it would have to be something like if you were vertically scaling all of your instances that you already had in multiple area zones, which would mean you were vertically scaling out your horizontally distributed system. So, really, except for special cases like that (which include horizontal scaling anyway), when we’re talking about high availability we’re probably talking about horizontally scaled systems that are already distributed accross multiple availability zones - adding new instances through the use of load balancers (LB) and auto scaling groups (ASG). Both LB’s and ASG’s kind of fall into both the category of horizontal scalability and high availability, though, when we’re talking about high availlablity, both the auto scaling group and the load balancers need to be applied to a system running in multiple availability zones.
Section 7: AWS Fundamentals ELB + ASG
What do you call a server or set of servers that forwards traffic to multiple servers “downstream” (don’t be distracted by the use of “downstream” I think it’s perfectly useless in this sentence.)
Load balancers
Section 7: AWS Fundamentals ELB + ASG
True or false: the Auto Scaling Group distributes traffic to multiple instances and monitors those instances for health, and if it seems like an instance is unhealthy and needs to be restarted, or is approaching limits, it sends info to your load balancer/trigger alarms picked up your load balancer and your load balancer restarts instances or deploys new instances (or takes them away, depending on whether it was an upper or lower usage limit that triggered the alarm).
True or false: False. It’s the Load Balancer that distributes traffic to multiple instances and monitors those instances for health, and if it seems like an instance is unhealthy and needs to be restarted, or is approaching limits, it sends info to your Auto Scaling Group/trigger alarms picked up your ASG and your ASG restarts instances or deploys new instances (or takes them away, depending on whether it was an upper or lower usage limit that triggered the alarm).
Section 7: AWS Fundamentals ELB + ASG
When you use a load balancer, how many points of access (DNS) to your application are there?
1
Section 7: AWS Fundamentals ELB + ASG
True or false, in addition to what you already know about load balancers, load balancers can:
* Provide SSL termination (enforce HTTPS for your websites)
* enforce stickiness with cookies
* separate public traffic from private traffic
True
Section 7: AWS Fundamentals ELB + ASG
Is the Elastic Load Balancer a managed load balancer? (That is, does AWS take guarantee it will work/take care of upgrades/maintence etc.)
Yes
Section 7: AWS Fundamentals ELB + ASG
True/false: Is the Elastic Load Balancer integrated with all of the following AWS offerings/services?
* EC2, EC2 Auto Scaling Groups, Amazon ECS
* AWS Certificate Manger (ACM), CloudWatch
* Route 53, AWS WAF, AWS Global Accelerator
True. Idek what AWS Global Accelerator is yet though, honestly.
Reverse question would be: what aws services does elb work with?
Section 7: AWS Fundamentals ELB + ASG
True or false: Health Balances enable a load balancer to know if instances it forwards traffic to are healthy enough to reply to requests.
False. It’s Health Checks.
Section 7: AWS Fundamentals ELB + ASG
The port a health check is set up to use is variable (example, port 4567). What is the common route/(endpoint) used to do the health checks used by load balancers?
/health. If the response isn’t a 200, the ELB won’t send traffic to that instances.
Section 7: AWS Fundamentals ELB + ASG
There are four kinds of managed load balancers on AWS. We’re going to ignore one of those four (Classic Load Balancer) since it’s being deprecated. What are the other three main types of load balancers AWS offers?
- Application Load Balancer (2016)
- Network Load Balancer (2017)
- Gateway Load Balanacer (2020)
Section 7: AWS Fundamentals ELB + ASG
When using a load balancer, there are two security groups involved (not like the kind of security group that a user belongs to, but the kind that services can belong to). What are those and how are they used?
The Load Balancer Security Group and the Application Security group.
The Load Balancer Security Group is the security group that allows (or rejects) traffic between people using your app/site and your load balancer. An example of a Load Balancer Security Group is one that is set up to allow:
[{Type: HTTP, Protocal: TCP, Port Range: 80, Source: 0.0.0.0/0, Description: allow http from anywhere}, {Type: HTTPS, Protocal: TCP, Port Range: 443, Source: 0.0.0.0/0, Description: allow https from anywhere}].
The Application Security Group is the security group that allows traffic to your application only from your load balancer, and rejects traffic traffic from everywhere else. Say your Load Balancer had a security group ID of sg-123456789. Then an example of an Application Security Group setup is: {Type: HTTP, Protocal: TCP, Port Range: 80, Source: sg-123456789, Description: allow traffic only from the Load Balancer Security Group}
Section 7: AWS Fundamentals ELB + ASG
True or False: Network Load Balancers have the following qualities:
* Load balancing to multiple HTTPS apps across machines (target groups, examples: EC2 instances, ECS tasks, lambda functoins, private IP addresses) and to multiple apps on the same maching (ex: containers)
* support for HTTP/2 and WebSocket
* Support redirects (from HTTP to HTTPS, for example)
* Routing based on path in URL (ex: anna.com/books and anna.com/birds)
* Routing based on hostname in URL (stuff.anna.com and things.anna.com)
* Routing based on query string, headers (anna.com/books?category=educational&liked=true)
* Great fit for things like Docker and Amazon ECS
* has port mapping to redirect to a dynamic port in ECS (what?)
* Fixed hostname (XXX.region.elb.amazonaws.com)
* Application servers don’t see the IP of the client directly. True IP of client is inserted into header X-Forwarded-For. True port of client is inserted into header X-Forwarded-Port and proto (X-Forwarded-Proto).
False! It’s Application Load Balancers that have those qualities!
Section 7: AWS Fundamentals ELB + ASG
Need a load balancer that has:
* extreme performance
* TCP or UDP traffic
* static IPs
which kind do you use?
Network Load Balancer
Section 7: AWS Fundamentals ELB + ASG
True/False:
“Among the two most common transport protocols on the Internet, TCP is reliable and UDP isn’t. HTTP therefore relies on the TCP standard, which is connection-based. Before a client and server can exchange an HTTP request/response pair, they must establish a TCP connection, a process which requires several round-trips” Mozilla.org
True
Which load balancer:
* Forwards TCP and UDP traffic to your instances
* can handle milllions of requests per second
* has 1/4 latency of another load balancer?
Network load balancers (layer 4, whatever that means. vague memories of a network column looking thing.)
it’s got a latency of about 100ms (vs the latency about about 400ms that the Application Load Balancer (ALB) has).
Section 7: AWS Fundamentals ELB + ASG
Are Network Load Balancers included in the AWS free tier?
No
Section 7: AWS Fundamentals ELB + ASG
What kinds of target groups can you associate with a Network Load Balancer?
- EC2 Instances
- Private IP Addresses
- Application Load Balancer
Section 7: AWS Fundamentals ELB + ASG
True/False:
an Application Load Balancer (ALB) can route traffic from the Domain Name Service (basically the url) of the ALB to one of two EC2 instances (each with their own public IPv4 address). Furthermore, you can prevent others from using your EC2 instance’s public IPv4 addresses by making it so that they (the instances) only accept traffic from the applicaion load balancer (by stating that inbound traffic, instead of coming from a is only allowed from the CIDR address (IP address) value, is only allowed from the security group of the application load balancer)
True
Section 7: AWS Fundamentals ELB + ASG
True/False: You can use a Network Load Balancer that has as it’s target group an application load balancer. This is because with the network load balancer you could get fixed IP addresses, and thanks to the ALB, you can get all the rules that you have around handling HTTP traffic
True
Section 7: AWS Fundamentals ELB + ASG
True/False Health checks performed by network load balancer target groups support three different types of protocols: TCP, HTTP, HTTPS. So if your backend supports HTTP or HTTPS then it def possible for you to define a health check on these protocols.
True
Section 7: AWS Fundamentals ELB + ASG
Which load balancer would I use if I wanted to deploy, scale and manage a fleet of third party network virtual appliances in AWS, and if I wanted all traffic to my network to go through:
* firewalls
* intrusion detection and prevention systems
* deep packet inspection systems
* payload modification
Gateway Load Balancer
Section 7: AWS Fundamentals ELB + ASG