Microsoft Windows Azure クラウドの1部のサブリージョンが,うるう年処理のバグの影響で12時間から24時間にわたって,サービスのいくつかを利用できない状態になった。
Windows Azure Service Dashboard によれば,いくつかのサブリージョンあるいは世界的な範囲において,2月29日(UTC)の早い時間から3月1日朝まで 24 時間以上の間,多くのサービスで中断が発生した。影響を受けたサービスは以下のものだ。
- Windows Azure Compute Service では,North Central US サブリージョンにおける 6.7% から South Central US では 28%,North Europe の 37% に至るまで,6つあるサブリージョン中の4つでホストされているサービスが影響を受けた。さらに Access Control 2.0 や Marketplace,サービス バス,アクセスコントロール,キャッシングポータルなどの Azure サービスにも影響が発生した。
- Service Bas がひとつのリージョン (South Central US) において,24時間以上にわたってダウンした。
- South Central US にある Marketplace が, OAuth アクセスを必要とするサービスを中心に,12時間以上にわたって影響を受けた。
- 2012/2/29 が原因で発生した証明書の問題によって Service Management サービスが,いくつかのケースで約12時間,リージョンによっては24時間以上,世界的な規模で影響を受けた。
ストレージ,CDN,その他のサービスには影響がなかったようだ。これとは別の問題が原因で,Platform Management Portal も3月1日に約3時間にわたり,世界的な障害が発生した。これは "バックエンド設定に関する定義の誤り" によるものだという。
サーバおよびクラウド部門担当コーポレート・バイスプレジデントの Bill Laing 氏が, 今回の停止とその原因に関して, Azure ユーザを対象とした簡単な報告を行っている。それによると Azure チームが問題を認識したのは PST(西海岸時刻)の2月28日午後5:45,UTC(世界標準時)では2月29日の午前1:45のことだ。犯人は特別な日である2月29日を起因とする,小さなソフトウェアバグだった。
問題はすぐさまトリアージされ,ソフトウェアバグによって引き起こされたものと判明しました。最終的な根本原因の分析の結果,この問題がうるう年に関する時間計算の誤りであることを確認しました。
以前にも Symantec が,同社の Software Delivery 6.1 に影響を与えたうるう年のバグ について報告したことがある。Inedo のマネージングパートナである Alex Papadimoulis 氏は,自身のユーザの1部がそれによって影響を受けた と報告している。さらに ニュージーランドでも,多数の POS デバイスが支障を来たした 事例がある。
このようなバグは小さな企業ならばまだしも,Microsoft ほどの企業には恥辱的なものである。自社のクラウドプラットフォームでホストするユーザのサービスに影響を与えたのだから,なおさらだ。小さな原因によって巨大なコンピューティングプラットフォームがダウンすることは興味深い。1年前には Amazon で,US East Region のアベイラビリティゾーンのひとつを,誤ってトラフィックを処理できない低能力のルータに接続したことがいくつかの EBS に影響して,最終的にゾーン全体がダウンした,という例もある。このようなブラックアウトの発生について,我々はさらに詳細な調査を行いたいと考えている。結局のところ,人は誤りを犯すものなのだ。