Amazon Simple Storage Service
开发人员指南 (API Version 2006-03-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

示例:使用 Amazon CloudFront 为网站提速

您可以使用 Amazon CloudFront 提高网站性能。CloudFront 可将您的网站文件 (如 HTML、图像和视频) 提供给全球各地的数据中心 (称为边缘站点) 使用。当访问者从您的网站请求文件时,CloudFront 会自动将请求重定向到最近边缘站点上的文件副本。这时的下载速度会比访问者从更远的数据中心请求该内容更快。

CloudFront 会将内容在边缘站点上缓存您指定的时间。如果访问者请求已过期的缓存内容,CloudFront 会检查来源服务器,确定该内容是否有更新的版本可用。如果有更新的版本,则 CloudFront 将新版本复制到该边缘站点。当访问者请求内容时,您对原始内容所做的更改便会复制到边缘站点。

要为您的网站提速,请使用 CloudFront 完成以下任务。

创建 CloudFront 分配

首先,您应创建 CloudFront 分配。这将使您的网站可供全球各地的数据中心使用。

使用 Amazon S3 源创建分配

  1. 通过以下网址打开 CloudFront 控制台:https://console.amazonaws.cn/cloudfront/

  2. 选择 Create Distribution

  3. Select a delivery method for your content 页上,为 Web 选择 Get Started

  4. Create Distribution 页面上的 Origin Settings 部分中,为 Origin Domain Name 键入您的存储桶的 Amazon S3 静态网站托管终端节点。例如:example.com.s3-website-us-east-1.amazonaws.com

    注意

    请务必指定静态网站托管终端节点,而不是存储桶的名称。有关更多信息,请参阅 Amazon Simple Storage Service 网站终端节点

    CloudFront 将为您填写 Origin ID

  5. 对于 Default Cache Behavior Settings,将值保留为默认值。更多有关这些配置选项的信息,请参阅 Amazon CloudFront 开发人员指南 中的 您创建或更新 Web 分配时指定的值

  6. 对于 Distribution Settings,执行以下操作:

    1. Price Class (价格级别) 的设置保留为 Use All Edge Locations (Best Performance) (使用所有节点 (最佳性能))

    2. Alternate Domain Names (CNAMEs) 设为根域和 www 子域;在本教程中分别为 example.comwww.example.com。必须先设置这些值,然后再为将指定域名连接到 CloudFront 分配的 A 记录创建别名。

    3. Default Root Object (默认根对象) 设置为 index.html。如果用于访问分配的 URL 不包含文件名,这将是 CloudFront 分配返回的默认页面。此值应该与您在 为网站托管配置存储桶 中设置的索引文档值匹配。

    4. Logging (日志记录) 设置为 On (打开)

    5. 对于 Bucket for Logs,选择您创建的日志记录存储桶。

    6. 要将由流量生成的日志存储到日志存储桶中名为 cdn 的文件夹的 CloudFront 分配,请在 Log Prefix 中键入 cdn/

    7. 将其他设置保留为默认值。

  7. 选择 Create Distribution

要查看分配的状态,请在控制台中找到该分配,然后检查 Status 列。InProgress (进行中) 状态表示分配尚未完成部署。

分配部署完毕后,您可以使用新的 CloudFront 域名来引用您的内容。记录 CloudFront 控制台中显示的 Domain Name 值。下一步中需要使用该值。在本示例中,该值为 dj4p1rv6mvubz.cloudfront.net

要验证您的 CloudFront 分配是否正常运行,请在 Web 浏览器中键入该分配的域名。如果正常运行,则您的网站可见。

更新域和子域的记录集

现在您已成功创建 CloudFront 分配,下一步将更新 Amazon Route 53 中的 A 记录,以指向新的 CloudFront 分配。

更新 A 记录以指向 CloudFront 分配

  1. 通过以下网址打开 Amazon Route 53 控制台:https://console.amazonaws.cn/route53/

  2. Hosted Zones 页上,选择为您的域创建的托管区域。

  3. 选择 Go to Record Sets

  4. 选择您为 www 子域创建的 A 记录。

  5. 对于 Alias Target,选择 CloudFront 分配。

  6. 选择 Save Record Set

  7. 要将根域的 A 记录重定向到 CloudFront 分配,请重复此过程。

记录集的更新需要 2 到 48 小时生效。要查看新的 A 记录是否已生效,请在 Web 浏览器中键入 http://www.example.com。如果您的浏览器不再重定向至 http://example.com,则说明新的 A 记录已生效。

出现这种行为变化的原因是,由 A 记录传输到子域 S3 存储桶的流量,被 Amazon S3 中的设置重定向到了根域。www当新 A 记录生效时,由新 A 记录传输到 CloudFront 分配的流量不会被重定向至根域。

提示

浏览器可以缓存重定向设置。如果您认为新的 A 记录设置应该已经生效,但是您的浏览器仍然将 http://www.example.com 重定向至 http://example.com,请尝试清除浏览器的历史记录和缓存,然后关闭再重新打开浏览器应用程序,或使用其他 Web 浏览器。

在新的 A 记录生效后,任何使用 http://example.comhttp://www.example.com 引用该网站的访问者都会重定向至最近的 CloudFront 边缘站点,并在这里体验更快速的下载。

如果您仅出于练习目的创建网站,则可以删除您所分配的资源,使其不再产生费用。为此,继续执行 清理示例资源。删除 AWS 资源后,您的网站将不再可用。

(可选) 检查日志文件

访问日志会告诉您有多少人正在访问网站。它们还包含有价值的业务数据,您可以使用 Amazon EMR 等其他服务分析这些数据。

在您的存储桶中,较旧的 Amazon S3 日志文件位于 root 文件夹中。所有新日志文件 (应该是 CloudFront 日志) 均位于 cdn 文件夹中。Amazon S3 每两小时将网站访问日志写入您的日志存储桶一次。CloudFront 将在相应请求提出后的 24 小时内将日志写入您的日志存储桶。

查看网站的日志文件

  1. 通过以下网址打开 Amazon S3 控制台:https://console.amazonaws.cn/s3/

  2. 为网站选择日志记录存储桶。

  3. 要查看存储在 cdnroot 文件夹中的日志文件,请选择 cdnroot

  4. 在浏览器中打开 Amazon S3 日志文件 (它们是文本文件)。先下载由 CloudFront 编写的 .gzip 文件,然后再打开这些文件。