Microsoft Azure、DNSの設定変更に失敗して全世界的にサービス障害。日本は十連休中だったのが不幸中の幸いか

2019年5月9日

Microsoft Azureは、2019年5月2日午後7時43分から午後10時35分まで(日本時間 2019年5月3日午前4時43分から午前7時35分まで)の約3時間、DNSの名前解決に問題が発生。

ほぼ全世界的に、Microsoft AzureをはじめOffice 365/Microsoft 365やMicrosoft Dynamicsなど同社サービスに対する接続ができなくなるという大規模な障害を起こしました。

fig 障害発生から数時間後のdowndetector.comの画面。まだ世界中で影響が残っていることが示されている

この大規模障害の原因は、同社サービス用のDNSのメンテナンス作業のミスが原因だったと発表されました(中間報告の段階では既存のDNSからAzure DNSへのマイグレーション作業に失敗したと報告されていました。現在の報告では計画メンテナンス作業での失敗だとされています)。

報告内容の原因の部分を引用します。

Root cause: As part of planned maintenance activity, Microsoft engineers executed a configuration change to update one of the name servers for DNS zones used to reach several Microsoft services, including Azure Storage and Azure SQL Database. A failure in the change process resulted in one of the four name servers' records for these zones to point to a DNS server having blank zone data and returning negative responses.

根本原因: マイクロソフトのエンジニアが、計画されたメンテナンスの一環としてAzure StorageやAzure SQL Databaseなどを含む複数のマイクロソフトサービス群にアクセスするために使用されるDNSゾーンのネームサーバの1つについて設定変更を行った。この変更作業の失敗により、4つのネームサーバのレコードのうち1つが空白のゾーンデータを持ったDNSサーバを指定することとなったため、不在応答が返るようになった。

The result was that approximately 25% of the queries for domains used by these services (such as database.windows.net) produced incorrect results, and reachability to these services was degraded. Consequently, multiple other Azure and Microsoft services that depend upon these core services were also impacted to varying degrees.

その結果、これらのサービス群(database.windows.netなど)で用いられるドメインへのクエリの25%で誤った結果が生成され、サービスへのリーチャビリティが低下。これらコアサービスに依存する他のAzureやマイクロソフトサービスにももさまざまな程度の影響が出た。

エンジニアはすぐに値を元に戻して解決をはかったものの、キャッシュされた情報により問題が長引いたものもあったと。

Mitigation: To mitigate the issue, Microsoft engineers corrected the delegation issue by reverting the name server value to the previous setting. Engineers verified that all responses were then correct, and the DNS resolvers began returning correct results within 5 minutes. Some applications and services that accessed the incorrect values and cached the results may have experienced longer restoration times until the expiration of the incorrect cached information.

対応策:エンジニアはネームサーバーの値を以前の設定に戻すことでデレゲーションの問題を修正。すべての応答が正しいことを確認し、DNSリゾルバは5分以内に正しい結果を返し始めた。不正な値にアクセスして結果をキャッシュしたいくつかのアプリケーションおよびサービスは、キャッシュされた不正な情報が期限切れになるまで問題が長引いたものもあった。

マイクロソフトは今後こうした障害を起こさないための施策として、ネームサーバ更新時のチェック体制の追加、設定変更後の振る舞いを予測するための実行前モデリングによる結果予測、問題を迅速に検出するためのゾーン毎、ネームサーバ毎のモニタリングの追加、変更による影響をさらに小さくするためのステージドロールアウトを可能にするDNSネームスペースの設計改善などを行うとしています。

今回の障害により同社のサービスに依存している世界中のサービスに影響がありましたが、日本では十連休中の、しかも日本時間では早朝だったこともあって国内のサービスに大きな影響はなかったように見られるのが不幸中の幸いでした。

ただ、障害対応のために連休中の早朝に叩き起こされたシステム管理者の方々にとっては大変迷惑だったはずです。お疲れ様でした。

あわせて読みたい

クラウド クラウド障害




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本