本周早些时候亚马逊 AWS S3 服务发生了下线数小时的事故,影响了许多网站和服务。现在亚马逊给出了
一个解释:下线是维护期间输错一行命令导致的。亚马逊称,一位 S3 团队成员计划从一个 S3 子系统移除少量用于 S3 计费处理的服务器,但输错了一个命令,导致移除的服务器数量超过预期,不小心移除了支持另外两个 S3 子系统的服务器。其中一个子系统是索引子系统,管理 US-EAST-1 区所有 S3 对象的元数据和位置信息,该子系统是服务 GET、 LIST、PUT 和 DELETE 请求所必不可少的。另一个布局子系统管理所有新储存的分配,需要索引子系统正常运作。在错误移除服务器之后,亚马逊必须彻底重启受影响的系统。重启期间 S3 无法服务请求,其它依赖于 S3 的服务如 EC2 、EBS 和 AWS Lambda 也都受到影响无法工作。亚马逊表示它已经采取方法防止类似的事件再次发生——限制服务器移除的能力。