AWS中断表示即使在云中也需要冗余
如果有人对亚马逊网络服务在保持商业网站平稳运行中的关键作用有任何疑问,这个问题肯定在2月28日该公司的S3存储服务部分关闭时得到了回答。这次失败让从苹果到证大的数十家公司运营的网络服务消失了。
【资料图】
令许多用户感到沮丧的是,亚马逊AWS仪表板(应该报告他们的Web服务的健康状况)报告说,一切都在正常工作(即使显然没有)。原因是仪表板依赖于亚马逊的S3存储,无法接收关于中断的更新信息。
承认AWS有问题,并承诺让客户了解最新情况。但是更新在下午中途停止了。AWS团队的最后一条推文是:“对于S3来说,我们认为我们知道根本原因,并且正在努力解决这个问题。所有服务的未来更新将显示在仪表板上。”此前,该公司曾承诺在推特上更新。
然而,一旦该公司在其数据中心所在的北弗吉尼亚再次运行S3服务,服务健康仪表板就开始准确报告情况。
当时,位于数据中心状态报告中的服务表明问题已经解决。AWS在下午2:19报告,“在太平洋标准时间上午9336037到下午1336057之间,当我们与其他AWS服务通信时,US-EAST-1区域的API网关请求的错误率增加。部署新的应用程序接口或修改现有的应用程序接口也会受到影响。问题已经解决,服务运行正常。”
仔细检查仪表板发现,位于亚马逊北弗吉尼亚的一些服务可能仍然微不足道,但在其他方面,它看起来仍然正常。
那么,亚马逊S3服务到底发生了什么?公司目前还不太好,但其对API网关请求错误率上升的评论表明,问题与基础设施有关,可能是路由器问题。
但是,当然,这只是一个猜测。然而,最近许多大规模的服务中断(如航空预订系统)似乎是由于路由器问题,因此做出这样的假设是合理的。此外,路由器更新通常是此类问题的根本原因。亚马逊没有说问题的真正原因是什么,所以可能是从黑客攻击到配置问题。我们只是不知道。
我们知道的一件事是,AWS及其S3服务是问题的一部分,但这并不是因为它不可靠。事实上,亚马逊的服务如此可靠,以至于它的客户可能比他们应该依赖的更多。从大多数客户的角度来看,AWS永远不会失败,所以他们认为没有必要计划停机时间。
当然,除了那时候。然后,我们可以看到,几乎没有客户的更新或解释。然而,缺乏解释可能会很烦人,客户真正需要的是重新开始工作。这需要一些规划。
计划的第一阶段必须是为您保存在S3存储服务中的物品找到备用存储位置。这可能意味着将备份保存在另一个区域的S3存储中,也可能意味着完全使用另一种存储服务。这样,如果S3存储出现故障,它可以无缝切换到其他服务。
理想情况下,亚马逊可以在其S3产品中提供冗余存储,因此如果服务在2月28日失败,数据请求将自动路由到另一个站点。这个计划的潜在问题是,如果冗余依赖于仍然存储在AWS中的信息,那么当该区域出现故障时,它也将是相同的。
但是,假设亚马逊可以避免犯这样的错误,并且我确信公司可以做到,那么它就有一个很好的方法来保护客户不犯同样的错误,那就是假设亚马逊永远不会倒下。
更好的方法是假设AWS和所有其他云服务都将崩溃,然后规划解决方案。事实上,这个假设是一个很好的安全实践。冗余对于确保您的数据始终可用且无故障非常重要。
这就是为什么现有数据中心有冗余服务器、冗余网络路由器和电源。这就是为什么他们拥有的发电机比维持数据中心正常运行实际需要的还要多。
一些数据中心已经超越了对可靠性的追求,甚至已经到了拥有冗余的冷冻储罐的地步,因此不太可能失去系统冷却剂。拥有冗余的数据存储库只是确保客户需要的信息能够交付的一部分。
有了AWS及其高可靠性,很容易忘记这样的课程,但它们仍然很重要。