亚马逊AWS官方博客

推出适用于实时广告技术工作负载的 AWS RTB Fabric



今天,我们宣布推出 AWS RTB Fabric,这是一项专为实时竞价(RTB)广告工作负载而构建的完全托管式服务。这项服务可帮助广告技术(AdTech)公司无缝连接到供需合作伙伴,例如 Amazon AdsGumGumKargoMobileFuseSovrnTripleLiftViantYieldmo 等等,以便在 Amazon Web Services(AWS)上以稳定的个位数毫秒级延迟性能运行大容量的延迟敏感型 RTB 工作负载,与标准网络成本相比,网络成本可降低多达 80%。

AWS RTB Fabric 提供了一个专用的高性能网络环境,用于处理 RTB 工作负载和进行合作伙伴集成,无需使用主机托管的本地基础设施,也无需预先承诺。下图显示了 RTB Fabric 的简要架构。

AWS RTB Fabric 还包含多个模块,能够帮助客户将他们自己的应用程序和合作伙伴的应用程序安全地整合到用于实时竞价的计算环境中。这些模块支持容器化应用程序和基础模型(FM),这些基础模型可以提高事务效率和竞价有效性。在发布时,AWS RTB Fabric 包含一些模块,用于优化流量管理、提高竞价效率和加快竞价响应速度,所有这些模块都以内联方式在这项服务内运行,以便能够稳定、低延迟地执行。

程序化广告的增长需要使用低延迟、经济高效的基础设施来支持 RTB 工作负载。广告技术公司每秒钟要处理发布商、供应方平台(SSP)和需求方平台(DSP)发出的数百万个竞价请求。这些工作负载对延迟极其敏感,因为大多数 RTB 拍卖必须在 200 到 300 毫秒内完成,并且需要在多个合作伙伴之间可靠、高速地交换 OpenRTB 请求和响应。很多公司将基础设施部署在关键合作伙伴附近的主机托管数据中心中,于是这一问题迎刃而解,不过这种做法虽然减小了延迟,但也导致运营复杂性加剧、预置周期延长、成本攀升。其他公司转向了云基础设施以获得弹性和规模效应,但是他们经常面临着复杂的预置、合作伙伴的特定连接等问题,而且需要做出长期承诺才能实现成本效益。这些差距导致运营开销增大,并且限制了敏捷性。为了克服这些挑战,AWS RTB Fabric 提供了一个专为 RTB 工作负载而构建的托管式私有网络,此网络可以提供稳定的性能、简化合作伙伴的加入过程和实现可预测的成本效益,并且消除了维护主机托管或自定义网络设置的负担。

关键功能
AWS RTB Fabric 提供了一个用于大规模运行 RTB 工作负载的托管式基础。这项服务提供了下面这几种关键功能:

  • 简化与广告技术合作伙伴的连接 – 当您注册 RTB Fabric 网关时,这项服务会自动生成可以与所选的合作伙伴共享的安全端点。使用 AWS RTB Fabric API,您可以创建一些经过优化的私有连接,以便在不同的环境之间安全地交换 RTB 流量。还提供了一些外部链路,可连接到不使用 RTB Fabric 的合作伙伴,例如在本地或第三方云环境中运营的那些合作伙伴。这种方法缩短了集成时间并简化了广告技术参与者之间的协作。
  • 用于处理低延迟广告事务的专用网络 – AWS RTB Fabric 提供了一个托管式高性能网络层,针对 OpenRTB 通信进行了优化。这个网络层通过私有的高速链路来连接 SSP、DSP 和发布商等广告技术参与者,这些链路提供了稳定的个位数毫秒级延迟。这项服务会自动优化路由路径,以便保持可预测的性能并降低网络成本,而无需手动进行对等连接或配置。
  • 与 RTB 经济效益保持一致的定价模式 – AWS RTB Fabric 使用基于事务的定价模式,以便与程序化广告的经济效益保持一致。以每十亿个事务为单位向客户收费,这样就提供了可预测的基础设施成本,这些成本与广告交易平台、SSP 和 DSP 的运作方式保持一致。
  • 内置的流量管理模块 – AWS RTB Fabric 包含一些可配置的模块,这些模块可以帮助广告技术工作负载高效、可靠地运行。借助速率限制器、OpenRTB 筛选器和错误屏蔽等模块,您可以控制请求量、验证消息格式以及直接在网络路径中管理响应处理。这些模块以内联方式在 AWS RTB Fabric 环境内执行,可以保持网络速度性能,而不会导致应用程序级延迟增大。通过 AWS RTB Fabric API 来管理所有的配置,这样,您就可以随着工作负载的扩展,以编程方式定义和更新规则。

开始使用
现在,您可以通过 AWS 管理控制台AWS 命令行界面(AWS CLI)或者基础设施即代码(IaC)工具(例如 AWS CloudFormationTerraform),开始使用 AWS RTB Fabric 进行构建。

此控制台提供了一个直观的入口点,用于查看和管理 RTB 网关和链路,如 AWS RTB Fabric 控制台控制面板中所示。

您还可以使用 AWS CLI,以编程方式配置网关、创建链路和管理流量。当开始使用 AWS RTB Fabric 进行构建时,我使用 AWS CLI 配置了从网关创建到链路设置再到流量监控的各种操作。此设置在我的 Amazon Virtual Private Cloud(Amazon VPC)端点内运行,而 AWS 托管着连接了工作负载的低延迟基础设施。

首先,我创建了一个用于发送竞价请求的请求者网关,和一个用于接收并处理竞价响应的响应者网关。这两个网关在 AWS RTB Fabric 内充当安全的通信点。

# 使用所需的参数创建一个请求者网关
aws rtbfabric create-requester-gateway \
  --description "我的 RTB 请求者网关" \
  --vpc-id vpc-12345678 \
  --subnet-ids subnet-abc12345 subnet-def67890 \
  --security-group-ids sg-12345678 \
  --client-token "unique-client-token-123"
# 使用所需的参数创建一个响应者网关
aws rtbfabric create-responder-gateway \
  --description "我的 RTB 响应者网关" \
  --vpc-id vpc-01f345ad6524a6d7 \
  --subnet-ids subnet-abc12345 subnet-def67890 \
  --security-group-ids sg-12345678 \
  --dns-name responder.example.com \
  --port 443 \
  --protocol HTTPS

当这两个网关都处于活动状态之后,我创建了一个从请求者连接到响应者的链路,以便为 OpenRTB 流量建立一个私有的低延迟通信路径。此链路会自动处理路由和负载均衡。

# 请求者账户创建一个从请求者网关连接到响应者网关的链路
aws rtbfabric create-link \
  --gateway-id rtb-gw-requester123 \
  --peer-gateway-id rtb-gw-responder456 \
  --log-settings '{"applicationLogs:{"sampling":"errorLog":10.0,"filterLog":10.0}}'
# 响应者账户接受一个从请求者网关连接到响应者网关的链路
aws rtbfabfic accept-link \
  --gateway-id rtb-gw-responder456 \
  --link-id link-reqtoresplink789 \
  --log-settings '{"applicationLogs:{"sampling":"errorLog":10.0,"filterLog":10.0}}'

我还使用外部链路连接到外部合作伙伴,这些外部链路将我的 RTB 工作负载扩展到本地或第三方环境,同时保持相同的延迟和安全特征。

# 为外部合作伙伴创建一个入站外部链路端点,以便向其发送竞价请求
aws rtbfabric create-inbound-external-link \
  --gateway-id rtb-gw-responder456
# 创建一个出站外部链路,以便向外部合作伙伴发送竞价请求
aws rtbfabric create-outbound-external-link \
  --gateway-id rtb-gw-requester123 \
  --public-endpoint "https://my-external-partner-responder.com"

为了高效地管理流量,我将一些模块直接添加到数据路径中。速率限制器模块负责控制请求量,OpenRTB 筛选器以内联方式,按网络速度来验证消息格式。

# 连接一个速率限制模块
aws rtbfabric update-link-module-flow \
  --gateway-id rtb-gw-responder456 \
  --link-id link-toresponder789 \
  --modules '{"name":"RateLimiter":"moduleParameters":{"rateLimiter":{"tps":10000}}}'

最后,我使用 Amazon CloudWatch 来监控吞吐量、延迟和模块性能,并将日志导出到 Amazon Simple Storage Service(Amazon S3)以进行审计和优化。

也可以使用 AWS CloudFormation 或 Terraform 来自动设置所有的配置,这样即可在多个环境中实现一致、可重复的部署。使用 RTB Fabric,我可以专注于优化竞价逻辑,与此同时,AWS 会在我的广告技术合作伙伴之间保持可预测的个位数毫秒级延迟性能。

有关更多详细信息,请参阅《AWS RTB Fabric 用户指南》。

现已推出
AWS RTB Fabric 已在以下 AWS 区域中推出:美国东部(弗吉尼亚州北部)、美国西部(俄勒冈州)、亚太地区(新加坡)、亚太地区(东京)、欧洲地区(法兰克福)和欧洲地区(爱尔兰)。

AWS RTB Fabric 不断发展,以满足广告技术行业不断变化的需求。这项服务扩展了多项功能,以便支持在实时竞价工作流中安全地集成高级应用程序和人工智能驱动的优化,从而帮助客户在 AWS 上简化运营和提高性能。要详细了解 AWS RTB Fabric,请访问 AWS RTB Fabric 页面

Betty

AWS 架构师中心: 云端创新的引领者

探索 AWS 架构师中心,获取经实战验证的最佳实践与架构指南,助您高效构建安全、可靠的云上应用