Cloudfront ¶
What is cloudfront?
- It is a CDN which have 2 types of distributions
Web distribution
: fFor static and dynamic content, media files.RTMP
: It is used to speed up the distribution of streaming media files using Adobe Flash’s RTMP (Real-Time Messaging Protocol). Using this the user can begin playing - the file before it’s downloaded from the server.
Origin
is the actual location where the resource is (it can be S3),Edge
is where the user.- Edge location will cache the data for some period called TTL (
Time To Live
) - Distribution is the name given to the CDN, which is the collection of edge locations. 💡
- You can clear the contents in the cache, but you will be charged for this.
- Invalidation removes the objects from the edge cache.
/*
will invalidate everything.- Creating and deleting distribution takes some time.
Remember
-
The invalidation API is the fastest way to remove a file or object, although it will typically incur additional costs.
-
First, remove the file from the origin servers; then set the expiration time on the CloudFront distribution to 0 to remove the file from the CloudFront
-
==RDS instance can be an origin server--.
-
You can read and write objects directly to an edge location. You cannot delete or update them directly; only the CloudFront service can handle that.
-
CloudFront allows interaction via CloudFormation, the AWS CLI, the AWS console, the AWS CLI, the AWS APIs, and the various SDKs that AWS provides.
-
CloudFront can front several AWS services:
- AWS Shield
- S3
- ELBs (including ALBs)
-
EC2 instances.
-
CloudFront automatically provides AWS Shield (standard) to protect from DDoS, and it also can integrate with AWS WAF and AWS Shield advanced. These combine to secure content at the edge.
-
CloudFront is easy to set up and lets you create a global content delivery network without contracts. It’s also a mechanism for distributing content at low latency.
-
When you create a CloudFront distribution, you register a domain name for your static and dynamic content. This domain should then be used by clients.
-
There is no charge associated with data moving from any region to a CloudFront edge location.
-
CloudFront supports a variety of origin servers, including a non-AWS origin server. It supports EC2 regardless of region, as well. It does not support RDS or SNS.
-
Edge locations can be set to have a
0-second expiration
period, which effectively means no caching occurs. -
CloudFront can distribute content from an ELB, rather than directly interfacing with S3, and can do the same with a Route 53 record set. These allow the content to come from multiple instances.
-
CloudFront serves content from origin servers, usually static files, and dynamic responses. These origin servers are often S3 buckets for static content and EC2 instances for dynamic content.