写点什么

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:505489
用户头像
赵钰莹 InfoQ 主编

发布了 882 篇内容, 共 638.3 次阅读, 收获喜欢 2678 次。

关注

评论 1 条评论

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

Centos7安装配置Hive教程。

百度搜索:蓝易云

云计算 hive Linux centos 运维

linux nfs共享存储服务详细解释。

百度搜索:蓝易云

云计算 Linux 运维 云服务器 NFS

分布式图计算如何实现?带你一窥图计算执行计划

TuGraphAnalytics

sql 分布式 执行计划 图计算 查询语言

2023年7月文章一览

codists

编程人生

git remote 命令详解

百度搜索:蓝易云

git 云计算 Linux 运维 Remote

一致性哈希算法

java易二三

程序员 算法 计算机 科技

2023年度姑苏创新创业领军人才计划项目指南来了!

科兴未来News

8.15币安将上线CYBER

币离海

MTS性能监控你知道多少

GreatSQL

greatsql mts

活动回顾|OpenTiny:跨框架前端组件库的技术实现和实践(内含ppt课件)

OpenTiny社区

开源 前端 UI组件库

基于YonGPT 的智能生单,让业绩达成更轻松!

用友BIP

企业服务大模型 YonGPT

PoseiSwap:首个基于模块化设施构建的订单簿 DEX

BlockChain先知

PoseiSwap:首个基于模块化设施构建的订单簿 DEX

西柚子

端口转发工具Rinetd详细入门教程

百度搜索:蓝易云

云计算 Linux 运维 端口 Rinetd

千云探探监测到7月25日法国巴黎Facebook网络恢复正常

郑州埃文科技

网络性能

医疗知识图谱问答 —— 数据同步

北桥苏

Python neo4j 知识图谱

Redis击穿、穿透、雪崩产生原因以及解决思路

java易二三

redis 程序员 计算机

Spring 容器原始 Bean 是如何创建的?

江南一点雨

Java spring

为什么Java程序会执行一段时间后跑的更快?

java易二三

Java 编程 程序员 计算机

火山引擎ByteHouse:云原生数据库如何提升MySQL兼容性?

字节跳动数据平台

数据库 大数据 云原生 数仓 企业号 8 月 PK 榜

借助 Spring Boot 和 GraalVM 实现原生 Java

java易二三

Java 编程 程序员 计算机

Python超实用!批量重命名文件/文件夹,只需1行代码

程序员晚枫

Python 文件管理 自动化办公

微信朋友圈的高性能复杂度架构

艾瑾行

#架构训练营

深入浅出DAX:数据分析

TiAmo

数据分析 数据处理 DAX

Gartner发布《2023年中国ICT技术成熟度曲线》,明道云连续两年入选样本厂商

明道云

javascript函数基础

timerring

JavaScript

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