2.1.2 How You Set Up CloudFront to Deliver Content
You create a CloudFront distribution to tell CloudFront where you want content
to be delivered from, and the details about how to track and manage content
delivery. Then CloudFront uses computers—edge servers—that are close to
your viewers to deliver that content quickly when someone wants to see it or
use it.
How You Configure CloudFront to Deliver Your Content
- You specify origin servers, like an Amazon S3 bucket or your own HTTP
server, from which CloudFront gets your files which will then be distributed
from CloudFront edge locations all over the world. An origin server
stores the original, definitive version of your objects. If you’re serving
content over HTTP, your origin server is either an Amazon S3 bucket or an
HTTP server, such as a web server. Your HTTP server can run on an Amazon
Elastic Compute Cloud (Amazon EC2) instance or on a server that you manage;
these servers are also known as custom origins. If you use the Adobe
Media Server RTMP protocol to distribute media files on demand, your origin
server is always an Amazon S3 bucket.
-
You upload your files to your origin servers. Your files, also known as
objects, typically include web pages, images, and media files, but can be
anything that can be served over HTTP or a supported version of Adobe RTMP,
the protocol used by Adobe Flash Media Server.
If you’re using an Amazon S3 bucket as an origin server, you can make the
objects in your bucket publicly readable, so that anyone who knows the
CloudFront URLs for your objects can access them. You also have the option
of keeping objects private and controlling who accesses them.
- You create a CloudFront distribution, which tells CloudFront which origin
servers to get your files from when users request the files through your web
site or application. At the same time, you specify details such as whether
you want CloudFront to log all requests and whether you want the
distribution to be enabled as soon as it’s created.
-
CloudFront assigns a domain name to your new distribution that you can see
in the CloudFront console, or that is returned in the response to a
programmatic request, for example, an API request. If you like, you can add
an alternate domain name to use instead.
-
CloudFront sends your distribution’s configuration (but not your content) to
all of its edge locations or points of presence (POPs)—collections of
servers in geographically-dispersed data centers where CloudFront caches
copies of your files.
As you develop your website or application, you use the domain name that
CloudFront provides for your URLs. For example, if CloudFront returns
d111111abcdef8.cloudfront.net
as the domain name for your distribution, the
URL for logo.jpg
in your Amazon S3 bucket (or in the root directory on an
HTTP server) is ‘http://d111111abcdef8.cloudfront.net/logo.jpg’.
Or you can set up CloudFront to use your own domain name with your
distribution. In that case, the URL might be
‘http://www.example.com/logo.jpg’.
Optionally, you can configure your origin server to add headers to the files,
to indicate how long you want the files to stay in the cache in CloudFront edge
locations. By default, each file stays in an edge location for 24 hours before
it expires. The minimum expiration time is 0 seconds; there isn’t a maximum
expiration time limit.