谷歌公布了近期的一个事件的根本原因分析结果,该事件影响了谷歌的部分云服务,并在大约 32 分钟的时间内将错误率提高了 33%至 87%,后续他们将采取措施改善平台性能和可用性。
该事件影响了很多依赖 Google HTTP(S) 负载均衡器的谷歌服务的客户,包括 Google Kubernetes Engine、Google App Engine、Google Cloud Functions、Stackdriver Web UI、Dialogflow 和 Cloud Support Portal/API。客户在大约 32 分钟的时间内随机收到 502 错误码或连接被重置的错误,这是从谷歌工程师接收到监控系统发出故障率警报的那一刻开始到部署修复程序的时间。
Google HTTP(S) 负载均衡旨在均衡多个后端实例和多个区域的 HTTP 和 HTTPS 流量。它的一个好处是云应用程序可以使用单个全局 IP 地址,极大地简化了 DNS 设置。为了在连接设置期间实现最佳性能,该服务利用第一层谷歌前端(GFE)就近接收用户请求,并将请求转发到第二层 GFE。第二层 GFE 构成全局服务器网络,将请求发送到相应的后端,而不管它们位于哪个区域。
事件的根本原因是,为了提高第二个 GFE 层的安全性和性能而添加的新功能中包含未检测到的错误。该错误是由生产环境中的一个配置变更引发的,它会导致 GFE 随机重启,而在重启过程中,服务容量丢失。
所幸的是,包含该错误的功能尚未投入使用,因此谷歌工程师通过恢复配置变更来部署修复程序,服务在几分钟后恢复其正常行为,在缓存热身后故障率也恢复正常。
为了预防事件再次发生,除了改进 GFE 测试栈并添加更多安全措施以防止未在使用中的功能被错误投入使用外,Google Cloud 团队还计划改善 GFE 池不同分片之间的隔离,以缩小故障范围,并为 GFE 池的配置变更创建仪表盘,让工程师更容易识别有问题的系统变更。
详细信息请阅读谷歌官方事故声明。
查看英文原文: Google Cloud Incident Root-cause Analysis and Remediation
评论