AWS 称部分中东数据中心被伊朗袭击后数据无法恢复
文章摘要
《华尔街日报》记者 Omar Abdel-Baqui 的这篇短讯(原文约两分钟阅读量,正文位于付费墙之后,本文主要依据可见的标题、副标题与开头段落,并结合 HN 讨论中引述的一手信息)报道:亚马逊云服务在周二表示,它已无法恢复部分存放在波斯湾数据中心的客户数据。副标题写得很直接——这是首次有迹象表明,某些仅存放在巴林和阿联酋的数据可能永久丢失。
背景是今年春天美国对伊朗开战的最初几天,伊朗向这些设施发动了无人机蜂群袭击。AWS 位于阿联酋和巴林的数据中心自此基本处于离线状态,其中巴林的损毁横跨多个 AWS 设施。报道配图是行星实验室(Planet Labs)拍摄的阿布扎比 AWS 数据中心遇袭画面。
HN 讨论中补充的关键事实是:对于 me-south-1(巴林)区域,提供冗余的三个可用区全部被摧毁——也就是说,该区域内的”多可用区冗余”在这次事件中完全失效,因为这份冗余在地理上被局限在一个很小的范围内,且处于同一个政权管辖之下。me-south-1 与 me-central-1(阿联酋)相距约 250 英里(400 公里),在区域战争的场景下同样不够远。AWS 并未公开说明具体受影响的是哪些服务产品,因此讨论中对”丢的到底是单可用区 S3、EBS、RDS 还是别的”始终没有定论。
需要说明的是:本篇原文受付费墙限制,仅能获取标题、副标题与前两段,后续细节以 HN 讨论中的引述和其他公开信息为依据,证据基础相对薄弱。
HN 评论精华
524 分、392 条评论。这是本期最热的讨论之一,几乎变成了一场关于”云的可靠性承诺到底承诺了什么”的公开研讨会。
11 个 9 到底意味着什么? 这是全场最激烈的争论。
- curuinor 开门见山:他们不是保证了 11 个 9 的持久性吗?
- advisedwang 纠正措辞:官方说的是”designed for”(按此设计),不是保证。ciberado 补充说 11 个 9 是设计目标,从未写进 SLA,S3 的 SLA 针对的是可用性而非持久性。jameshart 直接引用了那条脚注的开头——在一个可用区全部或部分损毁的罕见情况下,单区存储类中的数据可能丢失,火灾和水浸就是例子。
- beejiu 和 stackskipton 指出 SLA 排除不可抗力,多数合同都有战争与天灾免责条款。
- the8472 提出了本场最有说服力的反论:如果你已经把硬盘故障、宇宙射线之类的常规失效从系统里消除掉,算出来还剩 11 个 9,那么那些被你以”不可抗力”为名排除掉的事件,其发生概率其实远远主导了剩下的 0.0000000001%。这个地区过去一百年打过好几场仗,年战争率超过 1%,就算慷慨地假设一百场战争里只有一场影响到数据中心,战争仍是相关性极强的主要故障源。他因此讥讽这是”相当有创意的会计”。
- ployable7 给出了最专业的反驳,也是整条线里最值得读的一段:你不该把这两个数字混在一起,因为消费者针对它们采取的对策完全不同。把 11 个 9 理解成”对象年故障率”,你会去构建能容忍偶发单对象丢失的系统,知道这个速率是有用的;而面对不可抗力事件,你需要的是一整套完整的灾备方案,通常是异步恢复,这时你真正需要知道的是故障域的边界——单台服务器、单栋楼,还是多栋楼——才好做规划。把两个数字融成一个,反而让你无法据此构建更好的系统。
- oatmeal1 的比喻流传很广:在中东把战争列为不可抗力,就像在退潮时堆沙堡却把涨潮列为不可抗力。Y-bar 从法律角度补充:援引不可抗力通常需要同时证明事件不可预见、不可控且使履约成为不可能,而该地区的战争实在算不上不可预见。
- roryirvine 提供了亲历者视角:他曾在暴力事件远比今天频繁的北爱尔兰经营科技公司,合同里的不可抗力条款一向排除”骚乱、暴力失序、内乱和恐怖主义行为”——难道你指望 AWS 自建军队和导弹防御系统?shepherdjerred 也持同样立场。oatmeal1 的回怼同样犀利:你和亚马逊的区别在于几亿美元的政治献金和游说。
数据驻留要求是这场灾难的结构性原因。
- leftbehind 的一手经验最关键:他们收到了反复而持续的搬迁提醒,早在第一个可用区被毁之前就有了。问题在于,没有人会无缘无故把数据放在巴林——凡是放在那里的,都是因为存在数据驻留的法律要求。作为中间的供应商,他们在合同与法律上被明确禁止把哪怕是自己没有密钥的加密数据搬出境外,能做的最好的事,就是通知下游客户把桶下载到自己办公室的电脑上。
- bumblehean 讲了几乎一模一样的故事:第一个可用区倒下后他们想主动把客户数据冷备到别的区域,被法务当场否决。
- testplzignore 贴出 AWS 的数据隐私 FAQ:区域是你选的,未经你同意 AWS 不会把你的内容移出或复制到你所选区域之外。ericpruitt 补充说 AWS 也根本不知道每个客户的数据驻留要求是什么,擅自搬迁是法律噩梦。
- carefree-bob 把这件事称为数据驻留要求的反面:欧盟要求数据留在欧盟当然没问题,但真打起仗来、能源和基础设施被打击时,人们会希望当初在北美、亚洲留了备份。Barrin92 用欧盟数据保护委员会的文件反驳:欧盟的数据驻留要求并不绝对排除境外存储,加密备份只要密钥留在欧盟、传输机制安全,就是被明确认可的灾备手段。
AZ 和 Region 各自防的是什么。 zmgsabst 的说法被反复引用:可用区从来就不是为抗灾设计的,地震或飓风可以带走整个区域,区域才是 AWS 上的灾难隔离尺度。flumpcakes 稍作修正:区域作为隔离尺度只在极端情况下成立,比如陨石砸城,或者像这次一样在战争中被主动瞄准。toast0 则给出了很实用的推论:假定数据中心在战时仍是目标,那么只要一个国家里有一座被打,就该假定其余的也会被打;这种情况下,藏在不起眼位置的离线存储(磁带之类)可能才是答案。
灾备的现实成本。 Art9681 那句”没有灾备计划?没有异地备份?几十年前就有的基本原则被人抛到脑后了”引出了全场最有人味的一串回复。rbanffy 说:你要防的灾难越戏剧化,方案就越贵;本周早些时候他还说过,如果损失的数据中心多到能让他们停摆,待办清单上的第一项就变成了搞到武器、车辆和燃料。jiggawatts 讲了他跟一位经理关于学校保洁合同备份的争论:对方就是想不通,如果分布在两个州四栋楼里的六份副本同时被物理摧毁,那多半已经没有学校还立着了,清洁合同自然作废,而且付款方式也该改成酒和弹药了。chasd00 回忆自己 2000 年代初参观数据中心时问对方为什么只备 30 天的发电燃料而不是 35 天,得到的回答是:”我们是电力和燃料的超级大客户,如果 30 天都拿不到电或油,那比起你的网站掉线,世界上有更大的麻烦要操心。”
追责的可能性。 aprilthird2021 问亚马逊能不能起诉美国政府,因为战争实质上是美方挑起并造成了这笔损失。toast0 给出了一份相当扎实的法律分析:首先,无论美国做了什么,发动袭击的是伊朗,这是伊朗方面有意的、自主的行为;其次,找不到有管辖权的法院——美国有主权豁免,《军事索赔法》排除了因敌方行动或美军作战行动直接或间接导致的索赔,《联邦侵权索赔法》同时排除了”在外国产生的索赔”和”战时武装部队作战活动引起的索赔”,而判例承认无需宣战也可构成战争状态;被袭击国的法院未必愿意审理不在其境内发生的美方行为;伊朗法院大概率会认定这是合法战争行为而非侵权,何况拿着伊朗的判决也无从执行。他还附上了具体法条链接。