AWS Integrated Services Flashcards
Application Load Balancer
A type of load balancer that registers targets instead of instances
Application Load Balancer features:
- Additional supported request protocols
- Enhanced metrics and access logs
- More target health checks
- Ability to enable additional routing mechanisms for requests using path-based or host-based routing; as well as AWS web application firewall integration
- Allows you to route different requests to the same instance, but differ the path based on the port
Path-based routing
A type of routing that allows to create rules that forward requests to different target groups
Application Load Balancer key terms:
- Listener
- Target
- Target groups
Listener
- A process within the Application Load Balancer that checks for connection requests
- The rules you define determine how the load balancer routes requests to the targets in one or more target groups
- When configuring these, you create rules to direct how the requests received by the load balancer will be routed to backend targets
Target
Within the Application Load Balancer, it’s a destination for traffic based on the established listener rules
Target groups
- Within the Application Load Balancer, it’s a group that routes requests to one or more registered targets
- A target can be registered with multiple groups while health checks can be configured on a per group basis
- You create these groups to register targets to the load balancer and configure health checks that the load balancer will use for targets
Host-based routing
A type of routing that provides the ability to have multiple domains supported by the same load balancer and route requests to target groups based on the requested domain
Application Load Balancer enhanced features:
- Supported protocols (HTTP, HTTPS, etc.)
- CloudWatch metrics (additional load balance metrics)
- Access logs (Ability to see connection details)
- Health checks (Insight into target and application health)
Application Load Balancer added features:
- Path and host-based routing
- Deletion protection & request tracing – used to track HTTP requests from client to target
- Dynamic ports
Auto Scaling
- Helps ensure you have the correct number of Amazon EC2 instances available to handle the load of your application
- It’s critical to monitor the performance of your workload using Amazon CloudWatch – even though by itself, EC2 instances will not be added or removed
Auto Scaling helps to answer which two critical questions?
- Scalability
- Automation
Scalabilty
How to ensure you workload has enough EC2 resources to meet fluctuating performance requirements
Automation
How to automate EC2 resource provisioning to occur on-demand
“Scaling Out”
When you add more instances
“Scaling In”
When you terminate instances
Three components for Auto Scaling:
- Launch Configuration
- Auto Scaling Group
- Auto Scaling Policy
Launch Configuration
- Within auto scaling, it’s defining what will be launched
- Examples — AMI, Instance type, security groups, roles, etc.
Auto Scaling Group
- Defining where the deployment takes place and boundaries for the deployment
- Examples — defining which VPC deploys instances, which load balancer to interact with, specifying boundaries for a group, etc.
Auto Scaling Policy
- Defining when to launch or terminate EC2 instances
- Best practice is to create at least one policy for scaling out and another for scaling in
- Common configuration — creating CloudWatch alarms based on performance information from EC2 instances or a load balancer
CloudWatch alarm for Auto Scaling
- 1st part of alarm is a condition (CPU utilization) with a specific threshold (% of usage)
- 2nd part of alarm is the action to perform after the alarm has been triggered – action could be adding/removing instances
Amazon Route 53
- It’s a Domain Name System (DNS) designed to provide businesses and developers with a reliable and highly scalable way to route end-users to internet applications — think of this system as an “address book”
- Translates website names like www.example.com into numeric IP addresses that computers use to connect with one another
- To provide DNS translation for your domain name, you can either manage your own DNS or employ a managed DNS, like this service
How does Amazon Route 53 work?
- First, a user opens a web browser and enters the domain name for a website (www.example.com)
- Then, that query is typically routed to an internet service provider’s DNS resolver
If that website’s DNS is handled by this service, the internet service provider’s DNS resolver forwards the request to the DNS hosted and managed by this service
- Then, this service’s server gathers the value associated with www.example.com - say 192.0.2.44 - and returns that IP address to the internet service provider’s DNS resolver, which gives the user the specified content
Domain Name System (DNS) resolutions:
- Simple routing
- Geo-location
- Failover
- Weighted routing
- Latency-based
- Multi-value answer routing
Geo-location
- It’s a DNS resolution that bases routing on where the user’s DNS request came from
- Allows you to serve traffic from resources designed for that location
- You could have multiple copies of your website deployed to different regions in different languages, making sure your users are routed to the appropriate copy of your website based on their location