2016 年 9 月 15 日に発生した DNS の問題について

khiraha

※ 9/27 "今後の対応" の内容につきまして詳細を追記変更しております。

 

本ポストは 2016 年 9 月 15 日に発生した DNS の問題の日本語抄訳です。正式な文章は英語となりますので、下記を必要に応じてご参照ください。

※本情報の内容(添付文書、リンク先などを含む)は、作成日時点 (9/20 10:00) でのものであり、予告なく変更される場合があります。

概要


日本時間 9 月 15 日のおおよそ午後 8:18 から翌日午前 2:15 の間に、Microsoft Azure のサービスをご利用の一部のお客様から、接続不可などのサービス低下に関するご報告をいただきました。この問題は、Microsoft Azure のデータセンターで使用しているネットワーク機器上のソフトウェアの不具合により発生しておりました。この不具合により、ネットワークトラフィックの高負荷を適切に処理できず、通常の DNS 名前解決要求が不正なものとして処理されてしまい、弊社 Azure のサービスおよびリソースの名前解決に影響を及ぼしていました。

該当のソフトウェアの不具合を回避するための設定変更を行い、日本時間 9 月 15 日のおおよそ午後 10 時には、展開した回避策の効果があったことが確認されています。

DNS が復旧したこのタイミングで、それに依存するほぼすべてのサービスが復旧しましたが、米国中部リージョンにおいては、Azure SQL Database および SQL Data Warehouse、さらにそれらに依存する HDInsight や Media Services 等の一部のサービスにおいて、その後もサービス低下に関する事象が継続しておりました。

これは、DNS 名前解決要求の問題の解消後、Azure SQL Database サービスが処理できないような予期しない多量の再接続要求が発生したことによるものでした。Azure SQL Database サービスは、お客様からの多くにリクエストをすばやく、スムーズに処理できましたが、米国中部リージョンでは処理がうまくいきませんでした。米国中部リージョンの Azure SQL Database では、想定よりも高い割合でリクエストによって負荷がかかり、Azure SQL Database サービスの可用性に影響を及ぼしました。すぐに、Azure SQL Database サービスチームが対処に当たり、復旧を妨げている高負荷のリクエストを特定しました。当該チームは、Azure SQL Database サービスへのリクエストの量をコントロールし、処理がスムーズに進むように調整し、すべてのリクエストが通常通り処理されることを確認いたしました。この問題は、翌日 9 月 16 日 の午前 2:15 頃、Azure SQL Database サービスへの接続要求を調整することで、その他関連するサービス (HDInsight や Media Services) を含めた復旧が確認できています。

発生時刻

復旧時刻

影響範囲

次の Microsoft Azure に関連するサービスをご利用の一部のお客様から、DNS の問題の影響で接続不可などのサービス低下がございました。

問題に影響が出ていた Azure SQL Database 、Data Warehouse、HDInsight および Media Services の可用性については、DNS の問題により、およそ 60% 程度の可用性の低下があったと推測されます。DNS の問題が復旧したのちに、米国中部の SQL Database および Data Warehouse、およびそれに依存するサービスをご利用の一部のお客様で継続して影響が発生し続けました。

影響があった地域

原因


Microsoft Azure のデータセンターで使用されているネットワーク機器のソフトウェア不具合により、ネットワークトラフィックの高負荷を適切に処理できない問題が発生していました。その結果、通常の DNS 名前解決要求が不正なものとして処理されることがあり、弊社 Azure のサービスおよびリソースの名前解決に影響を及ぼしました。

米国中部リージョンにおいては、復旧後の再接続要求が予想以上に多く、負荷の問題により Azure SQL Database や SQL Data Warehouse、および、それらに依存する一部のサービスにおいて引き続きサービス低下の提供が発生していました。

Azure SQL Database と Data Warehouse およびそれを利用するお客様は、DNS を利用しています。このため、Azure SQL Database と Data Warehouse へ接続するには、2 回にわたり DNS ルックアップが必要になります。すべての Azure SQL Database と Data Warehouse の接続リクエストは、まず、コントロールリング と呼ばれる、Azure ホストサービスで処理されます。これは、DNS レコードで <servername>.database.windows.net で参照される IP アドレスに紐づけられています。コントロールリングは、どの Azure ホストサービスが現在、リクエスト対象のデータベース/データウェアハウスをホストしているかをトラックし、呼び出し元に対してサービスへの DNS 名を返します。これは、<instance name>.<ring number>.<regionname>.worker.database.windows.net の形式です。呼び出し元は、再度、その場所に対して DNS ルックアップを実行します。(Azure 外部からの接続をしている) 一部のお客様では、コントロールプレーンが代理ですべての接続を実施し、DNS ルックアップも実施していました。データベースとデータウェアハウスに対する内部からの接続については、例えば、サービス管理操作や地理冗長トランザクションなどがありましたが、それらも、他のデータベース・データウェアハウスへの呼び出し元として機能し、それらも、同時に 2 回の DNS ルックアップを必要としました。障害の間の接続で、これらをすべて評価すると、azure SQL Database および Data Warehouse に対して、およそ 75% の割合で DNS ルックアップが失敗し、1回の試行で、当時、およそ 6% の接続が成功していたことを意味します。

 

今後の対応


今後、このような問題が発生することのないよう、Microsoft Azureプラットフォームおよびプロセスの改善に努めてまいります。本件につきましては、特に以下の点について対応を実施いたします。

9/27 変更箇所  

今回の障害では貴社に多大なご迷惑をおかけしましたことを、改めて心よりお詫び申し上げます。Microsoft Azure のさらなる改善へ向け引き続き努力をしてまいりますので、今後とも何卒宜しくお願い申し上げます。

 

--

日本マイクロソフト株式会社