一般性问题

问:什么是 Amazon CloudFront?

Amazon CloudFront 是一项 Web 服务,它为企业和 Web 应用程序开发人员提供了一种简单且经济高效的方式来以低延迟和高数据传输速度分发内容。与其他亚马逊云科技服务一样,Amazon CloudFront 是一种按用量付费的自助服务,无需长期承诺或最低费用。借助 CloudFront,您的文件将通过全球边缘站点网络分发给最终用户。

问:Amazon CloudFront 可以用来做什么?

Amazon CloudFront 提供了一种简单的方法,可以:

交付快速、安全的网站:借助内置的数据压缩、边缘计算功能和现场级加密,在几毫秒内覆盖全球的观众。

加快动态内容分发和 API:利用支持边缘终端和 WebSockets 的专门构建且功能丰富的亚马逊云科技网络基础设施,优化动态 Web 内容分发。

流式传输直播和点播视频:借助亚马逊云科技媒体服务和 AWS Elemental 集成,快速开始流式传输,持续播放视频,并将高质量的视频分发到任何设备。

分发补丁和更新:自动扩展,以高传输速率大规模交付软件、游戏补丁和 IoT 空中下载 (OTA) 更新。

问:如何开始使用 Amazon CloudFront?

单击 Amazon CloudFront 详情页面上的 “Create a Free Account”(创建免费账户)按钮。如果您选择使用其他亚马逊云科技服务作为通过 Amazon CloudFront 提供的文件的来源,则必须在创建 CloudFront 分发之前注册该服务。

问:如何使用 Amazon CloudFront?

要使用 Amazon CloudFront,您需要:

  • 对于静态文件,请将文件的最终版本存储在一个或多个源服务器中。它们可以是 Amazon S3 存储桶。对于动态生成的个性化或自定义内容,您可以使用 Amazon EC2 或任何其他 Web 服务器作为源服务器。这些源服务器将存储或生成将通过 Amazon CloudFront 分发的内容。
  • 通过简单的 API 调用,向 Amazon CloudFront 注册您的源服务器。此调用将返回一个 CloudFront.cn 域名,您可以使用该域名通过 Amazon CloudFront 服务从源服务器分发内容。例如,您可以将 Amazon S3 存储桶“bucketname.s3.cn-north-1.amazonaws.com.cn”注册为所有静态内容的来源,并为所有动态内容注册一个 Amazon EC2 实例“dynamic.myoriginserver.com”。然后,您可以使用 API 或 Amazon 管理控制台创建一个 Amazon CloudFront 分发,该分发可能会返回“abc123.cloudfront.cn”作为分发域名。
  • 在您的 Web 应用程序、媒体播放器或网站中包含 cloudfront.cn 域名或您创建的别名记录别名。使用 cloudfront.cn 域名(或您设置的别名记录)发出的每个请求都会被路由到最适合以最高性能分发内容的边缘站点。边缘站点将尝试使用文件的本地副本来处理请求。如果本地副本不可用,Amazon CloudFront 将从来源获取一份副本。然后,该副本就可以在该边缘站点上使用,以备将来请求之用。

问:Amazon CloudFront 如何降低我通过互联网分发内容的成本?

像其他亚马逊云科技服务一样,Amazon CloudFront 没有最低承诺,仅按实际使用量向您收费。与自行托管相比,Amazon CloudFront 使您免除了在互联网上的多个站点中运行缓存服务器网络的费用和复杂性,并且无需为应对潜在的流量峰值而过度预置容量。Amazon CloudFront 还使用一些技术,例如将边缘站点对同一文件的同步查看者请求折叠为对源服务器的单个请求。这样可以减少源服务器的负载,从而减少扩展源基础设备的需求,进而进一步节省成本。

问:Amazon CloudFront 如何加快我的整个网站的速度?

Amazon CloudFront 使用您在文件上设置的标准缓存控制标头来识别静态和动态内容。使用单个 Amazon CloudFront 分发来交付所有内容有助于确保将性能优化应用于整个网站或 Web 应用程序。使用亚马逊云科技源时,由于我们能够跟踪和调整源路由、监控系统运行状况、在出现任何问题时快速响应,以及将 Amazon CloudFront 与其他亚马逊云科技服务集成,您将受益于改进的性能、可靠性和易用性。您还可以受益于对单个站点上的不同类型的内容使用不同的源(例如,Amazon S3 用于静态对象,Amazon EC2 用于动态内容,自定义源用于第三方内容),且只需按实际使用量付费。

问:Amazon CloudFront 与 Amazon S3 有何不同?

Amazon CloudFront 是分发受益于边缘交付的经常访问的静态内容(如热门网站图片、视频、媒体文件或软件下载)的不错选择。

问:Amazon CloudFront 与传统的内容分发解决方案有何不同?

Amazon CloudFront 可让您快速获得高性能内容分发带来的好处,而无需商定合同或支付高昂的价格。Amazon CloudFront 采用自助服务模式,让所有开发人员都能享受低廉的随用随付定价。开发人员还可以从与其他亚马逊云科技服务的紧密集成中受益。该解决方案易于将 Amazon S3、Amazon EC2 和 Elastic Load Balancing 用作源服务器,为开发人员提供了持久存储和高性能交付的强大组合。Amazon CloudFront 还与 Amazon Route 53 和 Amazon CloudFormation 集成,以进一步提高性能和简化配置。

问:Amazon CloudFront 支持哪些类型的内容?

Amazon CloudFront 支持可以使用 HTTP 或 WebSocket 协议发送的内容。这包括动态网页和应用程序,例如 HTML 或 PHP 页面或基于 WebSocket 的应用程序,以及作为 Web 应用程序一部分的任何常用静态文件,例如网站图像,音频,视频,媒体文件或软件下载。Amazon CloudFront 还支持通过 HTTP 传输实时或点播媒体流。

问:Amazon CloudFront 是否能与非亚马逊云科技源服务器配合使用?

Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,可提供业界领先的可扩展性、数据可用性、安全性和性能。您可以通过 Amazon S3 随时在任何位置存储和检索的任意大小的数据。


Amazon CloudFront 是一个内容分发网络,可与任何保存可存储在 S3 中的内容的原始最终版本的源服务器配合使用。

问:Amazon CloudFront 如何启用源冗余?

对于添加到 CloudFront 分发的每个源,您可以分配一个备份源,以便在主源不可用时自动为流量提供服务。您可以选择 HTTP 4xx/5xx 状态代码的组合,当从主源返回时,这些代码会触发到备份源的故障转移。这两个源可以是亚马逊云科技和非亚马逊云科技源的任意组合。

问:Amazon CloudFront 是否提供服务等级协议 (SLA)?

可以。如果客户的月度正常运行时间百分比在任何账单周期内低于我们的服务承诺,Amazon CloudFront SLA 将提供服务补偿。

问:我能否将亚马逊云科技管理控制台与 Amazon CloudFront 结合使用?

可以。您可以使用 Amazon 管理控制台通过简单的点击式 Web 界面管理 Amazon CloudFront。Amazon 管理控制台支持 Amazon CloudFront 的大部分功能,让您无需编写任何代码或安装任何软件即可获得 Amazon CloudFront 的低延迟分发。 

问:我可以将我的机构根网域(example.com 与 www.example.com)指向我的 Amazon CloudFront 分配吗?

可以。通过使用亚马逊云科技的权威 DNS 服务 Amazon Route 53,您可以配置“别名”记录,以便将 DNS 名称的顶点或根 (example.com) 映射到您的 Amazon CloudFront 分发。然后,Amazon Route 53 将使用适用于您的 CloudFront 分发的正确 IP 地址来响应对别名记录的每个请求。Route 53 不对查询映射到 CloudFront 分配的“别名”记录收费。这些查询在 Amazon Route 53 使用情况报告中列为“Intra- Amazon Web Services -DNS-Queries”。

边缘站点

问:我能否向最终用户发送自定义错误消息?

是的,您可以使用自己的品牌和内容为各种 HTTP 4xx 和 5xx 错误响应创建自定义错误消息(例如 HTML 文件或 .jpg 图形)。然后,您可以将 Amazon CloudFront 配置为在源向 CloudFront 返回指定错误之一时,将您的自定义错误消息返回给查看器。

问:Amazon CloudFront 会将我的文件保存在边缘站点多长时间?

默认情况下,如果未设置缓存控制标头,则每当边缘站点在上次检查源文件是否有更改后超过 24 小时收到请求时,都会检查该文件的更新版本。这就是所谓的“过期时段”。 您可以通过在源中的文件上设置缓存控制标头来将此过期时段设置为 0 秒,也可以根据需要设置任意长度。Amazon CloudFront 使用这些缓存控制标头来确定检查源以获取该文件的更新版本需要多长时间。对于设置为 0 秒的过期时段,Amazon CloudFront 将重新验证向源服务器发出的每个请求。如果您的文件不经常更改,则最佳做法是设置较长的过期时段并实施版本控制系统来管理文件的更新。

问:如何从 Amazon CloudFront 边缘站点中删除项目?

从边缘站点中移除文件有多种选择。您只需从源中删除文件,当边缘站点中的内容达到每个对象的 HTTP 标头中定义的过期时段时,该文件将被删除。如果需要在指定的过期时间之前移除攻击性或可能有害的材料,您可以使用失效 API 将对象从所有 Amazon CloudFront 边缘站点移除。您可以在此处查看提出失效请求的费用。

问:我可以提出的失效请求的数量是否有限制?

如果您要单独使对象失效,则每次分发最多可以处理 3000 个对象的失效请求。这可以是针对最多 3000 个对象的一个失效请求,每个对象最多 3000 个请求,或者不超过 3000 个对象的任何其他组合。

如果您使用 * 通配符,则一次最多可以请求 15 条失效路径。您还可以同时为每个分发处理最多 3000 个单独对象的失效请求;通配符失效请求的限制与单独使对象逐个失效的限制无关。如果超过此限制,则在之前的某个请求完成之前,进一步的失效请求将收到错误响应。

只有在意外情况下才应使用失效;如果您事先知道需要频繁地从缓存中删除文件,建议您为文件实施版本控制系统和/或设置较短的过期时段。

WebSocket

问:什么是 WebSockets?

WebSocket 是一种实时通信协议,它通过长期保持的 TCP 连接在客户端和服务器之间提供双向通信。通过使用持久开放连接,客户端和服务器可以相互发送实时数据,而无需客户端频繁地重新启动连接来检查要交换的新数据。WebSocket 连接通常用于聊天应用程序,协作平台,多人游戏和金融交易平台。请参阅我们的文档,详细了解如何将 WebSocket 协议与 Amazon CloudFront 结合使用。 

问:WebSocket 连接何时通过 Amazon CloudFront 建立?

只有当客户端包含“Upgrade: websocket”标头并且服务器以 HTTP 状态代码 101 进行响应,确认它可以切换到 WebSocket 协议时,Amazon CloudFront 才会建立 WebSocket 连接。

问:Amazon CloudFront 是否支持基于 TLS 的安全 WebSockets?

可以。Amazon CloudFront 支持使用 SSL/TLS 协议的加密 WebSocket 连接 (WSS)。

安全性

问:什么是字段级加密?

字段级加密是 CloudFront 的一项功能,允许您安全地将用户提交的数据(如信用卡号)上传到源服务器。使用此功能,在将 PUT/ POST 请求转发到源之前,您可以使用字段特定的加密密钥(由您提供)进一步加密 HTTPS 表单中的敏感数据。这可确保敏感数据只能由应用程序堆栈中的某些组件或服务解密和查看。要了解有关字段级加密的更多信息,请参阅我们文档中的字段级加密

问:我已经在 CloudFront 中使用了 SSL/TLS 加密,是否还需要字段级加密?

许多 Web 应用程序从用户那里收集信用卡号等敏感数据,然后由在源基础设施上运行的应用程序服务进行处理。所有这些 Web 应用程序在最终用户和 CloudFront 之间以及 CloudFront 和您的源之间都使用 SSL/TLS 加密。现在,您的源可以有多个根据用户输入执行关键操作的微服务。但是,通常敏感信息只需要这些微服务中的一小部分使用,这意味着大多数组件都可以毫无理由地直接访问这些数据。简单的编程错误(例如记录错误的变量)可能会导致客户的信用卡号被写入文件。

通过字段级加密,CloudFront 的边缘站点可以对信用卡数据进行加密。从那时起,只有拥有私有密钥的应用程序才能解密敏感字段。因此,订单履行服务只能查看加密的信用卡号,但付款服务可以解密信用卡数据。这样可以确保更高级别的安全性,因为即使其中一个应用程序服务泄露了密文,数据仍受到加密保护。

问:SNI 自定义 SSL 和 Amazon CloudFront 的专用 IP 自定义 SSL 有什么区别?

专用 IP 自定义 SSL 会分配专用 IP 地址,以便在每个 CloudFront 边缘站点提供您的 SSL 内容。由于 IP 地址和 SSL 证书之间存在一对一的映射关系,因此专用 IP 自定义 SSL 适用于浏览器和其他不支持 SNI 的客户端。

SNI 自定义 SSL 依赖于传输层安全协议的 SNI 扩展,该协议允许多个域通过包括查看者尝试连接的主机名的方式,通过同一 IP 地址提供 SSL 流量。与专用 IP 自定义 SSL 一样,CloudFront 从每个 Amazon CloudFront 边缘节点分发内容,其安全性与专用 IP 自定义 SSL 功能相同。SNI 自定义 SSL 适用于大多数现代浏览器,包括 Chrome 版本 6 及更高版本(在 Windows XP 及更高版本或 OS X 10.5.7 及更高版本上运行)、Safari 版本 3 及更高版本(在 Windows Vista 及更高版本或 Mac OS X 10.5.6 及更高版本上运行)、Firefox 2.0 及更高版本以及 Internet Explorer 7 及更高版本(在 Windows Vista 及更高版本上运行)。不支持 SNI 的旧版浏览器无法与 CloudFront 建立连接来加载内容的 HTTPS 版本。除了标准的 CloudFront 数据传输和请求费用外,SNI 自定义 SSL 无需支付额外费用。

问:什么是服务器名称指示?

服务器名称指示 (SNI) 是传输层安全性 (TLS) 协议的扩展。此机制可识别关联的 SSL 请求的域(服务器名称),以便在 SSL 握手中使用正确的证书。这允许在多个服务器上使用单个 IP 地址。SNI 需要浏览器支持才能添加服务器名称,虽然大多数现代浏览器都支持它,但有一些旧版浏览器不支持。有关更多详细信息,请参阅 CloudFront 开发人员指南的 SNI 部分。

缓存

问:我能否添加或修改转发到源的请求标头?

可以,您可以将 Amazon CloudFront 配置为向转发到源的请求添加自定义标头或覆盖现有标头的值。您可以使用这些标头来帮助验证向您的源发出的请求是否是从 CloudFront 发送的;您甚至可以将源配置为仅允许包含您指定的自定义标头值的请求。此外,如果您使用具有相同源的多个 CloudFront 分配,则可以使用自定义标头来区分每个不同分配发出的源请求。最后,自定义标头可用于帮助确定为您的请求返回的正确 CORS 标头。您可以通过 CloudFront API 和 Amazon 管理控制台配置自定义标头。此功能不收取额外费用。有关如何设置自定义标头的更多详细信息,您可以在此处阅读更多信息。

问:Amazon CloudFront 如何处理 HTTP cookie?

Amazon CloudFront 支持分发使用 HTTP cookie 自定义或个性化的动态内容。要使用此功能,您需要指定是否希望 Amazon CloudFront 将您的部分或全部 cookie 转发到您的自定义源服务器。然后,在识别缓存中的唯一对象时,Amazon CloudFront 会考虑转发的 cookie 值。通过这种方式,您的最终用户既可以享受通过 cookie 专为其量身定制的内容带来的好处,又可以获得 Amazon CloudFront 的性能优势。您也可以选择在 Amazon CloudFront 访问日志中记录 cookie 值。

问:Amazon CloudFront 如何处理 URL 中的查询字符串参数?

可以选择将查询字符串配置为缓存密钥的一部分,以识别 Amazon CloudFront 缓存中的对象。这有助于您构建动态网页(例如搜索结果),这些网页可能会在边缘缓存一段时间。

问:我能否指定在缓存密钥中使用哪些查询参数?

可以,通过查询字符串白名单功能,您可以轻松地将 Amazon CloudFront 配置为仅使用缓存密钥中的特定参数,同时仍将所有参数转发到源。

问:可以列入白名单的查询参数的数量是否有限制?

是,您可以将 Amazon CloudFront 配置为最多将 10 个查询参数列入白名单。

问:支持哪些参数类型?

Amazon CloudFront 支持 RFC3986 第 3.4 节中定义的 URI 查询参数。具体来说,它支持嵌入在 HTTP GET 字符串中的“?”之后的查询参数字符,并用“&”字符分隔。

问:CloudFront 是否支持 gzip 压缩?

是的,CloudFront 可以自动压缩您的文本或二进制数据。要使用该功能,只需在缓存行为设置中指定您希望 CloudFront 自动压缩对象,并确保您的客户端在请求标头中添加 Accept-Encoding: gzip(大多数现代 Web 浏览器默认会这样做)。有关此功能的更多信息,请参阅我们的开发人员指南

流式传输

问:什么是流式传输? 我为什么要进行流式传输?

通常,流式传输是指通过 Internet 向最终用户分发音频和视频,而无需在播放之前下载媒体文件。用于流式传输的协议包括使用 HTTP 进行分发的协议,例如 Apple 的 HTTP Live Streaming (HLS)、通过 HTTP 的 MPEG 动态自适应流媒体 (MPEG-DASH)、Adobe 的HTTP 动态流媒体 (HDS) 和 Microsoft 的 Smooth Streaming。这些协议不同于网页和其他在线内容的分发,因为流式传输协议实时分发媒体——观众在字节被分发时观看它们。流式传输内容对您和您的最终用户有几个潜在的好处:

  • 流式传输可以让观众更好地控制自己的观看体验。例如,与使用传统的下载分发相比,使用流式传输时,观看者更容易在视频中向前和向后搜索。
  • 流式传输可以让您更好地控制自己的内容,因为观看者观看完视频后,客户端或本地驱动器上不会保留任何文件。
  • 流式传输可以帮助您降低成本,因为它只传输观看者实际观看的媒体文件部分。相比之下,与传统下载相比,通常整个媒体文件都会传输给观众,即使他们只观看文件的一部分。

计费

问:如何为使用 Amazon CloudFront 付费?

Amazon CloudFront 的收费基于以下四个方面的服务实际使用量:数据传出至互联网、数据传出到源、HTTP/HTTPS 请求和失效请求。

  • 数据传出至互联网
    您需要为从 Amazon CloudFront 边缘站点传出的数据量付费,以 GB 为单位测量。您可以在此处查看 Amazon CloudFront 数据传输到互联网的费率。
  • 数据传出至源服务器
    您需要支付从 Amazon CloudFront 边缘站点传输到您的源(包括亚马逊云科技源服务器和其他源服务器)的数据量(以 GB 为单位)的费用。您可以在此处查看 Amazon CloudFront 数据传输到源服务器的费率。
  • HTTP/HTTPS 请求
    您需要为针对您的内容向 Amazon CloudFront 发出的 HTTP/HTTPS 请求次数付费。您可以在此处查看 HTTP/HTTPS 请求的费率。
  • 失效请求
    在失效请求中,您需要按路径付费。失效请求中列出的路径表示要从 CloudFront 缓存中使之失效对象的 URL(如果路径包含通配符,则表示多个 URL)。您每月最多可以从 Amazon CloudFront 请求 1000 条路径,无需额外付费。除了前 1000 条路径之外,将按失效请求中列出的路径向您收费。您可以在此处查看失效请求的费率。

问:你们的价格是否包括税金?

除非另有说明,否则我们的价格不包括适用的税费和关税(包括增值税和适用销售税)。

问:304 响应如何收费?

HTTP/HTTPS 请求和数据传出到互联网。304 响应不包含消息正文;但是,HTTP 标头将消耗一些带宽,您需要为此支付标准的 CloudFront 数据传输费用。数据传输量取决于与对象关联的标头。

开始使用亚马逊云科技免费构建

开始使用亚马逊云科技免费构建

关闭
热线

热线

1010 0766
由光环新网运营的
北京区域
1010 0966
由西云数据运营的
宁夏区域