Region > AZ
User <--(edge location)--> origin(__s3__, __ec2__, elb, route53)
^
|
---- cache specified by a ttl
Distribution - This is the name given to the CDN which consists of a collection of Edge Locations
- Web distribution - Typically used for websites
- RTMP - used for Media Streaming
OBS:
- You can have an origin that isn't hosted on AWS
- edge locations are for Read and Write
- You can clear cache but you'll be charged
Autoscaling Group(uses Launch Configuration)
load balancer --|--> ec2 instance (AZ1)
--|--> ec2 instance (AZ2)
--|--> ec2 instance (AZ3)
^
|
------- Target Group
if one ec2 instance dies the load balancer redirects the requests to the other and the group autoscales to the number of min and max instances according to the launch configuration and bootscript
OBS:
Auto Scaling Group is just a group of identical instances that AWS can scale up(add a new one) or down(remove) automatically based on some configurations you've specified. You use this to ensure at any point in time, there is the specific number of instances running your application, and when a threshold is reached(like CPU utilization), it scales up or down.
Target Group is a way of getting network traffic routed via specified protocols and ports to specified instances. It's basically load balancing on a port level. This is used mostly to allow accessing many applications running on different ports but the same instance.
VPC (Virtual Private Cloud)
vpc is a virtual data center in the cloud. It's an isolated section of the aws cloud where you launch aws resources in a virtual network that you define.