

# 什么是 Amazon CloudFront？
<a name="Introduction"></a>

Amazon CloudFront 是一项加快将静态和动态 Web 内容（例如 .html、.css、.js 和图像文件）分发给用户的速度的 Web 服务。CloudFront 通过全球数据中心（称作边缘站点）网络传输内容。当用户请求您用 CloudFront 提供的内容时，请求被路由到提供最低延迟（时间延迟）的边缘站点，从而以尽可能最佳的性能传送内容。
+ 如果该内容已经在延迟最短的边缘站点上，CloudFront 将直接提供它。
+ 如果内容不在边缘站点中，CloudFront 将从已定义的源（例如，已确定为内容最终版本的来源的 Amazon S3 存储桶、MediaPackage 通道或 HTTP 服务器，如 Web 服务器）检索内容。

例如，假设您要从传统的 Web 服务器中提供图像，而不是从 CloudFront 中提供图像。例如，您可能会使用 URL `https://example.com/sunsetphoto.png` 提供图像 sunsetphoto.png。

您的用户可以轻松导航到该 URL 并查看图像。但他们可能不知道其请求从一个网络路由到另一个网络（通过构成互联网的相互连接的复杂网络集合），直到找到图像。

CloudFront 通过 AWS 主干网络将每个用户请求传送到能以最佳方式提供您的内容的边缘站点，以此来加速分发您的内容。通常，这是向查看器提供传输最快的 CloudFront 边缘服务器。使用 AWS 网络可大大降低用户的请求必须经由的网络数量，从而提高性能。用户将会体验到延迟（加载文件的第一个字节所花费的时间）更短、数据传输速率更高。

您还会获得更高的可靠性和可用性，因为您的文件（也称为*对象*）的副本现在存储（或缓存）在全球各地的多个边缘站点上。

**Topics**
+ [如何设置 CloudFront 以提供内容](#HowCloudFrontWorksOverview)
+ [在标准分配或多租户分配之间进行选择](#choose-standard-or-multi-tenant)
+ [定价](#pricing)
+ [CloudFront 使用方法](IntroductionUseCases.md)
+ [CloudFront 如何交付内容](HowCloudFrontWorks.md)
+ [CloudFront 边缘服务器的位置和 IP 地址范围](LocationsOfEdgeServers.md)
+ [将 CloudFront 与 AWS SDK 配合使用](sdk-general-information-section.md)
+ [CloudFront 技术资源](#resources-cloudfront)

## 如何设置 CloudFront 以提供内容
<a name="HowCloudFrontWorksOverview"></a>

您创建 CloudFront 分配，以告知 CloudFront 您希望内容从何处传输，并告知有关如何跟踪和管理内容传输的详细信息。然后，当有人想查看或使用内容时，CloudFront 使用靠近您的查看器的计算机（边缘服务器）快速传输内容。

![CloudFront 的工作原理](http://docs.aws.amazon.com/zh_cn/AmazonCloudFront/latest/DeveloperGuide/images/how-you-configure-cf.png)
<a name="HowCloudFrontWorksConfiguration"></a>

**如何配置 CloudFront 以提供您的内容**

1. 您指定*源服务器*（如 Amazon S3 存储桶或您自己的 HTTP 服务器），CloudFront 将从该服务器获取您的文件，这些文件随后将从全世界的 CloudFront 边缘站点分配。

   源服务器将存储您的对象的原始最终版本。如果您通过 HTTP 提供内容，您的源服务器将为 Amazon S3 存储桶或 HTTP 服务器，例如，Web 服务器。您的 HTTP 服务器可以在 Amazon Elastic Compute Cloud (Amazon EC2) 实例上运行，也可以在您管理的服务器上运行；这些服务器也称为*自定义源*。

1. 您将您的文件上传至您的源服务器。您的文件也称为*对象*，通常包括网页、图像和媒体文件，但可以是可通过 HTTP 提供的任何内容。

   如果您将 Amazon S3 存储桶用作源服务器，则可以将存储桶中的对象设为公开可读，这样知道这些对象的 CloudFront URL 的任何人都可以访问它们。您还可以选择将对象设为私有，并控制哪些人可以访问它们。请参阅 [使用签名 URL 和签名 Cookie 提供私有内容](PrivateContent.md)。

1. 创建一项 CloudFront *分配*，此项分配将在用户通过您的网站或应用程序请求文件时告诉 CloudFront 从哪些源服务器获取您的文件。同时，您还需指定一些详细信息，如您是否希望 CloudFront 记录所有请求以及您是否希望此项分配创建后便立即启用。

1. CloudFront 为新分配指定一个域名，您可以在 CloudFront 控制台中查看该域名，该域名也可能被返回以响应编程请求（例如 API 请求）。如果您愿意，您可以添加要改用的备用域名。

1. CloudFront 将您的分配的配置（而不是您的内容）发送到其所有*边缘站点*或*节点* (POP) – 它们是位于地理位置分散的数据中心（CloudFront 在其中缓存您的文件的副本）内的服务器的集合。

您在开发网站或应用程序时，需使用 CloudFront 为您的 URL 提供的域名。例如，如果 CloudFront 返回 `d111111abcdef8.cloudfront.net` 作为您的分配的域名，则 Amazon S3 存储桶中（或 HTTP 服务器上的根目录中）的 logo.jpg 的 URL 将为 `https://d111111abcdef8.cloudfront.net/logo.jpg`。

或者，您可以设置 CloudFront 对您的分配使用您自己的域名。在这种情况下，URL 可能是 `https://www.example.com/logo.jpg`。

（可选）您可配置您的源服务器以向文件添加标头，表示您希望文件在 CloudFront 边缘站点的缓存中保留的时长。默认情况下，每个文件在边缘站点中保留 24 个小时后即会过期。最小过期时间为 0 秒；没有最大过期时间。有关更多信息，请参阅 [管理内容保留在缓存中的时间长度（过期）](Expiration.md)。

## 在标准分配或多租户分配之间进行选择
<a name="choose-standard-or-multi-tenant"></a>

CloudFront 为单个网站或应用程序以及多租户场景提供分配选项。

**标准分配**  
专为每个网站或应用程序的独特配置而设计。在以下使用案例中选择此选项：  
+ 您需要独立的 CloudFront 分配
+ 每个网站或应用程序都需要自己的自定义设置
大多数人会从标准分配开始。

**多租户分配和分配租户（CloudFront SaaS Manager）**  
专为 SaaS 提供商和多租户场景而设计。在以下使用案例中选择此选项：  
+ 您要构建 SaaS 平台来为多个客户网站或应用程序提供服务
+ 您需要高效地管理多个类似的分配
+ 您想集中控制共享配置
有关更多信息，请参阅 [了解多租户分配的工作原理](distribution-config-options.md)。

## 定价
<a name="pricing"></a>

CloudFront 对从其边缘站点传出的数据以及 HTTP 或 HTTPS 请求收费。定价因使用类型、地理区域和功能选择而异。

使用 Amazon Simple Storage Service（Amazon S3）、Elastic Load Balancing 或 Amazon API Gateway 等 AWS 源时，从您的源到 CloudFront 的数据传输始终是免费的。使用 AWS 源，您只需为从 CloudFront 向查看器传输的出站数据付费。

有关更多信息，请参阅 [CloudFront 定价](https://aws.amazon.com/cloudfront/pricing/)以及 Billing and Savings Bundle [常见问题解答](https://aws.amazon.com/cloudfront/faqs/)。

## CloudFront 技术资源
<a name="resources-cloudfront"></a>

使用以下资源获取有关 CloudFront 技术问题的答案：
+ [AWS re:Post](https://repost.aws/tags/TA8pHF0m5aQdawzT2gwPcVYQ/amazon-cloudfront) – 基于社区的问答网站，供开发人员讨论与 CloudFront 相关的技术问题。
+ [支持 中心](https://console.aws.amazon.com/support/home) – 该网站包含有关您最近的支持案例和 AWS Trusted Advisor 返回的结果以及运行状况检查的信息。它还提供指向开发论坛、技术常见问题解答、服务运行状况控制面板以及 支持 计划相关信息的链接。
+ [AWS Premium Support](https://aws.amazon.com/premiumsupport/) – 了解有关 AWS Premium Support 的信息，该服务是一种一对一的快速响应支持渠道，可帮助您在 AWS 上构建和运行应用程序。
+ [AWS IQ](https://iq.aws.amazon.com/?utm=docs) – 获得来自 AWS 认证的专业人员和专家的帮助。