【51CTO.com快译】有个AWS工程师在调查Northern Virginia (US-EAST-1) Region上S3的一个和账务系统相关的问题时,有一条命令敲错了,结果移除了大量的S3的控制系统,最终导致AWS S3出现故障。
根据AWS方面于本周四发布的报告,此前出现的长达数小时的AWS主站离线与服务宕机事故源自一项输入错误。
该云基础设施服务供应商发布了以下说明:
Amazon简单存储服务(简称S3)团队当时正在对一项导致S3计费系统运行缓慢的问题进行调试。于当天上午9:37(太平洋时间),一位授权S3团队成员利用一份已经过确认的playbook执行一条命令,旨在移除某S3子系统内的少部分负责实现S3计费流程的服务器。遗憾的是,命令中的一条输入结果存在拼写错误,最终导致大部分服务器遭到意外移除。
这项错误无意中导致美国东一服务区(为Amazon旗下历史最为悠久的大规模数据中心)内全部S3对象所高度依赖的两套关键子系统。两套系统需要全面重启。而整个修复过程加上其它一些必要的安全性检查“所需要的时间比预期更长”,Amazon方面指出。
尽管两套已经当时已经得到重启,但S3仍然无法正确响应请求。该服务区中其它依赖于S3的AWS服务亦受到影响,具体包括S3控制台、Amazon弹性计算云(简称EC2)新实例启动、Amazon弹性块存储(简称EBS)分卷(限于需要读取S3快照的数据)以及AWS Lambda。
Amazon方面指出,其中的索引子系统已经于当天中午1:18(太平洋时间)完全恢复,而放置子系统则在中午1:54(太平洋)恢复。到这里,S3已经能够正常运转。
AWS同时指出,其正在根据此次事故进行“数项调整”,具体包括采取举措以避免未来再次因错误输入引发类似问题。
“尽管移除容量属于一项关键性操作实践,但在目前的情况下,我们使用的工具在移除容量时的执行速度过快,”AWS在博文中解释称。“我们已经对此工具进行了修改以更慢进行容量清除,同时增加了安全措施以防止任何子系统在容量移除后遭遇现有容量低于***容量需求的情况。”
另外,AWS还采取了其它一些值得关注的举措:将索引子系统拆分成更小的功能单元。该公司亦变更了AWS服务状态仪表板的管理控制台,确保其能够跨多个AWS服务区实现运行。(讽刺的是,此次输入错误导致该仪表板于周二失灵,因此AWS方面必须依靠Twitter向客户发布问题的动态更新。)
原文标题:Amazon knocked AWS sites offline because of typo 原文作者:Stephanie Condon
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】