Cloudflare 2025年8月21日事故
2025年8月21日,由于单一客户发往 Cloudflare 缓存的请求激增,导致 Cloudflare 与亚马逊云科技(AWS)us-east-1 数据中心之间的网络连接出现严重拥堵。此次事件造成了高延迟、数据包丢失和连接失败等问题,影响了部分用户。Cloudflare 已为此道歉,并计划通过开发流量优先级机制、升级数据中心互联容量和构建新的流量管理系统等措施,来防止类似事件再次发生。
事件背景
Cloudflare 作为网站的反向代理,通过其全球网络缓存内容,为用户加速和保护网站。当请求的内容不在缓存中时,Cloudflare 会从客户的源服务器获取。这次事件的核心问题发生在 Cloudflare 与托管在 AWS us-east-1 的源服务器之间的网络连接上。尽管 Cloudflare 的内部网络容量设计充足,但连接到 AWS 的特定边缘路由器链路未能承受此次突发的流量高峰。
发生了什么
事件的导火索是一名客户从 AWS us-east-1 向 Cloudflare 发送了海量请求,这些请求产生的响应流量瞬间占满了 Cloudflare 与 AWS 之间的所有直连线路。
情况因以下几个因素而恶化:
- AWS 的应对措施: 为了缓解拥堵,AWS 撤回了部分 BGP 路由宣告,试图将流量转移。然而,这反而将流量推向了另一组容量不足的对等链路上,导致拥堵加剧。
- 预先存在的问题: 一条直连线路因先前故障仅以一半容量运行。
- 升级延迟: 连接 Cloudflare 边缘路由器与外部交换机的数据中心互联(DCI)正等待容量升级。
最终,通过与 AWS 团队的紧密合作,拥堵问题得以解决,服务恢复正常。
关键时间线
- 16:27 UTC: 单一客户流量激增,影响开始。
- 16:37 UTC: AWS 开始在拥堵的链路上撤回 BGP 路由。
- 16:44 UTC: Cloudflare 网络团队收到内部拥堵警报。
- 17:22 UTC: AWS 的措施导致更多流量被丢弃,影响加剧。
- 19:05 UTC: 对引发问题的客户进行速率限制,拥堵开始缓解。
- 19:27 UTC: Cloudflare 采取额外的流量工程措施,拥堵基本解决。
- 20:18 UTC: 影响结束。
改进措施与结论
这次事件凸显了增强防护机制的必要性,以确保单个客户的使用模式不会对整个生态系统产生负面影响。
我们从中得到的关键教训是,必须构建更好的客户隔离架构,防止任何单一实体独占共享资源,并增强我们的网络基础设施以满足需求。
为防止此类问题重演,Cloudflare 正在实施多阶段的改进策略:
近期措施:
- 开发一种机制,在某个客户的流量开始影响他人时,选择性地降低其流量优先级。
- 加速数据中心互联(DCI)的升级,大幅提升网络容量。
- 与 AWS 合作,确保未来的 BGP 流量工程操作不会相互冲突。
长期解决方案:
- 构建一个全新的、增强的流量管理系统。该系统将按客户分配网络资源预算,一旦超出,其流量将无法影响平台上的其他任何人。
我们对此次事件给客户带来的干扰深表歉意,并正积极采取这些改进措施,以确保未来的网络稳定性。