Amazon CloudFront
Developer Guide (API Version 2010-11-01)
Print this pageEmail this pageGo to the ForumsView the PDFShare this page on TwitterShare this page on FacebookBookmark this page on DeliciousSubmit this page to RedditSubmit this page to DiggDid this page help you?  Yes  No   Tell us about it...

Architectural Overview

These are the main actors involved when you use CloudFront:

  • You

  • Your website or application

  • Your origin server (usually Amazon S3)

  • CloudFront

  • End users using your website or application

Using CloudFront involves the types of communication described in the following figure and table.

Architectural overview of CloudFront
 Communication BetweenReason

You and Your Origin

To put objects in the origin server, manage them, and delete them.

If using Amazon S3, this is the normal interaction you have with Amazon S3 to manage buckets and objects. This relationship is covered in the Amazon Simple Storage Service Developer Guide.

You and CloudFront

To manage your distribution.

This communication tells CloudFront the location of your origin server and lets you configure aspects of how CloudFront should deliver your content to end users. You can communicate with CloudFront through the REST control API. This guide covers how to do this (for more information, see Making API Requests, and go to Amazon CloudFront API Reference).

End users and CloudFront

To get copies of your objects from the edge locations (via your website or application).

This involves how end users link to your objects in CloudFront through your website or application. Because CloudFront (and not Amazon S3) serves the objects, you give end users links to CloudFront (instead of links to the objects in Amazon S3). For more information about the format of these links, see Format of Links to Objects.

CloudFront and Your Origin Server

To get copies of your objects from the origin server as needed.

CloudFront takes care of this communication automatically when a request comes in to an edge location that doesn't already have a copy of the object.