CloudFront Essentials:
- CloudFront is a global CDN which delivers content from an "origin" location (the source of the content) to an "edge" location (AWS CDN data center).
- An edge location allows the caching of static objects from the origin location.
- An origin can be an:
- S3 bucket
- Elastic Load Balancer that distributes requests among origin EC2 instances.
- CloudFront can integrate with Route 53 for "alternate" CNAMEs.
CloudFront Benefits:
- Users experience lower latency and content load time.
- Reduces load on your applications resources (origin services) - thus reducing cost.
Updating Cached Files:
- Caching is done based off the object name.
- In order to serve a new version of an object, either create a new object with a new name or create an "invalidation" on the CloudFront distribution based off the object name.
- "Invalidation" have a cost, so if you have to invalidate a large CloudFront distribution then perhaps you should just create a new distribution and move DNS names.
- In this case, better to create new objects and delete old ones.
- Cached objects can also be set with a specific expiration time/date, or set to not cache at all.
Signed URLs:
- Signed URLs allow access to "private content" by creating a temporary, one-time-use URL based off of the number of seconds you want it to be accessible.
- Signed with a X.509 certificate.
CloudFront Origin:
- An "origin" location is the source of the content (static objects).
- An origin can be an:
- S3 bucket.
- Elastic Load Balancer that distributes requests among origin EC2 instances.
Edge Location:
- An Edge Location is an AWS datacenter which does not contain AWS services.
- Instead, it is used to deliver content to parts of the world.
- An example would be CloudFront, which is a CDN:
- Cached items such as a PDF file can be cached on an edge location which reduces the amount of "space/time/latency" required for a request from that part of the world.