QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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:505615
用户头像
赵钰莹 极客邦科技 总编辑

发布了 892 篇内容, 共 663.9 次阅读, 收获喜欢 2689 次。

关注

评论 1 条评论

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

Java开发Spark ELT实践(一)

团子粑粑

大数据 Apache Spark

Week 08 命题作业

Jeremy

架构师训练营第八章总结

itrickzhang

域名凭什么能卖出亿元高价?

北柯

创业 互联网 域名解析

产品、方案、生态三力齐发 英特尔驱动智能边缘价值迸发

最新动态

第八周总结

andy

极客大学

保障服务稳定之服务限流

X先生

后端 架构设计 服务设计 限流算法

世界上最狠的语言

十三

扎克伯格:从程序员到福布斯全球首富,他经历了什么?

北柯

云图说 | 快速创建一个kubernetes集群

华为云开发者联盟

Kubernetes 容器 虚拟机 集群容错 华为云

架构训练营第八周作业

张锐

你好,工作!

小天同学

工作 心态 自我思考

架构师训练营 - 第八周 - 学习总结

stardust20

行为型模式:迭代器模式解析

Seven七哥

Java 编程 程序员 设计模式 迭代器模式

第八周学习总结

赵龙

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

stardust20

shell实现SSH自动登陆

阿呦,简笔话_Golden

敏捷开发:影响地图工作坊的反思

华为云开发者联盟

敏捷开发 业务线 需求管理 需求 华为云

JVM详解之:汇编角度理解本地变量的生命周期

程序那些事

Java JVM 汇编 生命周期

架构师训练营第8周

大丁💸💵💴💶🚀🐟

架构师训练营第八周作业

sunnywhy

极客大学架构师训练营

【API进阶之路】高考要考口语?我用多模态评测API做了一场10w+刷屏活动

华为云开发者联盟

人工智能 学习 评测 API 华为云

第八周作业

方堃

设计过度有时比设计不足更可怕

菜根老谭

架构思维 过度设计 演化思维 设计不足

Week 08 学习总结

Jeremy

架构师训练营第八章作业

itrickzhang

面经手册 · 开篇《面试官都问我啥》

小傅哥

面试

英特尔®边缘软件中心重磅发布 一站式资源供给为应用开发创新赋能

最新动态

第八周作业

赵龙

天天用SpringBoot,它的自动装配你能说出来吗?

root

Java spring springboot 自动装配 EnableAutoConfiguration

面试官问:如何设计一个安全的对外接口?

Java小咖秀

Java 面试 经验

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