写点什么

DynamoDB DNS 系统中的竞争条件:分析 AWS US-EAST-1 中断事件

作者:Renato Losio

  • 2025-11-20
    北京
  • 本文字数:1277 字

    阅读完需:约 4 分钟

大小:663.86K时长:03:46
DynamoDB DNS系统中的竞争条件:分析AWS US-EAST-1中断事件

10 月 19 日和 20 日,亚马逊云科技公司(AWS)经历了一次长时间的中断,原因是亚马逊 DynamoDB 故障,影响了其最受欢迎的北弗吉尼亚地区的大部分服务。这家云提供商发布了一份对该事件的分析报告,引发了社区对 AWS 冗余、退出公有云以及多区域方法的讨论。

 

根据事后分析报告,该报告提供了 DynamoDB DNS 管理架构的详细信息,事件是由服务的自动 DNS 管理系统中的潜在缺陷触发的,导致 DynamoDB 的端点解析失败。其他依赖 DynamoDB 的流行服务,包括新的 EC2 实例启动、Lambda 调用和 Fargate 任务启动,也在中断期间受到影响。在对美国东部 1 区 Amazon DynamoDB 服务中断的总结中,团队承认可靠性问题严重影响了许多客户。他们写道:

 

这个问题的根本原因是 DynamoDB DNS 管理系统中存在的潜在竞态条件,导致服务区域端点(dynamodb.us-east-1.amazonaws.com)的错误空 DNS 记录,自动化无法修复。

 

虽然事件报告关注特定的 2 或 3 小时的时间段和服务,但对许多客户的影响持续时间要长得多,一些客户报告问题持续了长达 15 小时。虽然在许多在线讨论中开发者开玩笑说“总是 DNS”,但 AWS 英雄和无服务器专家Yan Cui在他的简报中强调:

 

DNS 故障是最近 AWS 宕机的第一个症状,而不是根本原因。根本原因是 DynamoDB 内部微服务中的竞态条件,该微服务为 DynamoDB 的区域单元自动化 DNS 记录管理。

 

在中断期间,新的 EC2 实例在虚拟化层面被创建,但它们的网络配置从未完成。此外,新启动的 EC2 实例的网络状态传播延迟也对网络负载均衡器服务和所有依赖它的服务产生了连锁影响。CloudZero 研究主管 Jeremy Daly写道

 

好消息是什么?一切都恢复正常了。坏消息呢?人们对此失去了理智,认为通往车库的 T1 线路会更有弹性。

 

AWS 还没有解决竞争条件的问题,但是由于这次宕机,AWS 正在计划进行一些短期和长期的更改。该团队写道:

 

我们已经在全球范围内禁用了 DynamoDB DNS Planner 和 DNS Enactor 自动化。在重新启用此自动化之前,我们将修复竞态条件场景,并增加额外的保护措施,以防止应用错误的 DNS 计划。对于 NLB,我们正在添加一个速度控制机制,以限制单个 NLB 在健康检查失败导致 AZ 故障转移时可以移除的容量。

 

此外,云服务提供商计划改进 EC2 数据传播系统中的节流机制,根据等待队列的大小对传入工作进行速率限制,以在高负载期间保护服务。

 

在一篇广受欢迎的LinkedIn帖子中,ERGO Technology 的 DevOps 顾问 Roman Siewko 认为,尽管中断影响了众多大型提供商并受到了广泛关注,但实践者在做出改变之前也应该了解历史和实际数字。Siewko 评论道:

 

2025 年 10 月 20 日发生的大约 15 小时 AWS 中断给人留下了深刻印象。相比之下,很难将其与前几年近乎无声的可靠性进行比较。(...)大多数时候,它更接近四个九。截至 2025 年 10 月 25 日,滚动数字是 99.84%(1 年)和 99.95%(5 年)。

 

Rebase 的联合创始人兼首席执行官 Mudassir Mustafa补充道

 

在可靠性工程中,记忆偏差往往大于数据偏差。团队对罕见事件反应过度,但对保持年复一年正常运行时间稳定的缓慢、无形的工作投入不足。

 

AWS事件历史记录跟踪所有受影响的服务及其时间线。

 

原文链接:

https://www.infoq.com/news/2025/11/aws-dynamodb-outage-postmortem/

2025-11-20 13:002159

评论

发布
暂无评论

技术管理 之 技术

码猿外

技术管理

跟着卷卷龙一起学Camera--ISO

卷卷龙

ISP camera 10月月更

Python应用之基础结构:二叉树 前序遍历

芯动大师

二叉树 遍历 10月月更

数据结构线性表链表

IC00

c 链表 数据结构算法 10月月更 链表结构

跟着卷卷龙一起学Camera--金字塔融合法02

卷卷龙

ISP camera 10月月更

斐波那契数

掘金安东尼

算法 10月月更

【C语言内功修炼】动态内存管理的奥秘

Albert Edison

C语言 malloc 动态内存 10月月更 free

【算法作业】实验二:给立方体排序的小明&&同时整除的数

清风莫追

数据结构 算法 10月月更

IDEA的Docker插件实战(Dockerfile篇)

程序员欣宸

Docker IDEA 10月月更

业务流程巡检拨测常用的开源工具

阿泽🧸

10月月更 业务流程

大数据ELK(十八):Beats 简单介绍和FileBeat工作原理

Lansonli

10月月更 大数据ELK

大数据ELK(十七):Elasticsearch SQL 订单统计分析案例

Lansonli

10月月更 Elasticsearch SQL

【Nacos源码之配置管理 八】客户端怎么获取服务端集群列表

石臻臻的杂货铺

nacos 10月月更

【Java深入学习】可见性

Geek_65222d

10月月更

微信朋友圈高性能复杂度分析

Geek_1264yp

【Nacos源码之配置管理 七】服务端增删改配置数据之后如何通知集群中的其他机器

石臻臻的杂货铺

nacos 10月月更

Python应用之基础结构:链表- 删除排序链表中的重复元素

芯动大师

10月月更 链表结构 基本元素

Vue常用修饰符大全

CoderBin

面试 Vue 前端 10月月更

AI大模型的白垩纪

脑极体

Spring Boot「01」构建 REST API

Samson

Java Spring Boot Web 学习笔记 10月月更

【算法作业】实验三:划分集合-贪心 & 可能的IP地址-回溯

清风莫追

数据结构 算法 10月月更

【算法作业】实验四:逆波兰表达式求值 & Fibonacci数列的尾递归与非递归程序

清风莫追

数据结构 算法 10月月更

Python进阶(七)浅谈python3和Python2的区别

No Silver Bullet

Python3 区别 10月月更 Python2

跟着卷卷龙一起学Camera--金字塔融合法01

卷卷龙

ISP camera 10月月更

Python进阶(五)浅谈python匿名函数及编写无参数decorator

No Silver Bullet

Python 10月月更 匿名函数 无参数decorator

Python应用之基础结构-链表-合并两个有序链表

芯动大师

链表 10月月更 合并有序

2022-10-08:以下go语言代码输出什么?A、0 0;B、0 4;C:4 0;D:4 4。 package main const s = “Go101.org“ // len(s) == 9

福大大架构师每日一题

golang 福大大 选择题

40道Promise输出题,你都会了吗?🔥

CoderBin

面试 前端 JavaScrip 10月月更

分布式定时任务设计及其框架

穿过生命散发芬芳

10月月更 分布式定时任务

2022 年适用于 Linux 和 Windows 的五款最佳 Python 代码编辑器

wljslmz

Python ide 编辑器 10月月更

Photoshop软件应用项目(二)

张立梵

设计师 ps 10月月更

DynamoDB DNS系统中的竞争条件:分析AWS US-EAST-1中断事件_云计算_InfoQ精选文章