「云计算也会翻车?」10月19日,一场由AWS引发的全球性宕机让无数网站、游戏甚至智能家居集体罢工数日。亚马逊最新发布的故障分析报告揭示了一个令人咋舌的真相——那个运维工程师口口相传的段子竟然成真:「绝不可能是DNS的问题!……好吧,果然又是DNS。」

故障起源于DynamoDB数据库的DNS配置失误。当自动化系统试图在Route53(AWS的DNS服务)上更新计划时,两个并行的「执行器」意外擦枪走火:一个仍在应用旧配置,另一个却已清理缓存,最终导致所有DynamoDB的DNS记录被清空。这种教科书级的「竞态条件」错误,就像《猫和老鼠》里互相拆台的闹剧,却让半个互联网陷入瘫痪。

如同连环车祸引发的高速公路拥堵,最初三小时的核心故障迅速波及AWS的EC2虚拟机服务。依赖DynamoDB的自动扩容系统陷入混乱,新实例无法生成,积压请求如雪球般越滚越大。更糟的是,网络负载均衡器(NLB)因为DNS异常频繁下线健康节点,即便底层服务器已恢复,用户仍遭遇服务中断。亚马逊工程师不得不手动「踩刹车」——限流EC2创建,耗时数日才逐步恢复秩序。

这场价值数亿美元的事故给云服务敲响警钟。亚马逊承诺为DNS系统增加防冲突机制,EC2将模拟极端场景测试,而NLB的健康检查也将更「宽容」。但深层次问题在于:当自动化系统的设计容错不足时,「云」不过是堆叠的脆弱积木。正如网友调侃:「所谓的云端,终究是别人家的服务器。」