物理破坏与区域崩溃:AWS ME-CENTRAL-1 中断分析
云基础设施的弹性通常从软件缺陷、配置错误或局部电力故障的角度进行讨论。然而,最近在 AWS 中东(阿联酋)区域(ME-CENTRAL-1)发生的一系列事件,鲜明地提醒我们,物理安全和地缘政治的稳定是数字可用性的根本。当初被报告为“局部电力问题”,最终升级为涉及数据中心结构损坏的区域危机,导致超过 130 项 AWS 服务中断。
该事件为架构师和工程师提供了一个关键案例,阐明可用区(AZ)冗余与真正的区域灾难恢复之间的区别。当多个可用区的物理完整性受到破坏时,标准的“多 AZ”策略已不再足够。
升级过程:从电力问题到物理打击
中断分阶段展开,随着情况严重程度的明确,AWS 的沟通内容也在演变。最初,在 3 月 1 日,故障被描述为影响单个可用区 (mec1-az2) 的“局部电力问题”。AWS 报告称,有物体击中数据中心,导致火花和火灾,消防部门因此切断了设施及其发电机的电源。
到 3 月 2 日,影响范围显著扩大。AWS 确认 ME-CENTRAL-1(阿联酋)和 ME-SOUTH-1(巴林)区域因无人机袭击而受到物理冲击。在阿联酋,两个设施被直接击中;在巴林,附近的一次袭击导致了重大物理损坏。其后果是灾难性的:
- 结构损坏: 数据中心设施被直接击中。
- 电力故障: 电力输送系统中断。
- 次生损坏: 由于消防抑制活动导致的水损。
多米诺效应:基础服务崩溃
该事件最具技术性的收获之一是 AWS 服务的依赖链。中断展示了“基础服务”失效如何在整个生态系统中引发连锁崩溃。
S3 与 DynamoDB 瓶颈
AWS 将 Amazon S3 和 Amazon DynamoDB 确认为主要的基础服务。由于众多其他服务(AWS Lambda、Amazon Kinesis、Amazon CloudWatch 和 Amazon RDS)依赖 S3 和 DynamoDB 来获取状态、配置或存储,这些依赖服务在最初的电力中断后仍长期处于降级状态。
AZ 冗余的局限性
Amazon S3 设计用于承受单个可用区的完全失效。然而,日志显示了一个关键的临界点:
“当 mec1-az2 可用区被断电时……S3 仍然正常运行。当第二个可用区受损时,S3 错误率上升。随着两个可用区受到显著影响,客户在数据写入和导出时出现高失败率。”
这证实,尽管 S3 具有极高的耐久性,但其可用性依赖于区域内最少数量的功能可用区。一旦三个可用区中的两个(mec1-az2 和 mec1-az3)受损,区域服务实际上就崩溃了。
恢复挑战与缓解措施
从物理破坏中恢复在本质上不同于从软件崩溃中恢复。AWS 必须同步推进两条路径:
- 物理修复: 修复结构损坏、恢复制冷系统,并与当地主管部门协调安全重新供电。该过程预计需要数月才能完全恢复。
- 基于软件的缓解: 部署更新,使 S3 和 DynamoDB 能在极度受限的基础设施中运行,并通过网络层面的更改将流量从受影响的可用区转移。
尽管采取了这些措施,局势仍然极其不稳定,以至于 AWS 采取了前所未有的举措,强烈建议客户将所有资源迁移到其他地区(美国、欧洲或亚太),并从远程备份恢复,指出运行环境仍然“不可预测”。
更广泛的影响与经验教训
虽然提供的日志聚焦于中东,但社区的反应凸显了对区域集中化的长期担忧。Hacker News 的用户指出了对 Coinbase、Modal 等平台的下游影响,说明一次区域性的 AWS 故障可以在 SaaS 生态系统中引发全球性的连锁反应。
关键架构要点
- Multi-AZ 并非 Multi-Region: 该事件证明物理灾难可以摧毁多个可用区。对于关键任务工作负载,多区域策略是确保在区域性灾难期间持续运行的唯一办法。
- 备份位置: 如果备份与主工作负载位于同一地区,而该地区遭受物理破坏,则备份毫无价值。真正的灾难恢复必须采用远程跨区域备份。
- 依赖映射: 工程师必须了解其应用依赖的“基础”服务。如果你的应用依赖于一个依赖 S3 的服务,那么实际上你依赖于 S3 的区域健康状况。
总之,ME-CENTRAL-1 中断是云计算中“黑天鹅”事件的警示性案例:云本身的物理毁灭。