亚马逊网络服务(AWS)从都柏林数据中心停电事故中学到了很多的经验教训.该公司表示,他们已经从此次事件中充分总结了经验教训,将改善数据中心电源冗余、负载均衡以及当云计算出现故障时的通信的方式。
检验报告对造成停电的原因进行了深入的研究,此次停电事故影响到了亚马逊的EC2(弹性计算云Elastic Compute Cloud)、EBS(弹性数据 块存储Elastic Block Store)、关系数据库服务以及亚马逊的网络。服务中断从八月七日上午10:41开始,当时亚马逊的的公用事业供应商 遭受了变压器故障。起初,被认为是由雷击造成的,但供应商认为那不是真实的原因,据亚马逊表示,该事件目前还在继续调查中。
通常情况下,当主电源发生故障,电力负荷将无缝启动备用发电机。可编程逻辑控制器(PLC)保证在电气阶段在线联机同步发电机。但在这 种情况下,PLC没有完成其任务,可能是因为一个大的接地故障,从而导致一些发电机的失败,据亚马逊介绍。?
为了避免再次发生类似事件,亚马逊将增加冗余,并隔离其PLC,使他们与其他故障绝缘。
亚马逊的云基础设施分为地理区域(Region Zone)和可用区域(Availability Zone)。所谓的地理区域:例如,在都柏林的数据中心,又被称为西欧联盟区域,由一个或多个可用性区域组成,它们被设计为与同一地区的其他区域中的故障绝缘。这种想法是源于方便客户可以使 用多个区域,以提高可靠性,亚马逊用来简化工作。
在中断时间内,西欧联盟可用区域的多家曾采用了EC2和EBS卷的客户并没有经历服务中断,据亚马逊介绍。但是,管理服务器超载导致了停电,对整个地理地区都造成了影响。
为了避免再次发生这种情况,亚马逊将实现更好的负载平衡。此外,在过去的几个月中,亚马逊已经“进一步发展了隔离EC2控制面板元件, 以消除因一个可用性区域可能的延迟或失败对我们处理调用其他可用性区域能力所带来的影响。这项工作仍在进行之中,将需要几个月的时间来完成,据亚马逊介绍说。
亚马逊服务的最大的问题来自于其EBS,是用来存储EC2的数据的。通过耐用性和可用性的节点服务复制整个卷中的数据。之后,停运的节点 便开始互相复制更改。亚马逊其实有能力做到这一点,只是此次的数据流量太大。
当一个卷中的所有节点都同时断电,在某些情况下,亚马逊必须通过汇集恢复快照重新创建数据。而产生这些快照的过程是相当费时的,因为亚马逊已经将所有的数据都移动到了亚马逊简单存储服务(S3)进行处理,将其变成了快照存储格式,然后使用户可以通过他们的账户访问数据。
亚马逊表示,截至8月10日下午8:25,98%的恢复快照均已交付,剩下的需要手动。
对于EBS中,亚马逊的目标将是在一次重大停电事故之后大大缩减其恢复时间。他们会做到的,例如,在恢复供电后,直接在EBS服务器恢复 卷,而无需将数据移动到其他地方。
提供的存储服务不仅仅只是受到了停电的影响,而且还受到不同的软件和人为因素的影响,当硬件故障没有正确处理时,这种现象就会发生。
因此,一些数据块被错误地标记为删除。后来,在作进一步数据分析时发现了这些错误标签,但人为检查过程中却没有发现删除过程被执行了,据亚马逊介绍。为了防止再次发生,他们正在建立一个新的报警功能,将提醒亚马逊任何异常情况的发生。
用户如何能够体验到这种断电也取决于这些受断电影响的公司是否及时的进行了更新。
“客户对于他们在断电恢复期间应该做些什么的焦虑心情是可以理解的。”亚马逊表示。尽管该公司尽了最大努力保证了用户在第一时间的 知情权,但他们仍然存在有待改进的地方。例如,他们可以加快早期响应的速度,派遣工作人员支持团队,更早的告诉用户他们的资源是否受到了影响,亚马逊表示。
该公司正在研发后者的工具,并希望能在未来几个月的时间里问世。
亚马逊同时还为断电停运事故进行了道歉,将给予受影响的用户服务折扣。 EC2/EBS和RDS数据库的用户将获得相当于10天的服务折扣。此外,受到EBS软件bug影响的公司将获得30天的EBS服务折扣。服务折扣将会自动从未来的AWS的合同中扣除。