写点什么

Azure 全球中断三小时:微软回复称 DNS 更新故障

  • 2019-05-05
  • 本文字数:1386 字

    阅读完需:约 5 分钟

Azure全球中断三小时:微软回复称DNS更新故障

5 月 2 日 19:29 到 22:35 UTC 之间,微软 Azure 发生了三小时左右中断,导致 Azure、Microsoft 365、Dynamics 和 DevOps 等多项服务出现连接问题。


根据最新消息,本次事故发生在 DNS 迁移期间,具体时间为 5 月 2 日 19:29 到 22:35 UTC 之间,大多数服务在 UTC 时间 21:40 恢复,其余服务在 22:35 UTC 恢复。根据微软方面的回复,造成该事故的根本原因如下:


作为计划维护活动的一部分,微软工程师执行了配置更改,以更新用于访问多个微软服务(包括 Azure 存储和 Azure SQL 数据库)的 DNS 区域名称服务器(name server)之一。更改过程失败导致这些区域的四个名称服务器(name server)之一指向没有数据的 DNS 服务器并返回否定响应。结果是,这些服务使用的域(例如database.windows.net)中大约 25%的查询产生了错误结果,并且这些服务的可访问性降低。因此,依赖于这些核心服务的多个其他 Azure 和 Microsoft 服务受到不同程度的影响。


该事件对 Azure 计算、存储、App Service、Azure AD 身份服务和 SQL 数据库产生了连锁反应。根据外媒 The Register 此前的报道,本次受影响的服务包括 SharePoint Online,OneDrive for Business,Microsoft Teams,Stream,Power BI,Planner,Forms,PowerApps,Dynamics 365,Intune 和 Office Licensing。



微软方面表示,此事件源于两个独立的错误和一些巧合,这两个错误本身其实不会产生影响:


1、微软工程师执行了名称服务器(name server)委派更改以更新多个区域的名称服务器,包括 Azure 存储和 Azure SQL 数据库。其中,每个区域有四个名称服务器用于冗余,并且在此维护期间仅对一个名称服务器进行更新。用于进行更改的自动化参数配置错误导致名称服务器委派错误。


2、作为先前自动化工作的一部分,空区域文件存在于非指定委托的预期目标服务器上。这本身并不是问题,因为名称服务器没有为相关区域提供服务。


但是,由于此实例中更改自动化出现配置错误,被委派的目标名称服务器是空副本。因此,此名称服务器对区域中所有查询给出了否定(nxdomain)答案。由于该区域的四个名称服务器记录中只有一个是不正确的,因此受影响区域大约四分之一的查询收到不正确的否定响应。



为解决此问题,微软工程师通过将名称服务器值还原为先前的设置来更正委派问题。工程师验证所有响应都是正确的,DNS 解析器开始在 5 分钟内返回正确结果。某些访问错误值并缓存结果的应用程序和服务可能需要更长的恢复时间,直到错误的缓存信息到期为止。在事件发生期间,微软多次更新页面,并逐渐恢复服务。该公司向客户保证,DNS 记录在活动期间没有受到影响,并且 Azure DNS 本身仍然存在。


对此,微软方面建议用户可以执行以下操作(包括但不限于):


  • 执行名称服务器更新代码中的附加检查,以防止意外更改(正在进行)。

  • 预执行建模,以准确预测变更结果,并在执行[正在进行]之前检测潜在问题。

  • 改进每个区域,每个名称服务器监视器,立即检测导致一个名称服务器偏离其他名称服务器(正在进行)的更改。

  • 改进 DNS 命名空间设计,以更好地允许分阶段推出更改,同时降低增量影响(进行中)。


根据了解,这不是微软 Azure 第一次发生服务中断。1月份,全球Azure中断影响了 Office 365,Azure 和 Dynamics 365 服务,原因也与 DNS 有关,微软方面表示是 Level 3 托管 DNS 服务出现问题。去年底,Azure AD 多因素身份验证中断使全球的 Office 365 用户无法登录其帐户。


2019-05-05 19:505702
用户头像
赵钰莹 极客邦科技 总编辑

发布了 894 篇内容, 共 677.7 次阅读, 收获喜欢 2694 次。

关注

评论 1 条评论

发布
用户头像
宕机年年有啊
2019-05-05 19:52
回复
没有更多了
发现更多内容

Week11作业1

熊威

架构师训练营第 0 期第 11 周作业

无名氏

架构师训练营 - 第 11 周作业

Jam

Week 11命题作业

Jeremy

Apache Pulsar 社区周报:08-15 ~ 08-21

Apache Pulsar

云原生 Apache Pulsar 消息系统 消息中间件

第十一周命题作业

菲尼克斯

第十一周学习总结

菲尼克斯

系统不可用的原因和解决方案

极客李

Flink算子状态-9

小知识点

scala 大数据 flink

云上度假村木莲庄酒店助你远离城市的喧嚣

InfoQ_967a83c6d0d7

etcd的高可用

李小匪

极客大学架构师训练营 0 期 week 11 学习笔记

chun1123

安全 高可用系统的架构

Week 11 作业

鱼_XueTr

极客时间架构师训练营 - week11 - 作业 2

jjn0703

极客大学架构师训练营

用户密码验证函数

周冬辉

加密

漫画解读:唐僧师徒如何帮助大唐官网打造CDN+OSS完美架构?

阿里云Edge Plus

Week11总结

熊威

架构师训练营 Week 11 作业

Wancho

系统稳定高可用的方案以及用户密码验证函数

Acker飏

极客大学架构师训练营 0 期 week 11 作业

chun1123

高可用 密码校验

java安全编码指南之:拒绝Denial of Service

程序那些事

Java 安全编码指南 java安全编码 DOS攻击 zip炸弹

高可用的系统架构

莫莫大人

极客大学架构师训练营

安全架构和高可用系统的架构

周冬辉

高可用系统的架构

Newbe.Claptrap 框架入门,第四步 —— 利用 Minion,商品下单

newbe36524

云计算 微服务 dock .net core ASP.NET Core

【华为云数据库技术大公开】机房失火后,还能拯救你的数据吗?

华为云开发者联盟

数据库 机房 华为云 数据存储 云数据库

用户密码验证函数

任小龙

奈学:Executor线程池的概述

奈学教育

线程池 Executor

架构师训练营 Week 11 总结

Wancho

架构师训练营 第十一周 作业

CR

架构师训练营 第十一周 总结

CR

【高并发】高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!

冰河

高并发 分布式限流 秒杀系统 异步削峰 签约计划第二季

Azure全球中断三小时:微软回复称DNS更新故障_服务革新_赵钰莹_InfoQ精选文章