CloudFront Introduction
Amazon CloudFront can be used to deliver your entire website, including dynamoic, static, streaming, and interactive content using a global network of edge locations. Requests for your content are automatically routed to the nearest edge location, so content is delivered with the best possible performance.
E.g. Can be used to be used to optimize performance for users accessing a website backed by S3.
CloudFront is optimized to work with other AWS services such as S3, EC2, ELB, and Route53. CloudFront also works seamlessly with any non-AWS origin server, which stores the original, definitive versions of your files.
Content Delivery Network
A Content Delivery Network (CDN) is a system of distributed servers (network) that deliver webpages and other web content to a user based on geographic locations of the user, the origin of the webpage, and a content delivery server.
CloudFront Key Terminology
- Edge Location: This is the location where content is cached and can also be written. Separate to an AWS Region/AZ.
- Origin: This is the origin of all the files that the CDN will distribute. Origins can be an S3 Bucket, an EC2 Instance, an Elastic Load Balancer, or Route53.
- Distribution: This is the name given to the CDN, which consists of a collection of Edge Locations. There are two types of Distributions.
- Web Distribution: Typically used for Websites (HTTP/HTTPS); Cannot serve Flash
- RTMP: Used for Media Streaming / Flash
CloudFront and S3 Transfer Acceleration
S3 Transfer Acceleration enables fast, easy, and secure transfers of files over long distances between your end users and S3 bucket.
Transfer Acceleration takes advantage of CloudFront's globally distributed edge locations. As the data arrives at an edge location, data is routed to S3 over an optimized network path.