Snowflake软件更新导致10个区域服务中断13小时

12月16日,Snowflake云数据平台因软件更新在全球23个区域中的10个发生13小时宕机。客户无法执行查询或数据摄取,出现"SQL执行内部错误"。调查显示,最新版本引入了向后不兼容的数据库模式更新,导致版本不匹配错误。受影响区域包括Azure美国东部2区、AWS美国西部等。专家指出,这类逻辑故障暴露了现代云平台在兼容性治理方面的薄弱环节。

12月16日,云数据平台Snowflake因软件更新问题导致全球23个区域中的10个区域发生长达13小时的服务中断,客户无法执行查询或摄取数据。

事故详情和影响范围

根据Snowflake的事故报告,客户在尝试查询数据仓库时看到"SQL执行内部错误"消息。此次中断还影响了Snowpipe和Snowpipe Streaming文件摄取功能,数据聚类状态也出现异常。

Snowflake在报告中表示:"初步调查发现,我们最新的发布版本引入了向后不兼容的数据库架构更新。因此,之前的发布包错误地引用了更新的字段,导致版本不匹配错误,使操作失败或需要很长时间才能完成。"

受影响的区域包括弗吉尼亚州的Azure East US 2、俄勒冈州的AWS US West、爱尔兰的AWS Europe、孟买的AWS Asia Pacific、苏黎世的Azure Switzerland North、伦敦的Google Cloud Platform Europe West 2、新加坡的Azure Southeast Asia、Azure Mexico Central和Azure Sweden Central。

Snowflake最初估计服务将在当天15:00 UTC恢复,但后来修订为16:30 UTC,因为弗吉尼亚区域的恢复时间比预期更长。在中断期间,公司除了建议已启用复制功能的客户故障转移到未受影响的区域外,没有提供其他解决方案。

技术分析和深层问题

Greyhound Research首席分析师Sanchit Vir Gogia表示,影响Snowflake的这类故障——向后不兼容的架构变更导致多区域中断——代表了现代云数据平台中一个持续被低估的故障类别。他指出,架构和元数据位于控制平面层,管理服务如何解释状态并协调跨地理区域的行为。

"当故障是物理或基础设施层面时,区域冗余是有效的。但当故障是逻辑和共享的时,区域冗余就无法发挥作用,"Gogia说。"当元数据契约以向后不兼容的方式发生变更时,每个依赖该共享契约的区域都变得脆弱,无论数据实际驻留在何处。"

此次中断暴露了平台测试方式与生产环境实际行为之间的错位。生产环境涉及客户端版本漂移、缓存执行计划和跨越发布边界的长时间运行作业。"向后兼容性故障通常只有在这些现实情况相互交织时才会浮现,而在发布前彻底模拟这种情况是困难的,"他说。

部署和恢复挑战

这个问题引发了对Snowflake分阶段部署流程的质疑。Gogia表示,分阶段推出被广泛误解为包含保证,实际上它们是概率性风险降低机制。向后不兼容的架构变更通常会随着不匹配组件的交互而逐渐降低功能,使变更在检测阈值被突破之前就传播到各个区域。

Snowflake的发布文档描述了一个三阶段部署方法,"使Snowflake能够在账户迁移时监控活动并响应可能出现的任何问题。"文档指出,"如果在将账户移至完整发布版或补丁发布版时发现问题,发布可能会被暂停或回滚",后续工作通常在24到48小时内完成。然而,12月16日的中断同时影响了10个区域,持续时间远超该窗口期。

回滚过程也面临挑战,因为虽然代码可以快速回滚,但状态不能。架构和元数据变更与实时工作负载、后台服务和缓存状态相互作用,在逆转时需要时间、仔细排序和验证,以避免二次损坏。

对运营韧性的启示

Gogia认为,12月的中断结合Snowflake在2024年早些时候的安全问题,应该从根本上改变首席信息官定义运营韧性的方式。2024年中期,约165个Snowflake客户成为犯罪分子的目标,这些犯罪分子使用从信息窃取器感染中获得的被盗凭据。

"这些不是属于不同风险孤岛的独立事件。它们是同一个根本问题的表现:压力下的控制成熟度,"Gogia说。"在安全事件中,被盗凭据利用了薄弱的身份治理。在中断中,向后不兼容的变更利用了薄弱的兼容性治理。"

首席信息官需要超越合规性语言和正常运行时间平均值,询问关于平台在假设失败时如何表现的行为问题。"正确的问题是行为性的。平台在假设失败时如何表现,如何检测新兴风险,多快能够限制爆炸半径。"

Q&A

Q1:Snowflake此次中断的主要原因是什么?

A:Snowflake此次中断的主要原因是软件更新引入了向后不兼容的数据库架构更新。这导致之前的发布包错误地引用了更新的字段,造成版本不匹配错误,使操作失败或需要很长时间才能完成,最终导致客户无法执行查询或摄取数据。

Q2:为什么区域冗余在这次故障中没有发挥作用?

A:区域冗余在物理或基础设施层面的故障时是有效的,但这次是逻辑和共享层面的故障。当元数据契约以向后不兼容的方式发生变更时,每个依赖该共享契约的区域都变得脆弱,无论数据实际驻留在何处。因此10个区域同时受到影响。

Q3:这次事件对企业IT管理有什么启示?

A:这次事件结合Snowflake的安全问题,显示了压力下控制成熟度的重要性。首席信息官需要超越传统的合规性指标,关注平台在假设失败时的行为表现,包括如何检测新兴风险以及多快能够限制影响范围,从而重新定义运营韧性。

来源:InfoWorld

0赞

好文章,需要你的鼓励

2026

01/04

08:34

分享

点赞

邮件订阅