QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

人为失误导致 AWS S3 的 US-EAST-1 区服务宕机

  • 2017-03-07
  • 本文字数:1219 字

    阅读完需:约 4 分钟

由一次失误引发的连锁反应导致了很多 S3 服务器宕机,其中包括两个影响 S3 运行的关键子系统。由此导致了 S3 的故障,影响到了不仅 S3 本身还有其他一些依赖 S3 的服务。四个小时后 S3 才重新恢复正常。

Amazon AWS 故障十分罕见,一旦发生整个因特网都能感受得到,不少服务会直接受到影响。近期这次故障于 2 月 28 日发生在北弗吉尼亚地区(US-EAST-1)。不仅 S3 运行瘫痪了,而且波及一系列依赖 S3 的 AWS 服务,包括 EC2、EFS、API Gateway、Athena、Cloudsearch、MapReduce 等。这些服务要么是在功能上出现大量错误,要么是完全无法工作。

在四个小时的瘫痪期间,据报告有不少企业服务下线或是受到严重干扰,包括 Expedia、GitLab、GitHub、GroupMe、IFTTT、Medium、Nest、Quora、Slack、The Verge、Trello、Twitch、Wix 等。就连 Amazon 自身的 Alexa 也出现故障了,导致 AWS 状态仪表盘有两个小时未实时更新。Amazon 借助 Twitter 发布错误报告,期间他们只得为状态页面临时添加一个手工编辑的横幅。

Amazon 事后给出了对该次事件分析的诊断报告。当时有一个Amazon 团队正在调试S3 的计费问题,有人想要输入一条命令,从S3 的一个计费子系统中删除一小部分服务器。但是这个工程师输入了错误的命令,导致了大量的S3 服务器关闭,包括两台在另外两个子系统中起关键作用的S3 服务器。其中一个子系统是为整个区域的S3 提供索引服务的,影响到GET、PUT、LIST 和DELETE 命令;另一个子系统用于S3 部署,涉及新对象的空间分配。因为这两个子系统停止工作,S3 的功能产生了大量错误,影响到很多用户。

虽然AWS 具备快速恢复单个子系统故障的操作规程,但是由于索引子系统已经有数年从未重启过,索引已增长得十分庞大,因此还是需要相当长的重启事件。虽然功能最终得以恢复,但是比预想的要慢。Amazon 已经计划今年稍后会对索引子系统进行分区,将索引分区为更小的块,使得重启更加快速。现在他们已经立刻着手进行分区,为将来可能发生的瘫痪情况做好准备。他们对工具做了修改,限制了每条命令可以关闭的服务器数量,还限制使用单个命令关闭整个子系统。他们还将在多个区域实现分布式的S3 仪表盘,以确保在一个区域停止服务时仪表盘依然保持工作。

Amazon 在 2011 年曾经历过一次瘫痪,也是发生在 US 东部区域,那一次瘫痪了 4 天时间。从两次故障中学习到的并得以应用的基本经验教训是,系统创建不应仅依赖在单一区域上,如果当前区域发生故障,可以切换到其他区域。Netflix 已经这样部署了,其他系统同样也可以。但是这会增加网络主机服务费,企业总是倾向于尽量地降低费用。总体来说,Amazon AWS 是可靠的,但是服务总不可避免会有瘫痪情况。所有云服务提供商皆是如此。

查看英文原文: A Human Error Took Down AWS S3 US-EAST-1


感谢薛命灯对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-03-07 18:001848
用户头像

发布了 227 篇内容, 共 77.9 次阅读, 收获喜欢 28 次。

关注

评论

发布
暂无评论
发现更多内容

面试突击49:说一下 JUC 中的 Exchange 交换器?

王磊

Java java面试

架构7期模块1作业

Elvis FAN

架构实战营

场景实践 | 如何使用融云超级群构建游戏社区

融云 RongCloud

要做研发高手,就是必须能看英文、写英文

TDengine

数据库 tdengine 开源

加入MOVE,一起体验Move2Earn的运动乐趣

BlockChain先知

学生管理系统架构设计图

Justin1024

ApacheCon Asia 2022 强势来袭!16 大专题等你投稿!

阿里巴巴云原生

开源 云原生 活动

携手数字人、数字空间、XR平台,阿里云与伙伴共同建设“新视界”

阿里云弹性计算

XR 数字人 视觉计算 瑶台

互联网公司目标管理OKR实践落地与反思

laofo

互联网 OKR 研发效能 绩效管理 快手

B站S11破亿直播在线稳定性保障秘籍——演讲实录

TakinTalks稳定性社区

混沌工程 系统稳定性 全链路压测 安全生产

敏捷已死

方云AI研发绩效

开启分布式应用性能观测(APM)

观测云

可观测性 可观测

TDengine在弘源泰平量化投资中的实践

TDengine

数据库 tdengine 开源 时序数据库

【刷题第12天】58. 最后一个单词的长度

白日梦

5月月更

互联网大厂研发效能团队的需求管理

laofo

互联网 DevOps cicd 研发效能 CI/CD

私有化的IM即时通讯平台,企业首选的沟通工具

BeeWorks

ShardingSphere 在东南亚|与科技保险公司 Fuse 的技术融合

SphereEx

Apache 开源 ShardingSphere SphereEx 数据库·

为什么说 MongoDB 和 HBase 不适用于汽车行业的时序数据处理?

TDengine

数据库 tdengine 开源 时序数据库

携手 TDengine,释普科技升级实验室仪器、监控智能方案

TDengine

数据库 tdengine 开源 物联网

争夺存量用户关键战,助力企业构建完美标签体系丨01期直播回顾

袋鼠云数栈

大数据 数据中台

互联网公司目标管理OKR和绩效考核误区

laofo

OKR 研发效能 互联网公司 快手 绩效考核 GRAD

时间序列化数据库选型?时序数据库的选择?

TDengine

数据库 tdengine

Docker学习记录

ZuccRoger

5月月更

Reactor百万连接的并发

C++后台开发

reactor 高并发 epoll Linux服务器开发 C++后台开发

通过 Amazon API Gateway 和 Amazon Lambda 实现基于 Restful API 的 CloudFront Distribution 复制/克隆功能

亚马逊云科技 (Amazon Web Services)

Lambda Gateway

直播预约|数据指标体系如何搭建才最有效,从0到1带你快速入门

袋鼠云数栈

大数据 数据中台

[Day41]-[回溯]-全排列

方勇(gopher)

LeetCode 回溯算法 数据结构算法

万字长文:手把手教你实现一套高效的IM长连接自适应心跳保活机制

JackJiang

TCP 网络编程 即时通讯 im开发 心跳保活

时序数据库的集群方案?

TDengine

数据库 tdengine 开源

netty系列之:在netty中实现线程和CPU绑定

程序那些事

Java Netty 程序那些事 5月月更

TDengine 在酷哞哞的应用

TDengine

数据库 tdengine 开源 物联网

人为失误导致AWS S3的US-EAST-1区服务宕机_亚马逊云科技_Abel Avram_InfoQ精选文章