亚马逊CloudFront:一次一个HTTP请求提升网络性能

亚马逊CloudFront:一次一个HTTP请求提升网络性能

关键字: [Amazon Web Services re:Invent 2024, 亚马逊云科技, 生成式AI, CloudFront, Http Request Performance, Cloudfront Dns Routing, Edge Caching Architecture, Serverless Edge Compute, Origin Security]

导读

无论您是直播奥运会、提供流畅的社交媒体体验,还是提供最佳的在线零售服务,快速、可靠和安全的内容分发网络(CDN)都是必不可少的。在本次会议中,了解Amazon CloudFront如何与Amazon Route 53和Amazon WAF集成,以高可用性、增强的安全性和闪电般的性能在几毫秒内交付您应用程序的内容。学习华纳兄弟公司如何成功地利用亚马逊云科技全球基础设施和CloudFront,向数百万观众流媒体播放2024年巴黎奥运会和2024年欧洲杯等重大赛事。

演讲精华

以下是小编为您整理的本次演讲的精华。

本次会议由Sagra Desarda主持,她首先热情欢迎与会者出席re:Invent大会,并回顾了今年早些时候令人惊叹的巴黎奥运会观赏体验。全球数以百万计的观众期待着一场无瑕的实时观赏体验,她提出了一个有趣的问题:如何在全球范围内提供如此卓越的性能体验?

Sagra随后介绍了Amazon CloudFront在实现这种性能水平中发挥的关键作用,强调在当今世界,无论所交付的内容是直播流、动态内容还是静态网站,高可用性、健壮的安全措施和毫秒级延迟都是不可或缺的先决条件。

在介绍了她的同事Sean和Srini(后者是华纳兄弟公司的工程副总裁)之后,Sagra概述了本次会议的议程。这包括CloudFront的概览、通过CloudFront的视角深入探讨HTTP请求的处理过程、缓存策略、CloudFront Functions和Lambda@Edge提供的边缘计算能力、实时路由决策以及与源的连接优化。随后,Srini将分享他在利用CloudFront运行大型媒体活动(如奥运会)方面的宝贵经验。

Sagra全面概述了Amazon CloudFront,这是一个精心设计的全球分布式内容交付网络(CDN),旨在提供低延迟、高传输速度和最佳可靠性的内容交付。CloudFront拥有遍布50多个国家的700多个边缘节点(POP),将内容的副本缓存在靠近最终用户的位置。CloudFront通过将每个用户请求路由到亚马逊云科技骨干网络中最佳的边缘位置来加速内容分发,从而最小化数据传输距离,提高整体性能。

在过去一年中,CloudFront推出了一种新型的POP,称为嵌入式POP,这些POP直接部署在最终用户的互联网服务提供商(ISP)网络中,而不是传统的部署在亚马逊云科技网络中的CloudFront POP。嵌入式POP专为大规模交付可缓存内容(如视频流和游戏下载)而设计,而CloudFront POP则旨在处理静态、可缓存和动态内容等各种工作负载。

Sagra接着深入探讨了HTTP请求所经历的复杂过程,从关键的DNS解析过程开始。她阐明了CloudFront DNS如何与Route 53协同工作,考虑性能数据、服务器健康状况、网络容量和实时网络条件等多种因素,从而确定服务内容的最佳IP地址,绕过拥塞并规避潜在问题。

在过去五年中,CloudFront对其DNS基础设施进行了多项增强,旨在提高可用性和性能。这些增强包括将DNS服务扩展到亚马逊云科技区域以及边缘位置,提供更广泛的地理覆盖范围,并将DNS查询延迟降低了30%。此外,CloudFront DNS集成了自定义监控机制和第三方DNS监控解决方案,实现了主动重新路由流量,确保不间断可用性。

Sagra阐述了CloudFront路由算法中实施的性能改进,该算法现在将数据输入分为两类:不经常变化和经常变化。这种策略性分类允许更快地调整实时流量、健康状况和容量变化。此外,CloudFront现在利用EDNS客户端子网和基于延迟和容量管理的路由,提高了客户端位置检测的准确性,优化了路由决策。

最近,CloudFront推出了对Anycast IP地址的支持,允许客户为其CloudFront分发获取一组21个专用Anycast IP。对于需要识别CDN流量以进行数据豁免或特殊定价的SaaS场景,或者合作伙伴需要在其出站防火墙规则中包含CDN IP地址的场景,此功能非常有用。

Sagra接着阐述了CloudFront的强大安全功能,包括Amazon Shield用于在亚马逊云科技区域级别缓解大规模DDoS事件,以及亚马逊云科技 Web应用程序防火墙(WAF)用于保护应用程序免受应用层攻击。此外,CloudFront开发了一个专用的DDoS检测引擎,旨在自动缓解第7层DDoS和闪火攻击,直接在CDN级别提供额外的安全层。

Sagra深入探讨了CloudFront的缓存架构,解释了每个POP中的三个缓存层(L1、L2和L3)以及内容在这些层之间的精细管理方式。值得注意的是,DDoS检测引擎嵌入在每个L1服务器上,扫描流量并为请求分配DDoS置信度分数,从而实现适当的缓解策略,而不会引入额外的延迟。

Sagra强调构建智能缓存策略的重要性,包括缓存分段、多层缓存、缓存失效和主动监控。她建议对静态资产采用长期缓存控制头和版本控制技术,对动态内容采用缓存策略和“stale-while-revalidate”等技术,并将缓存清除集成到构建管道或内容管理系统(CMS)中,以确保用户始终获得最新内容。

Sagra接着介绍了CloudFront Functions,这是一种轻量级的无服务器计算环境,可以在边缘操作请求和响应,以及Lambda@Edge,后者支持更复杂的操作,如模式验证、数据转换和即时媒体转换,并可利用第三方库。

接下来,Sagra讨论了CloudFront的一个新功能VPC Origins,它允许从托管在虚拟私有云(VPC)私有子网中的应用程序交付内容,而无需任何公共连接。CloudFront从边缘直接建立一个网络隧道进入VPC,绕过公共互联网,降低了应用程序的安全风险。

为了优化与源的连接并最小化边缘与源之间的往返次数,CloudFront采用了请求合并、字节流、连接效率和Origin Shield等技术。请求合并将对同一内容的并发请求合并为单个源获取,而字节流则在第一个字节到达CloudFront时就开始向观众流式传输内容,从而减少缓存未命中的延迟。连接效率最小化了建立新TCP连接和TLS握手的开销,而Origin Shield则通过单个源缓存将来自多个边缘位置的请求汇总,提高了缓存卸载效率,减轻了源的负载。

来自华纳兄弟探索公司的Srini随后分享了他在CloudFront上运行大型媒体活动(如奥运会)的宝贵经验。他强调了为并发事件扩展、处理并发观众激增以及在不同设备和网络条件下保持高质量和可靠性等方面的巨大挑战。

Srini阐述了CloudFront的功能(如通过CloudFront Functions实施的严格CORS策略、令牌验证和Origin Shield)如何帮助华纳兄弟探索公司在奥运会和《龙之家族》系列首映等重大活动中解决安全性、质量和可扩展性挑战。

Sagra随后介绍了嵌入式POP,它将CloudFront CDN更接近观众,部署在ISP网络中。嵌入式POP可以通过HTTP重定向或直接将CloudFront SDK集成到URL分发机中,为不同的用例提供优化路由和降低延迟的选项。

最后,Sagra和Sean介绍了媒体质量感知弹性(MQAR),这是一项突破性的功能,将CloudFront与亚马逊云科技 Elemental Media Services集成,根据动态计算的视频质量分数实现近乎实时的跨区域源选择。MQAR自动化了冗余视频源之间的故障转移过程,确保了高风险实时视频活动的高弹性和质量。

在一个真实的使用案例中,华纳兄弟探索公司利用CloudFront交付了多个高调活动,如奥运会、拉丁美洲UFC杯和2024年总统大选,以及热门剧集《龙之家族》。Srini强调了这些活动中面临的挑战,包括需要为并发事件扩展、处理并发观众激增以及在不同设备和网络条件下保持高质量和可靠性。

其中一个特殊挑战是《龙之家族》新一集的发布,数百万观众急切期待按下播放按钮,导致一大群请求涌向后端服务(如权限和URL分发服务)。当客户在大约50到60分钟内流式传输内容时,并发观众数量的稳步增加给广告系统、源和POP带来了压力。

奥运会为可扩展性增添了另一个维度——并发事件的扩展。随着数百项赛事同时进行,每一项都可能与《龙之家族》一集一样大,奥运会在47个不同国家以19种不同语言进行广播,需要大量带宽、精心设计的CDN和负载均衡,以及与ISP无缝对接,以确保最终用户不受影响。

仅在8月4日,华纳兄弟探索公司就播放了6亿分钟的内容,相当于1,141年。100米决赛占据了大部分流量,在赛事开始前5分钟就出现了流量高峰。值得注意的是,所有这一切都没有发生任何中断,这归功于华纳兄弟探索公司团队和合作伙伴(包括亚马逊云科技)的艰苦努力,在如此大规模和高可靠性的环境下交付服务。

Srini将举办高调活动的挑战归纳为四个主要方面:安全性、质量、规模和可靠性。安全性至关重要,因为未经授权的访问会影响收入和客户信任。观众期望在不同设备和不同网络条件下获得高质量的音频和视频(如4K HDR Atmos),且绝对不会出现缓冲。规模包括并发事件、并发用户和流启动的扩展,这些都是奥运会期间遇到的情况。可靠性至关重要,观众期望100%的可用性,没有任何故障和停机时间。

为了应对这些挑战,华纳兄弟探索公司利用了CloudFront的功能,包括通过CloudFront Functions实施严格的CORS策略来防止未经授权的访问、令牌验证和Origin Shield。在一项重大直播活动中,他们目睹了未经授权访问企图的激增,有网站将他们的流嵌入到自己的应用程序中,这构成了严重的安全漏洞并产生了隐性成本。为了解决这个问题,他们利用了CloudFront Functions和严格的CORS策略来防止未经授权的访问。

对于一场有100万客户观看的两小时NBA比赛,假设片段时长为4秒,华纳兄弟探索公司将看到总共18亿次请求击中他们的CloudFront函数进行令牌验证。如果采用本地解决方案,将产生大量计算费用,但通过CloudFront Functions,他们能够以整场比赛的每用户低成本实现低延迟和高扩展。

在奥运会100米决赛这一关键时刻,有100万客户观看,华纳兄弟探索公司经历了10亿次请求击中他们的后端系统。虽然区域边缘缓存(RECs)很好地保护了他们的源免受流量影响,但仍有请求进入源,而且多个RECs可能同时请求同一对象,这对源的可用性构成了挑战。

为了解决这个问题,他们利用了Origin Shield,将最靠近源的REC配置为Origin Shield。这将来自多个RECs的请求通过Origin Shield传输到源,提高了缓存卸载并减少了击中源的请求数量。由于击中源的请求减少,所需的连接也减少,而Origin Shield与源之间的持久连接有助于提高吞吐量。

对于一场有100万客户观看的两小时比赛,总共10亿次请求,片段时长为4秒,华纳兄弟探索公司注意到使用Origin Shield后缓存卸载率提高了5%。对于他们的点播和直播内容,通过利用Origin Shield保护源,他们分别实现了99%和99.95%的缓存卸载率。

总之,本次会议涵盖了CloudFront的架构、缓存策略、边缘计算能力、安全功能、源连接优化以及持续创新,以实现高可用性、低延迟和所有类型内容(包括直播流、动态内容和静态网站)的最佳性能。华纳兄弟探索公司的真实案例和见解突出了在CloudFront上运行大规模媒体活动的挑战和解决方案,展示了该平台处理大规模、确保安全性、保持质量以及跨不同设备和网络条件提供可靠性能的能力。

下面是一些演讲现场的精彩瞬间:

CloudFront 扩展的 DNS 系统部署在边缘位置和 亚马逊云科技 区域中,增强了可用性和抵御网络隔离事件的弹性。

亚马逊CloudFront:一次一个HTTP请求提升网络性能_第1张图片

CloudFront 的 DDoS 检测引擎利用先进技术实时识别和缓解 DDoS 攻击,而不会增加应用程序的延迟。

亚马逊CloudFront:一次一个HTTP请求提升网络性能_第2张图片

Amazon CloudFront 的 HTTP 重定向功能可以无缝连接用户到最近的边缘位置,确保游戏和流媒体等应用程序的最佳性能。

亚马逊CloudFront:一次一个HTTP请求提升网络性能_第3张图片

集成到 URL 自动售货机中的 CloudFront SDK 生成安全链接以实现高效流式传输,传递客户端子网信息进行细粒度路由,避免额外的 TLS 开销。

亚马逊CloudFront:一次一个HTTP请求提升网络性能_第4张图片

对于实时视频流的冗余和容错架构进行了详细说明,利用 亚马逊云科技 Elemental Live、跨多个区域的 Elemental 媒体处理管道以及 Amazon CloudFront 实现无缝故障转移和高可用性。

亚马逊CloudFront:一次一个HTTP请求提升网络性能_第5张图片

演讲者强调了 亚马逊云科技 持续创新的努力,包括减少 DNS 延迟、提高可用性、将新的 DDoS 检测引擎集成到 CloudFront 边缘服务器中,以及支持任播 IP 地址以满足需要固定 IP 地址的用例。

亚马逊CloudFront:一次一个HTTP请求提升网络性能_第6张图片

总结

一个HTTP请求在亚马逊CloudFront(亚马逊云科技的全球分布式内容交付网络(CDN))中的传输过程是一个精心编排的流程,旨在以低延迟、高传输速度和最佳可靠性交付内容。从初始DNS解析到最终内容交付,CloudFront采用了多种技术来确保性能、安全性和可扩展性的无缝衔接。

首先,CloudFront的DNS基础设施通过将流量路由到最近的边缘位置,并考虑实时网络状况和服务器健康状况,在最小化延迟方面发挥了关键作用。最近的增强功能,如多区域部署和EDNS客户端子网路由,进一步改善了DNS查询延迟和路由精度。此外,嵌入在边缘服务器中的CloudFront DDoS检测引擎可主动缓解第7层DDoS和闪火攻击,确保服务不间断。

其次,CloudFront的缓存架构采用多层缓存层次结构,实现高效的内容交付。缓存分段、策略和失效策略允许对缓存行为进行细粒度控制,平衡性能和内容新鲜度。请求合并、字节流传输和连接效率等功能进一步优化了源站获取,降低了延迟并最小化了源站扩展的需求。

第三,CloudFront通过CloudFront Functions和Lambda@Edge提供了强大的边缘计算功能,实现了边缘无服务器计算。这些功能使开发人员能够操作请求和响应,实现诸如模式验证、数据转换和即时媒体优化等高级用例。

最后,CloudFront持续创新,如用于安全私有连接的VPC源、用于S3存储桶保护的源访问控制以及用于无缝实时视频流的媒体质量感知弹性,展现了亚马逊云科技为各种工作负载提供前沿解决方案的承诺。凭借其全球足迹、强大的安全措施和对性能优化的不懈追求,CloudFront成为亚马逊云科技内容交付生态系统的基石,使企业能够在全球范围内提供卓越的用户体验。

亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者。提供200多类广泛而深入的云服务,服务全球245个国家和地区的数百万客户。做为全球生成式AI前行者,亚马逊云科技正在携手广泛的客户和合作伙伴,缔造可见的商业价值 – 汇集全球40余款大模型,亚马逊云科技为10万家全球企业提供AI及机器学习服务,守护3/4中国企业出海。

你可能感兴趣的:(AWS)