一般性问题

问:什么是 Amazon CloudFront?

Amazon CloudFront 是一种 Web 服务,为企业和 Web 应用程序开发人员提供一种简单且经济高效的内容分配方法,不仅延迟低,而且数据传输速度高。与其他 AWS 产品一样,Amazon CloudFront 也是一种按用量付费的自助服务,无需长期承诺或最低费用。使用 CloudFront,您的文件将通过一个全球边缘站点网络来传输至最终用户。

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

Amazon CloudFront 提供简单的 API,让您能够:

  • 使用遍布全球的边缘站点网络来处理请求,从而以低延迟和高数据传输速率来分发内容。
  • 无需就合同和最低承诺进行谈判,即可开始使用。

问:如何开始使用 Amazon CloudFront?

在 Amazon CloudFront 详细信息页面上,单击的“创建免费账户”按钮。如果您选择使用其他 AWS 产品作为通过 Amazon CloudFront 提供的文件的来源,那在创建 CloudFront 分配之前,您必须注册该服务。

问:如何使用 Amazon CloudFront?

要使用 Amazon CloudFront,您必须按以下步骤操作:

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

问:Amazon CloudFront 如何提供更高性能?

Amazon CloudFront 采用边缘站点和区域性边缘缓存的全球网络,可缓存您的内容副本以更靠近读者。Amazon CloudFront 确保将由距离最近的边缘站点来处理最终用户请求。由此,传输读者请求的距离变短,Amazon CloudFront 也为读者提升了性能。对于没有缓存在边缘站点和区域性边缘缓存上的文件,Amazon CloudFront 将与您的原始服务器保持永久连接,以便尽快从原始服务器提取这些文件。最后,Amazon CloudFront 使用其他优化措施(例如更广的 TCP 初始拥塞窗口),在将您的内容传输至查看者时提供更高的性能。

问:Amazon CloudFront 如何降低通过 Internet 分配内容的成本?

与其他 AWS 产品一样,Amazon CloudFront 没有最低承诺,您只需为自己的服务用量付费。与自托管相比,Amazon CloudFront 无需您运行分布在 Internet 上多个站点的缓存服务器网络,从而避免了相关开支和复杂性,也无需您过高预置容量以便处理可能出现的流量峰值。Amazon CloudFront 还运用了多种技术,例如,将在一个边缘站点上针对同一文件发出的多个同步查看者请求重叠到向原始服务器发出的单个请求中。这样可以降低原始服务器上的负载,从而减少扩展原始基础设施的需求,实现进一步成本节省。

此外,如果您正在使用的是 AWS 原始服务器(如 Amazon S3、Amazon EC2 等),并且是 2014 年 12 月 1 日生效的,我们不再收取向 Amazon CloudFront 传输 AWS 数据的费用。这适用于从所有 AWS 区域向全球 CloudFront 边缘站点的数据传输。

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

Amazon CloudFront 使用您为文件设置的标准缓存控制标头来识别静态内容和动态内容。使用单个 Amazon CloudFront 分发来传输您的所有内容,这有助于确保将性能优化应用于整个网站或 Web 应用程序。使用 AWS 原始服务器时,由于 AWS 能够跟踪和调节原始路由、监控系统运行状况并在出现任何问题时快速响应,而且 Amazon CloudFront 与其他 AWS 产品相集成,因而性能、可靠性和易用性得到了改进,让您从中受益。您可以享受到的还包括针对单个站点上的不同类型内容使用不同来源 – 例如将 Amazon S3 作为静态数据元来源、将 Amazon EC2 作为动态内容来源、将自定义来源用于第三方内容 – 而只需为实际用量付费。

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

Amazon CloudFront 是分发经常访问的静态内容的理想之选,可从边缘站点传输中受益 – 例如常用的网站图像、视频、多媒体文件或软件下载。

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

Amazon CloudFront 让您能够快速获得高性能内容传输的优势,而无需谈判合同,也无需支付高价格。Amazon CloudFront 让所有开发人员能够在自助服务模式下享受仅按实际用量付费的低定价。它还与其他 Amazon Web Services 紧密集成,让开发人员从中受益。该解决方案能够作为原始服务器简单地与 Amazon S3、Amazon EC2 和 Elastic Load Balancing 配合使用,为开发人员提供持久化存储与高性能传输的强大结合。Amazon CloudFront 还与 Amazon Route 53 和 AWS CloudFormation 相集成,提供进一步性能优势和简单配置。

问:Amazon CloudFront 支持什么类型的内容?

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

问:Amazon CloudFront 是否可与非 AWS 原始服务器配合使用?

是。Amazon CloudFront 可与保存原始、最终版本内容(包括静态和动态)的任何原始服务器配合使用。使用自定义原始服务器不收取任何额外费用。

问:Amazon CloudFront 如何启用原始服务器冗余?

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

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

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

问:可以将 AWS 管理控制台与 Amazon CloudFront 配合使用吗?

是。您可以使用 AWS 管理控制台,通过简单的点击式 Web 界面来配置和管理 Amazon CloudFront。AWS 管理控制台支持 Amazon CloudFront 的大部分功能,让您能够利用 Amazon CloudFront 的低延迟传输,而无需编写任何代码或安装任何软件。您可以免费访问 AWS 管理控制台,网址为 https://console.aws.amazon.com

问:哪些工具和库适用于 Amazon CloudFront?

在我们的资源中心,提供了各种用于管理 Amazon CloudFront 分发的工具和适用于各种编程语言的库。

问:是否可以将我的域顶点(example.com 与 www.example.com 相比)指向我的 Amazon CloudFront 分配?

是。通过使用 AWS 权威的 DNS 服务 Amazon Route 53,您可以配置别名记录,并允许您将您的 DNS 名称的顶点或根(example.com)映射到您的 Amazon CloudFront 分发上。然后,Amazon Route 53 将针对您的 CloudFront 分发,使用正确的 IP 地址响应每个 Alias 记录请求。Route 53 对映射到 CloudFront 分配的别名记录的查询不收取费用。这些查询在 Amazon Route 53 使用率报告中列为“Intra-AWS-DNS-Queries”。

边缘站点

问:CloudFront 区域性边缘缓存站点是什么?

CloudFront 通过全球数据中心(称作边缘站点)网络传输内容。区域性边缘缓存站点位于原始 Web 服务器和全球边缘站点之间,直接向读者提供内容。这可帮助提升读者的体验,同时降低扩展原始资源的运营负担和成本。

问:区域性边缘缓存如何运行?

Amazon CloudFront 拥有多个分散到全球的区域性边缘缓存(REC),提供额外的缓存层。它们位于您的应用程序 Web 服务器和直接向用户提供内容的入网点(POP)之间。如果缓存对象不再那么受欢迎,各个边缘站点可以移除这些对象,从而为更常请求的内容腾出空间。区域性边缘缓存的缓存宽度比任何单个边缘站点都更大,因此对象会缓存更长时间。这有助于让更多内容更为靠近读者,减少 CloudFront 返回原始 Web 服务器的需要,提升读者阅读体验。例如,欧洲的 CloudFront 边缘站点现在会转到法兰克福的区域性边缘缓存站点来提取对象,然后再返回您的原始 Web 服务器。区域性边缘缓存地点可用于任何来源,例如 S3、EC2 或自定义来源。在您的应用程序来源当前所在的区域中会跳过 REC。

问:是否默认启用区域性边缘缓存功能?

是。您无需对 CloudFront 分发进行任何更改;已为所有新的和现有的 CloudFront 分发默认启用本功能。使用此功能不会产生额外的费用。

问:Amazon CloudFront 使用的边缘网络站点位于哪里?

Amazon CloudFront 使用全球边缘站点和区域性边缘缓存站点的网络进行内容分发。您可以在此处查看 Amazon CloudFront 站点的完整列表。

问:我可以选择向指定国家/地区提供内容(或不向其提供内容)吗?

可以,利用 Geo Restriction 功能可以让您指定用户可以访问您的内容的国家/地区列表。或者,您也可以指定用户不可以访问您的内容的国家/地区列表。在这两种情况中,CloudFront 均以 HTTP 状态代码 403(禁止)响应来自受限制国家/地区的查看者的请求。

问:您的 GeoIP 数据库的准确程度如何?

国家/地区查找数据库的 IP 地址准确性因地区而异。根据最近的测试,我们所提供的 IP 地址与国家/地区映射的总体准确性为 99.8%。

问:我可以向我的最终用户提供自定义错误消息吗?

可以,您可以针对各种 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 个单独对象提出无效请求,而通配符无效请求的限制与个别失效对象限制无关。如果您超过此限制,额外的无效请求将收到错误响应,直至先前的某个请求完成。

无效请求应仅在意外情况下使用;如果您事先知道您的文件需要经常从缓存中删除,建议您为文件实施版本控制系统和/或设置较短的有效期限。

嵌入式入网点

问:什么是 CloudFront 嵌入式入网点(POP)?

CloudFront 嵌入式入网点(POP)是一种 CloudFront 基础设施,部署在距离终端观众最近的位置,位于互联网服务提供商(ISP)和移动网络运营商(MNO)网络中。嵌入式 POP 是定制的,可提供大规模直播视频、视频点播(VOD)和游戏下载。这些嵌入式 POP 由 Amazon 拥有和运营,部署在 ISP/MNO 网络的最后一英里,以避免将最终查看者连接到内容源的拥塞网络中出现容量瓶颈,从而提高性能。

问:CloudFront 嵌入式 POP 与 CloudFront POP 有什么不同?

CloudFront 嵌入式 POP 与 CloudFront POP 的不同之处在于它们的部署位置和交付的内容。CloudFront 嵌入式 POP 直接部署在 ISP 和 MNO 网络中,这与部署在 AWS 网络中的 CloudFront POP 不同。嵌入式 POP 专为提供大规模可缓存流量(例如视频流和游戏下载)而构建,而 CloudFront POP 旨在提供各种工作负载,包括可缓存内容和动态内容。

问:哪些工作负载最适合 CloudFront 嵌入式 POP?

CloudFront 嵌入式 POP 旨在提供可供许多最终观看者同时访问的可缓存内容,例如大规模直播、视频点播和游戏下载。

问:使用嵌入式 POP 是否需要单独付费?

不需要,使用 CloudFront 嵌入式 POP 无需支付任何其他费用。

问:如何获得嵌入式 POP 的访问权限?

嵌入式 POP 是一种可选功能,旨在提供大规模可缓存流量。请联系您的 AWS 销售代表,评估嵌入式 POP 是否适合您的工作负载。

问:我是否需要专门为 CloudFront 嵌入式 POP 创建新的 CloudFront 分配?

不,无需专门为嵌入式 POP 创建新的分配。如果您的工作负载符合条件,CloudFront 将根据请求为您的现有分配启用嵌入式 POP。

问:我是否需要在 CloudFront 嵌入式 POP 和 CloudFront POP 之间做出取舍?

对于内容交付,您不必在 CloudFront 嵌入式 POP 或 CloudFront POP 之间做出取舍。一旦您的 CloudFront 分配启用了嵌入式 POP,CloudFront 的路由系统就会动态利用 CloudFront POP 和嵌入式 POP 来传送内容,从而确保最终用户获得最佳性能。

问:我是一名 ISP,如何开始向我的网络添加嵌入式 POP?

联系我们,以开始在您的网络中部署嵌入式 POP。

问:我是一名互联网服务提供商,如何管理网络中的嵌入式 POP?

您可以使用嵌入式 POP 门户管理部署在网络中的嵌入式 POP。嵌入式 POP 门户与 AWS 互连门户集成,并提供统一的界面,可以轻松自助完成与这些 POP 整个生命周期相关的各种任务。这包括申请新设备、跟踪请求进度、监控性能统计数据和请求支持。您可以使用 PeeringDB 账户,通过单点登录(SSO)身份验证来访问门户

合规性

问:Amazon CloudFront 是否符合 PCI 规范?

Amazon CloudFront [不包括通过 CloudFront 嵌入式 POP 进行的内容交付] 包含在符合支付卡行业数据安全标准(PCI DSS)商家第 1 级(服务提供商需要遵循的最高级别)的服务集中。有关更多信息,请参阅开发人员指南

问:Amazon CloudFront 是否符合 HIPAA 要求?

AWS 已对其 HIPAA 合规性计划进行扩展,其中已将 Amazon CloudFront [不包括通过 CloudFront 嵌入式 POP 进行的内容交付] 作为一项符合 HIPAA 要求的服务包括进来。如果您已与 AWS 签订商业合伙协议(BAA),则可以使用 Amazon CloudFront [不包括通过 CloudFront 嵌入式 POP 进行的内容交付] 来加快交付受保护健康信息(PHI)。 有关更多信息,请参阅 HIPAA 合规性和我们的开发人员指南

问:Amazon CloudFront 是否符合 SOC 规范?

Amazon CloudFront [不包括通过 CloudFront 嵌入式 POP 进行的内容交付] 符合 SOC(系统和组织控制)措施。SOC 报告是独立的第三方检查报告,阐明 AWS 如何达成关键合规性控制和目标。 有关更多信息,请参阅AWS SOC 合规性和我们的开发人员指南

问:如何申请一份 AWS SOC 1、SOC 2 或 SOC 3 报告?

AWS SOC 1 和 SOC 2 报告面向使用 AWS Artifact 的客户提供。AWS Artifact 是一个自助服务门户,借此可按照需要访问 AWS 的合规性报告。您可以登录 AWS 管理控制台中的 AWS Artifact,或 AWS Artifact 入门了解更多信息。AWS 网站公开发布了最新的AWS SOC 3 报告

HTTP、HTTP/2 和 HTTP/3

问:Amazon CloudFront 支持哪些类型的 HTTP 请求?

目前,Amazon CloudFront 支持 GET、HEAD、POST、PUT、PATCH、DELETE 和 OPTIONS 请求。

问:Amazon CloudFront 是否缓存 POST 响应?

Amazon CloudFront 不会缓存对 POST、PUT、DELETE 和 PATCH 请求的响应,因为这些请求会通过代理返回原始服务器。您可以启用缓存来响应 OPTIONS 的请求。

问:如何使用 HTTP/2?

如果您已有 Amazon CloudFront 分配,则可以使用 API 或管理控制台启用 HTTP/2。在控制台中,转到“Distribution Configuration”页面,然后转到“Supported HTTP Versions”部分。 在该部分中,您可以选择“HTTP/2”、“HTTP/1.1”或“HTTP/1.0”。对于所有新的 CloudFront 分配,HTTP/2 自动处于启用状态。

问:如果我的原始服务器不支持 HTTP/2,该怎么办?

Amazon CloudFront 目前支持使用 HTTP/2 向浏览者的客户端和浏览器分发内容。Amazon CloudFront 将继续使用 HTTP/1.1 传送边缘站点与您的原始服务器之间的通信内容。

问:Amazon CloudFront 是否支持不采用 TLS 的 HTTP/2?

暂时不能。不过,大多数现代浏览器只能通过加密连接支持 HTTP/2。您可以单击此处详细了解如何结合使用 SSL 和 Amazon CloudFront。

问:什么是 HTTP/3?

HTTP/3 超文本传输协议的第三个主要版本。HTTP/3 使用 QUIC,这是一种基于用户数据报协议 (UDP) 的流多路复用安全传输协议,结合并改进了现有传输控制协议(TCP)、TLS 和 HTTP/2 的功能。与以前的 HTTP 版本相比,HTTP/3 提供了一些优势,包括更快的响应时间和增强的安全性。

问:什么是 QUIC?

HTTP/3 由 QUIC 提供支持,它是一个新型的高性能、弹性且安全的互联网传输协议。CloudFront 对 HTTP/3 的支持基于 s2n-quic 构建,这是 Rust 中的一个新开源 QUIC 协议实现。要了解有关 QUIC 的更多信息,请参阅“s2n-quic 简介”博客。 

问:在 Amazon CloudFront 中使用 HTTP/3 的主要好处有哪些?

客户不断寻求为其最终用户提供更快、更安全的应用程序。随着全球互联网普及率的提高,越来越多的用户通过手机和远程网络上网,对提高性能和可靠性的需求比以往任何时候都更大。HTTP/3 实现了这一点,因为,与以前的 HTTP 版本相比,HTTP/3 具有多项性能改进:

  1. 更快、更可靠的连接 - CloudFront 使用 1-RTT 进行 HTTP/3 的 TLS 握手,与以前的 HTTP 版本相比,缩短了连接建立时间并相应地减少了握手失败。
  2. 更好的 Web 性能 - CloudFront 的 HTTP/3 实施支持客户端连接迁移,从而使客户端应用程序能够从连接不良中恢复,并且中断次数最少。与 TCP 不同的是,QUIC 不是无损的,因此,更适合于具有高数据包损失的拥塞网络。此外,QUIC 允许在 Wifi 或蜂窝传输中更快速地重新连接。
  3. 安全性 - 与先前版本的 HTTP 相比,HTTP/3 可以在 TLS 握手期间加密交换的数据包,从而提供更全面的安全性。这就使中间盒检查更难,从而提高了隐私性,减少了中间人攻击。CloudFront 对 HTTP/3 的支持基于 s2n-quic 和 Rust 构建,这两者都非常强调效率和性能。

问:如何在我的 CloudFront 分配上启用 HTTP/3?

您可以使用 CloudFront 控制台、UpdateDistribution API 操作或使用 Cloudformation 模板在新的和现有 Amazon CloudFront 分配中启用 HTTP/3。在控制台中,转到“Distribution Configuration”(分配配置)页面,然后转到“Supported HTTP Versions”(受支持的 HTTP 版本)部分。 在该部分中,您可以选择“HTTP/3, HTTP/2, HTTP/1.1, or HTTP/1.0”(HTTP/3、HTTP/2、HTTP/1.1 或 HTTP/1.0)。

问:在启用 HTTP/3 之前,我是否需要更改我的应用程序?

在 CloudFront 分配上启用 HTTP/3 时,CloudFront 将会自动添加 Alt-Svc 标头,用于宣传 HTTP/3 支持可用,您无需手动添加 Alt-Svc 标头。我们希望您在应用程序中启用对多种协议的支持,如果应用程序未能建立 HTTP/3 连接,它将回退至 HTTP /1.1 或 HTTP/2,也就是说,不支持 HTTP/3 的客户端仍可以使用 HTTP/1.1 或 HTTP/2 与启用了 HTTP/3 的 CloudFront 分配的进行通信。回退支持是 HTTP/3 规范不可或缺的一部分,在支持 HTTP/3 的所有主要浏览器中均已实施。

问:如果我的原始服务器不支持 HTTP/3,该怎么办?

CloudFront 目前在查看者的客户端浏览器与 CloudFront 边缘站点之间的通信中支持 HTTP/3。CloudFront 将继续使用 HTTP/1.1 传送边缘站点与您的原始服务器之间的通信内容。

问:Amazon CloudFront 的 TLS 安全策略如何与 HTTP/3 交互?

HTTP/3 使用 QUIC,后者需要 TLSv1.3。因此,只有 TLSv1.3 和受支持的 TLSv1.3 密码组可用于建立 HTTP/3 连接,不受您选择的安全策略的影响。有关信息信息,请参阅《CloudFront 开发人员指南》中的“查看者与 CloudFront 之前的受支持协议和密码”部分。

问:启用 HTTP/3 是否会单独收费?

不会,在 Amazon CloudFront 分配上启用 HTTP/3 不会产生单独的费用。HTTP/3 请求将按照您的定价套餐中的请求价格收费。

WebSocket

问:什么是 WebSocket?

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

问: 如何启用 Amazon CloudFront 分发来支持 WebSocket 协议?

您可以在全局范围内使用 WebSocket,并且不需要额外的配置即可在 CloudFront 资源中启用 WebSocket 协议,因为它现在是默认受支持的。

问:什么时候通过 Amazon CloudFront 建立 WebSocket 连接?

Amazon CloudFront 仅在客户端包含“Upgrade: websocket”标头且服务器响应 HTTP 状态代码 101 以确认其可以切换到 WebSocket 协议时建立 WebSocket 连接。

问:Amazon CloudFront 是否支持通过 TLS 保护的 WebSocket?

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

安全性

问:是否可以将 CloudFront 分配配置为使用自己的域名通过 HTTPS 分发内容?

默认情况下,您可以在 URL 中使用 CloudFront 分配域名(例如 https://dxxxxx.cloudfront.net/image.jpg)通过 HTTPS 向浏览者分发内容。如果您想使用自己的域名和 SSL 证书通过 HTTPS 传送内容,则可以使用一项我们的自定义 SSL 证书支持功能。了解更多

问:什么是字段级加密?

字段级加密是 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 的浏览器和其他客户端。根据当前的 IP 地址成本,专用 IP 自定义 SSL 的费用按小时分配是每月 600 USD。

SNI 自定义 SSL 依赖于传输层安全性协议的 SNI 扩展,允许多个域通过相同的 IP 地址提供 SSL 流量,具体方法是包含查看器试图连接的主机名。与专用 IP 自定义 SSL 一样,CloudFront 也是从每个 Amazon CloudFront 边缘站点分发内容,同时具备与专用 IP 自定义 SSL 功能相同的安全性。SNI 自定义 SSL 可使用大部分现代浏览器,包括 Chrome V 6 和更高版本(运行于 Windows XP 和更高版本或 OS X 10.5.7 和更高版本上之上)、Safari V 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 部分,或 SNI Wikipedia 文章

问:CloudFront 是否与 AWS Certificate Manager 实现了集成?

是的,您现在可以预置 SSL/TLS 证书,并在几分钟内将其与 CloudFront 发布版关联起来。只需使用全新的 AWS Certificate Manager (ACM) 预置证书,然后单击几下鼠标将其部署到您的 CloudFront 发布版,之后让 ACM 为您管理证书更新即可。借助 ACM,您可以预置、部署并管理证书,且无需支付额外费用。

请注意,CloudFront 仍然支持使用您从第三方证书机构获得并上传至 IAM 证书存储的证书。

问:Amazon CloudFront 是否支持付费内容或私有内容的访问控制?

是,Amazon CloudFront 具有一项针对私有内容的可选访问控制功能。启用此选项时,Amazon CloudFront 将对您的请求进行安全签名,仅在您允许时才传输文件。通过阅读 CloudFront 开发人员指南了解此功能的更多信息。

问:如何保护我的 Web 应用程序在通过 CloudFront 传输信息时,免受 DDoS 攻击?

作为一名 AWS 客户,您可以免费获得 AWS Shield Standard。AWS Shield 是一项托管服务,用于保护 AWS 上运行的 Web 应用程序免受 DDoS 攻击。AWS Shield Standard 可以保护所有 AWS 客户免受常见的、最为频繁的基础设施层(第 3 层和第 4 层)攻击(如 SYN/UDP 洪泛、反射攻击和其他攻击),确保 AWS 上的应用程序具有较高的可用性。

AWS Shield Advanced 是一项可选的付费服务,面向 AWS 商业支持计划和 AWS 企业支持计划的客户提供。AWS Shield Advanced 能为 Elastic Load Balancing (ELB)、Amazon CloudFront 和 Route 53 上运行的应用程序提供额外保护,使其免受更大型、更复杂的攻击。

问:如何保护通过 CloudFront 分发的 Web 应用程序?

您可以将您的 CloudFront 分发与 AWS WAF 进行集成,AWS WAF 是一个 Web 应用程序防火墙,让您能够根据 IP 地址、HTTP 标头和自定义 URI 字符串配置规则,从而有助于保护 Web 应用程序免受攻击。借助这些规则,AWS WAF 能够阻止、允许或监控(统计)Web 应用程序的 Web 请求。要了解更多信息,请参阅 AWS WAF 开发人员指南

缓存

问:是否可以添加或修改转发到源的请求标头?

可以,对于转发到源的请求,您可以配置 Amazon CloudFront 以添加自定义标头,或覆盖现有标头的值。您可以使用这些标头帮助确认对源的请求发自 CloudFront;您甚至可以将自己的源配置为仅允许包含指定自定义标头值的请求。此外,如果要对同一个源使用多个 CloudFront 分配,您可以使用自定义标头来区分每个不同分配所发送的源请求。最后,自定义标头可用来帮助确定为您的请求返回的正确 CORS 标头。您可以通过 CloudFront API 和 AWS 管理控制台来配置自定义标头。此功能不会产生额外的费用。要详细了解如何设置自定义标头,您可以在此处阅读更多内容。

问:Amazon CloudFront 如何处理 HTTP Cookie?

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

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

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

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

可以。借助查询字符串白名单功能,您可以在缓存键中仅使用特定参数轻松配置 Amazon CloudFront,同时仍将所有参数转发到相应源中。

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

是的。配置 Amazon CloudFront 时,您最多可将 10 个查询参数添加到白名单。

问:支持哪些参数类型?

Amazon CloudFront 支持 URI 查询参数(如 RFC3986 的 3.4 节中所定义)。具体而言,它支持嵌入在 HTTP GET 字符串中“?”字符后,并通过“&”字符分隔的查询参数。

问:CloudFront 是否支持 Gzip 压缩?

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

流式传输

问:什么是流式处理? 为什么我需要流式处理?

通常情况下,流式处理指的是通过 Internet 向最终用户分发音频和视频,而无需在播放前下载媒体文件。用于流式处理的协议包括那些使用 HTTP 进行分发的协议,如 Apple 的 HTTP Live Streaming (HLS)、MPEG Dynamic Adaptive Streaming over HTTP (MPEG-DASH)、Adobe 的 HTTP Dynamic Streaming (HDS) 和 Microsoft Smooth Streaming。这些协议与网页和其他在线内容的分发不同,因为流式处理协议是实时分发媒体内容,查看者可在内容传输的同时进行观看。流式处理内容可为您和最终用户提供多种潜在优势:

  • 流式处理让查看者能够更多地控制观看体验。例如,与使用传统下载分发相比,使用流式处理让查看者能够更轻松地在视频中向前和向后搜寻。
  • 流式处理让您能够更好地控制内容,因为在查看者看完视频之后,其客户端或本地驱动器上不会留存任何文件。
  • 流式处理能够帮助您降低成本,因为它只分发查看者实际观看的那部分媒体文件。相反,传统下载通常会向查看者分发整个媒体文件,即便他们仅观看文件的一部分也是如此。

问:Amazon CloudFront 是否支持视频点播 (VOD) 流式处理协议?

支持。Amazon CloudFront 会为您提供多种选项,方便您分发点播视频内容。如果您的媒体文件在存储到 Amazon S3(或自定义源服务器)之前已经使用 AWS Elemental MediaConvert 等工具转换为 HLS、MPEG-DASH 或 Microsoft Smooth Streaming 格式,则您可以使用 Amazon CloudFront Web 分发来流式传输此格式文件,而无需运行任何媒体服务器。

另外,您还可以在 Amazon EC2 上运行第三方流式处理服务器(例如,AWS Marketplace 上提供的 Wowza Media Server),它会将媒体文件转换为所需的 HTTP 流格式。然后,可以将该服务器指定为 Amazon CloudFront Web 分发的原始服务器。

请在 AWS 页面访问视频点播 (VOD)了解更多信息。

问:Amazon CloudFront 是否支持将实时流传输到多个平台?

是。您可以将 Amazon CloudFront 实时流与任何可输出基于 HTTP 的流的实时视频创作服务结合使用,例如 AWS Elemental MediaPackageAWS Elemental MediaStore。MediaPackage 是一种视频创作和即时打包服务,支持视频分销商使用多种交付和内容保护标准,以安全可靠的方式大规模分发流内容。MediaStore 是一种 HTTP 创作和存储服务,可提供实时媒体所需的高性能、即时一致性和可预测的低延迟,以及安全持久的 Amazon 存储。

请访问 AWS 实时视频流页面,了解更多信息。

Origin Shield

问:什么是 Origin Shield?

Origin Shield 是一个集中化的缓存层,有助于提高缓存命中率,从而减少源服务器上的负载。Origin Shield 还可以跨区域折叠请求,以便只有一个请求传入每个对象的源服务器,从而降低源服务器的运维成本。启用后,CloudFront 会通过 Origin Shield 路由所有源服务器提取,并且如果内容尚未存储在 Origin Shield 缓存中,则 CloudFront 只会向源服务器发送一个请求。

问:我应何时使用 Origin Shield?

Origin Shield 非常适合观众分布在不同地理区域的工作负载,或者涉及视频流的即时打包、传输中图像处理或类似过程的工作负载。Origin Shield 置于源服务器之前将减少源服务器提取的冗余数量,方法是首先检查其中心缓存,并仅对 Origin Shield 缓存中尚未包含的内容进行合并的源服务器提取。类似地,Origin Shield 还可以在多 CDN 架构中使用,通过将 Amazon CloudFront 定位为其他 CDN 的源服务器,来减少跨 CDN 的重复源服务器提取次数。请参阅《Amazon CloudFront 开发人员指南》,了解与之相关的更多详细信息以及其他 Origin Shield 使用案例

问:我应使用哪个 Origin Shield 区域?

在 CloudFront 具有区域性边缘缓存的 AWS 区域中,Amazon CloudFront 提供 Origin Shield。当您启用 Origin Shield 时,应为 Origin Shield 选择对源服务器延迟最低的 AWS 区域。您可将 Origin Shield 用于 AWS 区域中的源服务器,也可以用于 AWS 之外的源服务器。有关更多信息,请参阅《Amazon CloudFront 开发人员指南》中的为 Origin Shield 选择 AWS 区域

问:Origin Shield 是否具有弹性和高可用性?

是的。所有 Origin Shield 区域均使用跨多个可用区的高度可用架构进行构建,并且具有 auto-scaling Amazon EC2 实例队列。如果 Origin Shield 主位置不可用,则从 CloudFront 位置到 Origin Shield 的连接还会对每个请求使用活动错误跟踪,从而将请求自动路由到 Origin Shield 备用位置。

限制

问:如果预期使用峰值高于 150Gbps 或 250000RPS,我可以使用 Amazon CloudFront 吗?

可以。请在此处填写提高限制请求,我们将在两个工作日之内为您的账户添加更多容量。

问:我的 Amazon CloudFront 账户可以传输的分发数量是否受到限制?

要了解您能为每个 AWS 账户创建的分发数量的当前限制,请参阅 Amazon Web Services 一般引用中的 Amazon CloudFront 限制。要请求提高限制,请填写 CloudFront 提高限制申请表

问:通过 Amazon CloudFront 最多能够传输多大的文件?

通过 Amazon CloudFront 最多能够传输 30 GB 大小的单个文件。此限制适用于所有 Amazon CloudFront 分发。

日志记录和报告

问:Amazon CloudFront 提供哪些日志记录功能?

当您创建或修改 CloudFront 分发时,您可以启用访问记录。CloudFront 提供了两种方式,用于记录从您的分发中发送的请求:标准日志实时日志

系统将 CloudFront 标准日志发送至您选择的 Amazon S3 存储桶(在查看器请求后的几分钟内就会发送日志记录)。启用后,CloudFront 将自动以 W3C 扩展格式将详细日志信息写入您指定的 Amazon S3 存储桶。访问日志包含有关对您内容的每个请求的详细信息,包括请求的数据元、请求的日期和时间、处理请求的边缘站点、客户端 IP 地址、引用网站、用户代理、Cookie 标头以及结果类型(例如缓存命中/未命中/错误)。针对标准日志,CloudFront 不收取费用,但存储和访问日志文件将产生 Amazon S3 费用。

系统将 CloudFront 实时日志发送到 Amazon Kinesis Data Streams 中您选择的数据流中(在查看器请求后的几秒钟内就会发送日志记录)。您可以选择实时日志的采样率 — 即希望接收实时日志记录的请求的百分比。您还可以选择希望在日志记录中接收的特定字段。CloudFront 实时日志包含与标准日志相同的所有数据点,同时包含关于每个请求的特定附加信息,如查看器请求标头和国家/地区代码(采用 W3C 扩展格式)。CloudFront 除了收取因使用 Kinesis 数据流产生的费用外,还针对实时日志进行收费。

问:如何确定使用案例的适当 CloudFront 日志?

您可以根据您的使用案例选择目标。如果您拥有时效性很强的使用案例且需要在几秒内快速访问日志数据,则选择实时日志。如果您需要成本更低的实时日志管道,您可以通过仅为特定缓存行为启用日志或选择较低的采样率来选择筛选日志数据。实时日志管道的构建是为了快速传送数据。因此,如果发生数据延迟,日志记录可能会被删除。另一方面,如果您需要低成本的日志处理解决方案且不需要实时数据,则您适合使用当前的标准日志选项。S3 中的标准日志为完整性而构建,且日志通常在几分钟内即可用。可以为整个分发启用这些日志,而不是特定的缓存行为。因此,如果您需要日志进行临时调查、审计和分析,您可以选择仅启用 S3 中的标准日志。您可以选择使用这两种日志的组合。使用经过筛选的实时日志列表,以获取操作可见性,然后使用标准日志进行审计。

问:有哪些可用的不同日志目标选项?
CloudFront 标准日志将传送到您的 S3 存储桶中。您还可以使用 DataDog 和 Sumologic 等第三方解决方案构建的集成来从这些日志中创建控制面板。

实时日志将传送到您的 Kinesis Data Stream。从 Kinesis Data Streams 中,可以将日志发布到 Amazon Kinesis Data Firehose。Amazon Kinesis Data Firehose 支持将日志轻松传送至 Amazon S3、Amazon Redshift、Amazon Elasticsearch Service 以及 Datadog、New Relic 和 Splunk 等服务提供商。Kinesis Firehose 还支持将数据传送到通用的 HTTP 终端节点。

问:我的 Kinesis Data Stream 中需要多少 Kinesis 分区?
使用下列步骤估算您需要的分区数量:

  1. 计算(或估算)您的 CloudFront 分发每秒钟接收的请求数。您可以使用 CloudFront 使用报告或 CloudFront 指标来帮助计算您每秒的请求数。
  2. 确定单个实时日志记录的典型大小。包含所有可用字段的一个典型记录约为 1KB。如果您不确定您的日志记录大小,您可以启用低采样率(例如 1%)的实时日志,然后使用 Kinesis Data Streams 中的监测数据计算记录平均大小(记录总数除以总的传入字节数)。
  3. 将每秒钟的请求数(从步骤 1 中)乘以典型的实时日志记录大小(从步骤 2 中),以确定您的实时日志配置每秒可能发送到 Kinesis 数据流的数据量。
  4. 使用每秒钟的数据量计算您需要的分区数量。单个分区每秒可处理不超过 1MB 的数据量及 1000 个请求(日志记录)。计算您需要的分区数量时,我们建议最多增加 25% 作为缓冲。

例如,假设您的分发每秒接收 10000 个请求,且您的实时日志记录的典型大小是 1KB。这意味着,您的实时日志配置每秒可以生成 10000000 个字节(10000 乘以 1000)或者 9.53MB 的数据量。在此情况下,您只需要 10 个 Kinesis 分区。您应该考虑至少创建 12 个分区,以便拥有一些缓冲区。

问:Amazon CloudFront 是否提供直接可用的报告,方便我了解与使用量、查看者和当前服务内容有关的更多信息?

是。Amazon CloudFront 提供多种解决方案满足您对报告功能的需求,包括接收详细缓存统计报告,监控 CloudFront 使用量,了解客户从何处查看内容,以及对可操作指标设置几乎实时的警报。在 AWS 管理控制台中访问 Amazon CloudFront 报告与分析控制面板,即可使用所有报告选项。您还可以通过查看 Amazon CloudFront 的报告和分析页面,了解关于各种报告选项的更多信息。

问:我能否标记分配?

是。Amazon CloudFront 支持成本分配标记。标签通过对 AWS 资源进行分类和分组,从而让您能够轻松分配成本和优化支出。例如,您可以使用标签按管理员、应用程序名称、成本中心或特定项目对资源进行分组。要了解有关成本分配标记的更多信息,请参阅使用成本分配标签。如果您已准备好向 CloudFront 分配添加标签,请参阅 Amazon CloudFront 添加标签页面

问:我能否获得我账户上所有的 Amazon CloudFront API 调用历史记录,以用于安全性、操作性或合规性审核?

是。要获得由您的账户发起的所有 Amazon CloudFront API 调用历史记录,只需在 CloudTrail 的 AWS 管理控制台中打开 AWS CloudTrail。有关更多信息,请访问 AWS CloudTrail 主页

问:你们是否提供对指标进行实时监控和警报的选项?

您可以使用 Amazon CloudWatch 在浏览者发出请求的几分钟内监控、发出报警并接收有关 Amazon CloudFront 分配运行性能的通知。CloudFront 每隔 1 分钟向 Amazon CloudWatch 自动发布六个运行指标。您可以使用 CloudWatch 针对 CloudFront 流量中的任何异常情况设置警报。要了解如何开始通过 CloudWatch 监控 CloudFront 活动和设置警报,请在 Amazon CloudFront 开发人员指南中查看我们的操作步骤,或只需导航到 Amazon CloudFront 管理控制台,然后在导航窗格中选择“监控和报警”。

CloudFront Functions

问:什么是 CloudFront Functions?

CloudFront Functions 是一种无服务器边缘计算功能,允许您在 CloudFront 边缘站点运行 JavaScript 代码以进行轻量级 HTTP(s) 转换和操作。专门构建 Functions 以使客户能够灵活地获得完整编程环境,并达到现代 Web 应用程序要求的性能和安全性。客户可以即时扩展,并以经济的方式支持每秒数以百万计的请求,价格只有 AWS Lambda@Edge 的零头。

问:如何使用 CloudFront Functions 自定义内容?

CloudFront Functions 以原生方式构建到 CloudFront 中,让客户能够轻松地在同一服务内构建、测试和部署函数。您还可以将 CloudFront KeyValueStore 与 CloudFront Functions 结合使用,用于存储和检索查询数据以补充您的函数逻辑。我们的 GitHub 存储库提供了大量的示例代码,允许开发人员用作构建函数的起点,以此轻松开始使用该功能。您可以在 CloudFront 控制台上使用 IDE 或 CloudFront API/CLI 构建函数。撰写了代码后,您可以对照生产 CloudFront 分发测试自己的函数,确保该函数部署后可正确地执行。控制台中的测试功能提供了一个可视化编辑器,可以快速创建测试事件并验证函数。与 CloudFront 分发关联之后,代码即部署到 AWS 全球分布的边缘站点网络,并执行对 CloudFront 请求的响应。

问:CloudFront Functions 的使用案例有哪些?

CloudFront Functions 极其适合轻量级短期运行的函数,例如:

  • 缓存键归一化:您可以转变 HTTP 请求属性(标头、查询字符串、cookies,甚至是请求 URL 的相对路径)以创建最佳缓存键,它可以提高您的缓存命中率。
  • 标头操作:您可以在请求或响应中插入、修改或删除 HTTP 标头。例如,您可以向每个响应添加 HTTP 严格传输安全 (HSTS) 或跨源资源共享 (CORS) 标头。
  • URL 重定向或重写:您可以根据请求中的信息将查看器重定向到其他页面,或者将调用请求从一个路径重定向到另一个路径。
  • 请求授权:您可以通过检查授权标头或其他请求元数据来验证授权令牌,例如 JSON Web 令牌(JWT)。

问:什么是 CloudFront KeyValueStore?

CloudFront KeyValueStore 是一种全局的、低延迟的、完全托管式键值数据存储解决方案。KeyValueStore 允许您从 CloudFront Functions 中检索键值数据,并且通过独立数据更新提高函数的可自定义性。键值数据可以在所有 CloudFront 边缘站点访问,并采用高效的内存键值存储,可以从 CloudFront Functions 中快速读取。

问:CloudFront KeyValueStore 的用例有哪些?

CloudFront KeyValueStore 是边缘站点频繁读取和不频繁更新的理想选择,例如:

  • 维护 URL 重写和重定向:根据地理位置将用户重定向到特定的国家/地区网站。在 KeyValueStore 中存储和更新这些基于地理位置的 URL 可以简化 URL 管理。
  • A/B 测试和功能标志:通过为您的网站版本分配一定比例的流量来进行实验。您可以更新实验权重,而无需更新函数代码或 CloudFront 分配。
  • 访问授权:通过创建和验证用户生成的令牌,例如 HMAC 令牌或 JSON 网络令牌(JWT),对通过 CloudFront 交付的内容实施访问控制和授权,以允许或拒绝请求。 

问:CloudFront Functions 是否即将取代 Lambda@Edge?

否 - CloudFront Functions 应作为 Lambda@Edge 的补充,而不是取代它。Lambda@Edge 和 CloudFront Functions 的组合可供您为作业挑选正确的工具。您可以选择同时将 CloudFront Functions 和 Lambda@Edge 用在您的 CloudFront 分发中的相同缓存行为内的不同事件触发器上。举例来说,您可以使用 Lambda@Edge 随时操作流式传输清单文件,注入自定义令牌以保护实时流的安全。当用户对清单中的分段提出请求时,您可以使用 CloudFront Functions 验证这些令牌。

问:我应使用 CloudFront Functions 还是 Lambda@Edge?

CloudFront Functions 和 Lambda@Edge 的组合为您提供了两个强大而灵活的选项,用于在响应 CloudFront 事件时运行代码。二者均可提供安全的方式供您在响应 CloudFront 事件时运行代码,而无需管理基础设施。CloudFront Functions 专用于轻量级、大规模和对延迟敏感的请求/响应转换和操作。Lambda@Edge 使用支持众多计算需要和自定义的通用运行时。您应将 Lambda@Edge 用于计算密集型操作。这可能是需要更长的时间来完成的计算(几毫秒到几秒),需要依赖于外部第三方库,需要与其他 AWS 服务(例如 S3、DynamoDB)集成,或者需要网络调用来进行数据处理。一些流行的高级 Lambda@Edge 用例包括 HLS 流清单操作、与第三方授权和自动程序检测服务的集成、单页应用程序 (SPA) 的服务器端渲染 (SSR) 等等。请参阅 Lambda@Edge 使用案例页面以了解更多详细信息。

问:AWS 如何确保 CloudFront Functions 的安全?

CloudFront Functions 带来您期待的性能、规模和成本效益优势,但通过独特的安全模型在函数代码之间提供严格隔离边界。当您在共享的多租户计算环境中运行自定义代码时,维护高度安全的执行环境很关键。坏人可能会尝试利用运行时、库或 CPU 中存在的漏洞,将敏感数据从服务器或其他客户函数中泄漏出去。如果函数代码之间没有严密的隔离屏障,就可能会被这样利用漏洞。AWS Lambda 和 Lambda@Edge 都已通过基于 Firecracker 的 VM 隔离实现了这种安全隔离。通过 CloudFront Functions,我们已开发出基于进程的隔离模型,它可针对旁路攻击(例如,Spectre 和 Meltdown)、基于时间的攻击或其他代码漏洞提供相同的安全性。CloudFront Functions 无法访问或修改属于其他客户的数据。我们通过在专用 CPU 上的专用进程中运行函数实现此目的。CloudFront Functions 在每次仅为一个客户服务的工作进程上执行,在两次执行之间将会清除(刷新)所有客户特定的数据。

CloudFront Functions 不使用 V8 作为 JavaScript 引擎。Functions 的安全模型不同,被认为比 v8 基于部分其他供应商提供的模型进行的隔离更加安全。

问:如何知道我的 CloudFront Function 是否将成功执行?

您可以使用内置测试功能测试任何函数。测试函数将会针对 CloudFront 分发执行您的代码,以验证函数可返回预期结果。除了验证代码执行之外,还为您提供了计算利用率指标。计算利用率指标向您显示您的函数接近执行时间限制的百分比。例如,计算利用率为 30 表示您的函数使用了总允许执行时间的 30%。测试对象可利用可视化编辑器创建,允许您轻松地为每个对象添加查询字符串、标头、URL 和 HTTP 方法,您也可以使用 JSON 表示形式的请求或响应创建测试对象。运行了测试之后,就可以在相同风格的可视化编辑器中或者通过查看 JSON 响应看到结果和计算利用率指标。如果函数执行成功,且计算利用率指标未接近 100,就表示您的函数关联到 CloudFront 分发时工作正常。

问:如何监测 CloudFront 函数?

CloudFront Functions 输出指标和执行日志以监测函数的使用情况和性能。每次调用函数都会生成指标,您可以从 CloudFront 或 CloudWatch 控制台上单独查看每个函数的指标。指标包括调用次数、计算利用率、验证错误和执行错误。如果您的函数产生了验证错误或执行错误,则错误消息还将出现在 CloudFront 访问日志中,让您更清晰地了解该函数如何影响您的 CloudFront 流量。除了指标之外,您还可以在函数代码内包括 console.log() 语句以生成执行日志。任何日志语句都将会生成发送到 CloudWatch 的 CloudWatch 日志条目。日志和指标作为 CloudFront Functions 价格的一部分包含在内。 

Lambda@Edge

问:什么是 Lambda@Edge?

Lambda@EdgeAWS Lambda 的扩展,允许您在全球边缘站点运行代码,而无需预置或管理服务器。Lambda@Edge 可为复杂函数提供强大而灵活的无服务器计算,并带来更接近您的查看器的完整应用程序逻辑。Lambda@Edge 函数在 Node.js 或 Python 环境中运行。您将函数发布到单个 AWS 区域,当您关联该函数与 CloudFront 分发时,Lambda@Edge 可自动将您的代码复制到世界上任何地点。Lambda@Edge 可自动扩展,从每天数次请求到每秒数千次。

问:如何使用 Lambda@Edge 自定义内容?

通过针对 CloudFront 中的特定缓存行为关联函数来执行 Lambda@Edge。您还可以指定函数应在 CloudFront 请求或响应处理期间的哪个点执行(例如,当查看器请求到达时、当请求转发到源或从源返回时,或者就在响应返回最终查看器之前)。您使用 Node.js 或 Python 从 Lambda 控制台、API 或使用 Serverless Application Model (SAM) 之类的框架撰写代码。当您测试函数时,将其与所选 CloudFront 缓存行为和事件触发器关联。保存后,下次对 CloudFront 分发进行请求时,该功能将传播到 CloudFront 边缘,并在必要时扩展和执行。有关更多信息,请参阅我们的文档

问:通过 Amazon CloudFront,可以触发哪些 Lambda@Edge 事件?

在响应以下 Amazon CloudFront 事件时,会自动触发您的 Lambda@Edge 函数:

  • 查看者请求:当 Internet 上的最终用户或设备向 CloudFront 发出 HTTP(S) 请求,且请求到达离该用户最近的边缘站点时,将触发此事件。
  • 查看者响应:当边缘站点处的 CloudFront 服务器已准备好响应发出请求的最终用户或设备时,将触发此事件。
  • 来源请求:当 CloudFront 边缘服务器尚未将所请求的对象置入其缓存,且查看者请求已准备好发送给后端原始 Web 服务器(如 Amazon EC2、Application Load Balancer 或 Amazon S3)时,将触发此事件。
  • 来源响应:当边缘站点处的 CloudFront 服务器收到后端来源 Web 服务器的响应时,将触发此事件。

持续部署

问:什么是 CloudFront 上的持续部署?

CloudFront 上的持续部署能够在将更改部署到所有查看器之前,使用一部分实时流量测试和验证配置更改的新功能。

CloudFront 的持续部署为您提供了高级别的部署安全性。现在,您可以部署两个独立但相同的环境(蓝色和绿色),轻松集成到持续集成和交付 (CI/CD) 管道,从而能够逐步推出版本,而无需更改任何域名系统 (DNS)。此功能可以将查看器会话绑定到同一环境,从而确保查看器通过会话粘性获得一致体验。此外,您还可以通过监控标准和实时日志对比更改的效果,并在更改对服务产生负面影响时快速恢复到之前的配置。 

问:如何设置 CloudFront 上的持续部署?

您可以通过 CloudFront 控制台、SDK、命令行界面(CLI)或 CloudFormation 模板将暂存分配关联到主要分配来设置持续部署。然后,您可以定义规则来拆分流量,方法是配置客户端标头或拨出一定比例的流量以使用暂存分布进行测试。设置完成后,您可以使用所需的更改更新暂存配置。CloudFront 将管理分配给用户的流量并提供相关分析以帮助您决定是继续部署还是回滚。一旦对暂存发行版的测试得到验证,您就可以将更改合并到主要发行版中。

要了解有关此功能的更多信息,请访问文档

问:我要如何衡量持续部署的结果?

持续部署允许通过实际 Web 流量进行真实的用户监控。您可以使用任何现有的可用监控方法(CloudFront 控制台、CloudFront API、CLI 或 CloudWatch)来单独测量主要和暂存分布的操作指标。您可以通过测量和比较两个发行版之间的吞吐量、延迟和可用性指标来衡量特定应用程序的成功标准。

问:是否可以使用现有的发行版?

是,您可以使用任何现有的发行版作为基线来创建暂存发行版并引入和测试更改。

问:持续部署如何与 CloudFront Functions 和 Lambda@Edge 协同工作?

通过持续部署,您可以将不同的功能与主要和临时分布相关联。您还可以对两个发行版使用相同的函数。如果您更新两个发行版都使用的函数,则它们都会收到更新。

问:如何将持续部署发行版与 AWS CloudFormation 配合使用?

CloudFormation 堆栈中的每个资源都映射到特定的 AWS 资源。暂存分配将拥有自己的资源 ID,其使用方式与任何其他 AWS 资源一样。您可以使用 CloudFormation 创建/更新该资源。

问:CloudFront 上的持续部署如何支持会话粘性?

当您使用基于权重的配置将流量路由到暂存分配时,您还可以启用会话粘性,这有助于确保 CloudFront 将来自同一查看器的请求视为单个会话。当您启用会话粘性时,CloudFront 会设置一个 Cookie,以便单个会话中来自同一查看器的所有请求都由一个分配(主要分配或暂存分配)提供服务。

问:如何收费?

所有 CloudFront 边缘站点均可提供持续部署功能,无需额外付费。

IPv6

问:什么是 IPv6?

连接到 Internet 的每个服务器和设备必须拥有的数字 Internet 协议 (IP) 地址。随着 Internet 的发展和使用 Internet 的用户呈指数增长,对 IP 地址的需求也随之增长。IPv6 是新版 Internet 协议,与其前身 IPv4 相比,IPv6 使用更大的地址空间。在使用 IPv4 时,每个 IP 地址的长度为 32 位,这允许存在 43 亿个唯一的地址。IPv4 地址示例:192.0.2.1。相比之下,IPv6 地址的长度为 128 位,这允许存在大约 340 万亿个唯一的 IP 地址。这里有一个 IPv6 地址的例子:2001:0db8:85a3:0:0:8a2e:0370:7334

问:IPv6 可以用来做什么?

使用适用于 Amazon CloudFront 的 IPv6 支持,应用程序无需任何 IPv6 到 IPv4 转换软件或系统即可连接到 Amazon CloudFront 边缘站点。您可以满足政府设定的 IPv6 采用要求 - 包括美国联邦政府 - 受益于 IPv6 可扩展性、网络管理的简单性以及对安全性的额外内置支持。

问:在使用 IPv6 时,我是否应该期望 Amazon CloudFront 性能发生变化?

不会,不论是使用 IPv4 还是 IPv6,Amazon CloudFront 的性能都相同。

问:是否有些 Amazon CloudFront 功能不适用于 IPv6?

尽管在为您的分发打开 IPv6 之前可能需要对内部 IPv6 地址处理程序进行两处更改,但 Amazon CloudFront 的所有现有功能将继续适用于 IPv6。

  1. 如果您已经打开了 Amazon CloudFront 访问日志功能,您一开始将在“c-ip”字段中看到您的查看者的 IPv6 地址,并且可能需要验证您的日志处理系统是否继续适用于 IPv6。
  2. 为 Amazon CloudFront 分发启用 IPv6 后,您将在发送到您的原始系统的“X-Forwarded-For”标题中获取 IPv6 地址。如果您的原始系统只能处理 IPv4 地址,则您可能需要验证您的原始系统是否继续适用于 IPv6 地址。

此外,如果您针对可信签署人使用了 IP 白名单,应针对 IP 白名单上的可信签署人 URL 仅使用 IPv4 分配,但可对所有其他内容使用 IPv4/IPv6 分配。该模型可避免发生以下问题:如果签名请求是通过 IPv4 地址到达并也通过该地址进行签署,则只能让内容请求通过不在白名单上的不同 IPv6 地址到达。

要了解有关 Amazon CloudFront 中 IPv6 支持的更多信息,请参阅 Amazon CloudFront 开发人员指南中的“Amazon CloudFront 上的 IPv6 支持”部分。

问:这是否意味着,如果我想一直使用 IPv6,就无法使用 IP 白名单上的可信签署人 URL?

否。如果您想同时使用 IPv6 和 IP 白名单上的可信签署人 URL,您应使用两种独立的分配方法。您应该为 IP 白名单上的可信签署人 URL 专门指定分配,并针对此分配禁用 IPv6。然后,您将针对所有其他内容使用另一种同时适用于 IPv4 和 IPv6 的分配。

问:如果我启用了 IPv6,IPv6 地址将会显示在访问日志中吗?

会,如果您已经启用了 Amazon CloudFront 访问日志功能,您的查看者的 IPv6 地址现在将在访问日志的“c-ip”字段中显示。在为您的分配打开 IPv6 之前,您可能需要验证您的日志处理系统是否继续适用于 IPv6 地址。如果您对 IPv6 流量影响工具或软件处理访问日志中 IPv6 地址的能力有任何问题,请联系开发人员支持。有关更多详细信息,请参阅 Amazon CloudFront 访问日志文档。

问:我是否可以为我所有的新分配禁用 IPv6?

可以,对于新分配和现有分配,您可以使用 Amazon CloudFront 控制台或 API 来按分配启用/禁用 IPv6。

问:我为什么要禁用 IPv6?

在与客户的讨论中,我们听到的唯一一个常见案例就是内部 IP 地址处理。为 Amazon CloudFront 分发启用 IPv6 后,您除了可以在详细的访问日志中获取 IPv6 地址外,还可以在发送到您的原始系统的“X-Forwarded-For”标题中获取 IPv6 地址。如果您的原始系统仅能处理 IPv4 地址,则在为您的分发打开 IPv6 之前,您可能需要验证您的原始系统是否继续适用于 IPv6 地址。

问:我已经为我的分配启用了 IPv6,但 DNS 查找没有返回任何 IPv6 地址。发生了什么?

虽然 Amazon CloudFront 在全球拥有非常多的连接,但仍然有一些网络还没有普及 IPv6 连接。虽然从长远来看,很显然 IPv6 才是 Internet 的未来,但在可预见的未来,Internet 上的每个终端节点将仍然使用 IPv4 连接。当我们发现 Internet 的部分终端节点使用 IPv4 连接的效果比 IPv6 好时,我们当然更愿意使用前者。

问:如果我使用 Route 53 来处理我的 DNS 需求,并且已经创建了指向一个 Amazon CloudFront 分配的别名记录,我是否需要更新我的别名记录,以启用 IPv6?

需要,您可以创建指向您的 Amazon CloudFront 分配的 Route 53 别名记录,以分别使用“A”和“AAAA”记录类型来支持 IPv4 和 IPv6。如果您想仅启用 IPv4,则您仅需要一个“A”类型的别名记录即可。有关别名资源记录集的详细信息,请参阅 Amazon Route 53 开发人员指南

计费

问:Amazon CloudFront 的 AWS 免费套餐包含哪些使用类型?

从2021年12月1日开始,所有 AWS 客户将获得每月 1 TB 的数据传出、10,000,000 次 HTTP/HTTPS 请求以及 2000000 次 CloudFront 函数调用的使用配额。免费套餐不包括所有其他使用类型(例如 Invalidations、Proxy requests、Lambda@edge、Origin shield、Data Transfer to Origin 等)。

问:如果我们注册了整合账单,是否可以针对每个账户获得 AWS 免费套餐?

不能。使用整合账单跨多个账户间统一付款的客户只能获得每个组织一个免费套餐。

问:如果我在多个地区使用,并且超出了免费套餐,会发生什么?

1 TB 数据传输和 1000 万次请求是所有边缘位置的每月免费套餐限制。如果用量超过了每月免费套餐限制,您只需按标准的 AWS 服务按需支付费率支付每个地区的费用即可。请参阅 CloudFront 定价页面了解完整的定价详情。

问:如何了解已经使用的用量以及是否已超出免费使用套餐限额?

登录您的账户并进入账单和成本管理控制面板,您可以按地区查看当前和过去的使用活动。在此面板中,您可以通过 AWS Budgets 管理成本和使用情况、通过 Cost Explorer 显示成本动因和使用趋势,并通过 成本和使用情况报告 深入了解您的成本。 要了解有关如何控制 AWS 成本的更多信息,请查看控制 AWS 成本 10 分钟教程。

问:免费套餐是否适用于订阅 CloudFront Security Savings 捆绑包的客户?

订阅 CloudFront Security Savings 捆绑包的客户也可以享受免费套餐。如果您觉得有必要根据免费套餐降低对 CloudFront Security Savings 捆绑包的承诺,请联系客户服务部,我们将评估您的更改请求。未来几天,我们将提供更多的细节。请继续收看。 

更多问题,请参见 https://aws.amazon.com/free/free-tier-faqs/

问:使用 Amazon CloudFront 如何收费?

Amazon CloudFront 根据以下五个方面的服务实际使用量进行收费:数据传出、HTTP/HTTPS 请求、失效请求、实时日志请求,以及与 CloudFront 分配相关联的专用 IP 自定义 SSL 证书。

借助AWS 免费试用套餐,您可以开始免费使用 Amazon CloudFront,并随着使用量的增加而降低费率。所有 CloudFront 客户都可以免费接收 1 TB 的数据转出和 1000 万次针对 Amazon CloudFront 的 HTTP 和 HTTPS 请求,即使超出了这些限制。

  • 数据传出到 Internet
    对于您从 Amazon CloudFront 边缘站点传出的数据量,我们将进行收费,以 GB 为单位计量。您可以在此处查看 Amazon CloudFront 数据传输到 Internet 的费率。请注意,您的数据传输用量将按特定地理区域单独合计,然后费用将按每个区域的定价套餐进行计算。如果您使用其他 AWS 服务作为文件的原始服务器,我们将按您对这些服务的用量(包括存储和计算时间)单独向您收费。如果您使用的是 AWS 原始服务器(如 Amazon S3 和 Amazon EC2 等),并且是在 2014 年 12 月 1 日生效的,我们不会针对您将 AWS 数据传出到 Amazon CloudFront 收费。这适用于从所有 AWS 区域向全球 CloudFront 边缘站点的数据传输。
  • 数据传出到原始服务器
    对于您从 Amazon CloudFront 边缘站点传出到原始服务器(包括 AWS 原始服务器和其他原始服务器)的数据量,我们将进行收费,以 GB 为单位计量。您可以在此处查看 Amazon CloudFront 数据传输到原始服务器的费率。
  • HTTP/HTTPS 请求
    对于您向 Amazon CloudFront 发出的对您内容的 HTTP/HTTPS 请求,我们将进行收费。您可以在此处查看 HTTP/HTTPS 请求的费率。
  • 失效请求
    您需要为无效请求中的每个路径支付费用。无效请求中的路径代表您希望从 CloudFront 缓存中失效的对象的 URL(如果路径包含通配符,则为多个 URL)。您每月可从 Amazon CloudFront 请求让最多 1000 个路径失效,而无需支付额外费用。前 1000 个路径的数量到达后,您需要对无效请求中列出的每个路径支付费用。您可以在此处查看失效请求的费率。
  • 实时日志请求
    实时日志根据所生成的日志行数量收费;CloudFront 每向您的日志目标发布 1 百万日志行,您需支付 0.01 美元。
  • 专用 IP 自定义 SSL
    请使用自定义 SSL 证书支持的专用 IP 版为与一个或多个 CloudFront 分配关联的每个自定义 SSL 证书每月支付 600 USD。该月度费用按小时比例收取。例如,如果您在六月将您的自定义 SSL 证书与至少一个 CloudFront 分配相关联,时长仅为 24 小时(即 1 天),那么您在六月对自定义 SSL 证书功能的使用将被收取的费用总额为:(1 天 / 30 天)* 600 USD = 20 USD。要使用专用 IP 自定义 SSL 证书支持,请上传 SSL 证书并使用 AWS 管理控制台,将其关联到您的 CloudFront 分发内容。如果您需要将两个以上的自定义 SSL 证书与 CloudFront 分发相关联,请将与使用案例有关的详细信息和您要在 CloudFront 限制提高申请表中使用的自定义 SSL 证书数量包含在内。

数据传输的使用套餐针对每个区域单独计量。除非另行说明,否则上述价格不包括适用税费、费用或类似政府收费(如果存在)。

问:你们的价格含税吗?

除非另行说明,否则我们的价格不包含适用的税费和关税(包括增值税和适用销售税)。使用日本账单地址的客户若要使用 AWS,则需缴纳日本消费税。了解更多

问:实时日志的成本是多少?
如果您的分发每秒提供 1000 个请求及 1KB 的日志大小,并在美国东部(俄亥俄)创建具有 2 个分区的 Kinesis 数据流:

Kinesis 数据流的月度成本为:47.74 USD/月,在此使用 Kinesis 计算器进行计算。

CloudFront 实时日志的月度成本:每秒请求数 X 实时日志的成本 = 1000 *(60 秒 * 60 分钟 *24 小时 * 30 天)X(0.01 USD /1000000)= 25.92 USD/月

问:304 响应是如何收费的?

304 是对条件 GET 请求的响应,将导致对 HTTP/HTTPS 请求和向 Internet 传输的数据进行收费。304 响应不包含消息正文,但是 HTTP 标头会消耗一些带宽,从而会向您收取标准 CloudFront 数据传输费。数据传输量取决于与对象相关的标头。

问:我可以选择仅处理来自价格较低的 Amazon CloudFront 区域的内容吗?

是的,“价格分级”让您能够选择以较低的价格将内容传输到 Amazon CloudFront 以外的地方。默认情况下,Amazon CloudFront 会通过其全球边缘站点网络传输内容,以便尽量降低终端用户的延迟性。但是,因为在成本高的地区我们的收费也更高,这意味着在某些地区您需要支付更多费用才能以较低的延迟性传输您的内容。价格分级能让您将 Amazon CloudFront 的高价边缘站点排除在 Amazon CloudFront 服务分配范围之外,从而节省传输费用。此类情况下,Amazon CloudFront 将从属于您所选价格级别的地区内的边缘站点传输您的内容,并根据传输内容的实际地区的数据传输和请求定价进行收费。

如果您最关注性能,则无需进行任何操作;您的内容将通过我们的整个站点网络传输。但是,如果您希望使用其他价格级别,可以通过 AWS 管理控制台或 Amazon CloudFront API 配置您的分配。如果您选择了没有包括所有地区的价格级别,则某些查看者(特别是所在位置不属于您所选价格级别的查看者)遇到的延迟性可能高于从所有 Amazon CloudFront 站点传输内容的延迟性。

请注意,Amazon CloudFront 偶尔还会从没有包括在您所选价格级别中的地区的节点处理您的内容请求。发生此类情况时,我们只按照您所选价格级别中最低费率的地区向您收费。

您可以在此处查看每个价格级别包括的地点列表。

CloudFront Security Savings Bundle

问:什么是 CloudFront Security Savings Bundle?

CloudFront Security Savings Bundle 是一种灵活的自助定价计划,可帮助您最多节省 30% 的 CloudFront 费用,但您需要承诺为期一年的稳定月度使用量(例如每月 100 USD)。  作为一项额外的权益,包含用于保护 CloudFront 资源的 Amazon WAF(Web 应用程序防火墙)使用量(最高为已承诺计划金额的 10%),无需额外付费。 例如,承诺每月使用 100 USD 的 CloudFront 将涵盖价值 142.86 USD 的 CloudFront 使用量,与标准费率相比可节省 30%。此外,还包括高达 10 美元的用于保护 CloudFront 资源的 Amazon WAF 使用量,而无需每月额外付费(最高为 CloudFront 承诺的 10%)。  对于超出您每月支出承诺的任何使用量,将收取标准 CloudFront 和 Amazon WAF 费用。  随着使用量的增长,您可以购买附加的 Savings Bundle,以获取增量使用量的折扣。 

问:CloudFront Security Savings Bundle 涵盖哪些类型的使用?

通过购买 CloudFront Security Savings Bundle,您将获得 30% 的节省,该节省将显示在月度账单的 CloudFront 服务部分,这将抵免任何 CloudFront 计费使用类型,包括数据传出、数据传输到源、HTTP/S 请求费用、字段级加密请求、Origin Shield、失效、专用 IP 自定义 SSL 和 Lambda@Edge 费用。  您还将获得其他权益,可帮助您涵盖与 CloudFront 分配相关联的 Amazon WAF 使用量。 

问:如何开始使用 CloudFront Security Savings Bundle?
您可以通过以下方法开始使用 CloudFront Security Savings Bundle,即访问 CloudFront 控制台以获取有关承诺金额的建议(基于 CloudFront 使用量和 Amazon WAF 使用量的历史记录),或输入您估算的每月使用量。您可以将 CloudFront Security Savings Bundle 每月费用与按需费用进行比较,并查看估算的节省额,以帮助确定适合您需求的正确计划。  注册 Savings Bundle 后,将向您收取每月承诺的费用,并显示抵免您的 CloudFront 和 WAF 使用费的抵扣金额。  对于超出您每月支出承诺的任何使用量,将收取标准服务费用。 

问:如果我的 CloudFront Security Savings Bundle 在 1 年期限后到期,会发生什么情况?

当 CloudFront Security Savings Bundle 到期后,将对 CloudFront 和 Amazon WAF 收取标准服务费用。   每月 Savings Bundle 承诺将不再计费,并且 Savings Bundle 权益将不再适用。  在服务包到期前的任何时间,您都可以选择加入以自动将 CloudFront Security Savings Bundle 续期一年。

问: CloudFront Security Savings Bundle 如何与 Amazon Organizations/整合账单一起使用?

可通过 Amazon Organizations/整合账单系列中的任何账单购买 CloudFront Security Savings Bundle。  CloudFront Security Savings Bundle 权益作为账单上的抵扣金额提供。默认情况下,Savings Bundle 提供的权益适用于 Amazon Organizations/整合账单系列中所有帐户的使用量(已启用抵扣金额共享),并且取决于订阅账户加入或离开组织的时间。  请参阅 AWS 服务抵扣金,以详细了解如何在单个和多个账户中应用 AWS 服务抵扣金。

问:我可以同时激活多个 CloudFront Security Savings Bundles 吗?

是的,随着使用量的增长,您可以购买附加的 CloudFront Security Savings Bundles,以获取增量使用量的折扣。   在计算您的 Amazon Web Services 账单时,将考虑所有活动的 CloudFront Security Savings Bundles。

问:CloudFront Security Savings Bundle 如何显示在我的账单上?

您的每月承诺费用将显示在账单上单独的 CloudFront Security Bundle 部分下。  CloudFront Security Savings Bundle 涵盖的使用量将显示在账单的 CloudFront 和 WAF 部分下,作为抵免标准使用费的抵扣金额。

问:如果我的使用量超出了 CloudFront Security Savings Bundle 的每月承诺,是否会收到通知?

是的,当您的实际或预测费用超过阈值时,Amazon Budgets 允许您设置成本和使用量阈值并通过电子邮件或 Amazon SNS 主题接收通知。  您可以创建针对 CloudFront 服务进行筛选的自定义 Amazon Web Services 预算,并将预算阈值金额设置为 CloudFront Security Savings Bundle 涵盖的 CloudFront 按需使用量,一旦超过该阈值,您便会收到通知。   有关预算的更多信息,请参阅 AWS Billing and Cost Management 用户指南中的利用 Amazon Budgets 管理成本创建预算

问:CloudFront Security Savings Bundle 涵盖我的 WAF 账单的哪个部分?

作为 CloudFront Security Savings Bundle 的一项额外权益,包含用于保护 CloudFront 资源的 Amazon WAF 使用量(最高为已承诺计划金额的 10%),无需额外付费。对于超出 CloudFront Security Savings Bundle 所涵盖的使用量的部分,将收取标准 CloudFront 和 Amazon WAF 费用。  通过 Amazon Marketplace 订阅的托管 WAF 规则未涵盖在 CloudFront Security Savings Bundle 内。

问:如果我已拥有 CloudFront 的自定义定价协议,我是否也可以订阅 CloudFront Security Savings Bundle?

您只能订阅一个或另一个。  如果您对自定义定价协议有任何疑问,请联系您的 Amazon Web Services 客户经理。

问:我可以通过 API 订阅 CloudFront Security Savings Bundle 吗?

您只能通过 CloudFront 控制台订阅 CloudFront Security Savings Bundle。  我们将评估通过 API 使其可用(作为未来增强功能提供)。

了解如何免费开始使用 Amazon CloudFront

访问入门页面
准备好开始构建了吗?
在 AWS 控制台中开始使用 Amazon CloudFront 进行构建
还有更多问题?
联系我们