Lambda@Edge 是 Amazon CloudFront 的一个功能,它可让您在靠近应用程序用户的地方运行代码,从而提高性能,降低延迟。使用 Lambda@Edge,您无需在全球多个地方预置或管理基础设施。您只需按使用的计算时间付费 — 代码未运行时不产生费用。
使用 Lambda@Edge,您可以将 Web 应用程序分布在全球并提高它们的性能(并且无需管理任何服务器),从而丰富您的 Web 应用程序。Lambda@Edge 根据 Amazon CloudFront 内容分发网络 (CDN) 生成的事件运行代码。您只需将代码上传到 AWS Lambda,后者将在靠近最终用户的 AWS 站点完成运行和扩展代码所需的一切操作,从而实现高可用性。
优势
构建响应性更好的应用程序
Lambda@Edge 在全球靠近用户的 AWS 站点运行代码,从而让您能够以高性能、低延迟的方式分发全功能的自定义内容。
无需管理服务器
您可以在全球的 AWS 站点自动扩展和运行代码,无需在多个地点预置、扩展或管理源服务器,亦无需设置任何负载均衡服务或域名系统 (DNS) 路由服务。您可以添加新的功能,但无需更改在源上运行的现有应用程序。最后,使用 Lambda@Edge 和 Amazon CloudFront,您需要管理的源基础设施将比传统 CDN 更少。
自定义内容分发
借助 Lambda@Edge,您可以通过 Amazon CloudFront CDN 自定义分发的内容,并且您可以根据应用程序的性能需求自定义计算资源和执行时间。
工作原理
使用案例
简化并减少源基础设施
您可以用 Lambda@Edge 来扩展或代替您的源。这将使您可以进行任何操作,从边缘站点的简单 HTTP 请求和响应处理,到网站安全性、实时图像转换、智能机器人程序缓解、搜索引擎优化以及更多更高级的功能。
网站安全性与隐私
您可以通过触发 Lambda 函数为所有源响应添加 HTTP 安全性标头,无需在源上修改应用程序代码。这将有利于提高用户和内容提供商的安全性和隐私,同时还可借助 CloudFront 以低延迟分发内容。
阅读博客。>>
边缘站点上的动态 Web 应用程序
将 Lambda@Edge 与其他 AWS 产品结合,开发人员可以在边缘站点构建可自动扩展和收缩的强大 Web 应用程序,无需与自动扩展、备份或数据中心冗余等功能有关的任何源基础设施和管理工作。
搜索引擎优化 (SEO)
您可以使用 Lambda@Edge 来改进网站的搜索引擎优化 (SEO)。例如,您可以将预渲染的 HTML 页面存储在 Amazon S3 中,然后在用户代理属于 Googlebot 或 Bingbot 等搜索引擎抓取程序时触发 Lambda 函数以分发该页面。
阅读博客。>>
跨源和数据中心智能路由
使用 Lambda@Edge 可以根据不同的访客特征将请求动态路由到不同的源,从而平衡源的负载,同时提高用户的性能体验。例如,您可以根据访客的位置将请求路由到位于同一母区域的源。
阅读博客。>>
边缘站点上的机器人程序缓解
Lambda@Edge 可以帮助您在边缘站点阻止不好的机器人程序,仅允许授权的流量通过。通过智能地缓解这些自动进程,可以帮助保护源基础设施,防止无益的 Web 爬虫程序和机器人程序,同时提高真实用户的性能体验。
提高用户体验
Lambda@Edge 可以让您在不牺牲性能的前提下为全球用户提供个性化的内容,从而帮助您提高他们的网站和 Web 应用程序体验。
实时图像转换
您可以根据用户特征转换传输中的图像,从而提供个性化的用户体验。例如,您可以根据访客的设备类型(手机、桌面电脑或平板电脑)来调整图像。您还可以将转换后的图像缓存在 CloudFront 边缘站点,从而在分发图像时进一步提高性能。
阅读博客。>>
A/B 测试
您无需重定向或更改浏览器的 URL 即可测试以及向用户分发不同的网站版本。 这样可让您无缝发布网站更新,提高网站的总体体验,同时持续保证对用户的响应性。
用户身份验证和授权
您可以使用 Lambda@Edge 来帮助验证用户身份以及授权用户访问您网站上的付费内容,在用户请求到达源基础设施前过滤未获得授权的请求。例如,您可以触发 Lambda 函数来调用 Amazon Cognito 等身份验证和用户管理服务,从而对每个访客请求进行授权。
阅读博客。>>
确定用户优先级
Lambda@Edge 可以将用户路由至不同的页面和体验,从而帮助您控制网站的访问权限并确定优先级。例如,您可以在促销期间流量猛增时触发 Lambda 函数来运行代码,优先安排高端付费用户访问您的电子商务网站。此外,您还可以将其他顾客重定向至临时的“等候室” — 即提供品牌介绍和营销活动的替代网站,让顾客等待接入您的主零售网站。
阅读博客。>>
用户跟踪与分析
将 Lambda@Edge 与 Kinesis 结合使用,您可以处理实时的流数据,从而跟踪和分析您网站和移动应用程序上全球分布的用户活动,包括点击流分析。
阅读博客。>>