BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 期限切れのSSL証明書で AzureとTFSがダウン

期限切れのSSL証明書で AzureとTFSがダウン

原文(投稿日:2013/03/05)へのリンク

 

Windows Azureストレージのユーザーは2月22日に長い動作不能を経験した。Team Foundation Service(TFS)は、バックエンド・ストレージを提供するのに、Azureに依存しており、その結果9時間の動作停止を経験した。 この停止は、HTTPSトラフィックを保護し、認証するために使用されている、SSL 証明書の期限切れによるものだった。鍵証明書の有効期間が切れたので、影響を受けるサーバーとのHTTPSでの通信が失敗し始めた。HTTP通信は、いくつかのケースでは動作可能であったが、定義により、それは安全ではなく、平文での通信を許容できる顧客にのみ使えた。

公式には、停止は2月22日の 12:29 PSTに始まり、HTTPSを使って、Windows Azure ストレージにアクセスしている全地域の顧客に影響した。世界中の全顧客が再び使えるようになったのは、2月23日の 00:09 AM PSTだった。

Microsoftの Mike Neil氏、Windows Azureのジェネラルマネージャが故障の詳細 を提供した。AzureはSSLを使って、サービス全体のトラフィック、特に3つの主要なストレージタイプのブロブ、キュー、テーブル間のトラフィックを守っている。今回のケースで、停止が始まったのは、これらの領域の証明書が期限切れを起こし始めた時である。

  • *.blob.core.windows.net が2月22日金曜日12:29:53 PM PST
  • *.queue.core.windows.net が2月22日金曜日12:31:22 PM PST
  • *.table.core.windows.net が2月22日金曜日12:32:52 PM PST

氏は更に、いかにAzureシステムで使用されているSSL証明書を監視し、更新する自動化されたプロセスが動作不能になったかを説明した。監視システムは、適切なスタッフに更新された証明書が必要であることを通知した。次にこれらは、通常のシステム更新で作成され、パッケージ化された。不幸にして、この更新には、時間に注意の要るコンポーネントが存在する、というラベルがされていなかったので、優先順位が低く、他の更新を優先させた。

新しい証明書が作成され、監視サービスで更新マークが付いていたので、これ以上のアップデートの通知は送信されなかった。したがって、新しい証明書は更新キューとマスタ証明書リポジトリで萎んでしまいが、本番Azure環境に行くことはなかった。

デプロイ用に修正パッチが作成され、22:45 PST までには、HTTPSサービスが大多数の顧客に回復し、完全なサービス回復宣言は、2月23日 00:09 PSTだった。停止の結果、影響を受けた顧客は、25%のサービスクレジット受け取る。自動証明書監視プロセスは、更新されたので、証明書はエンドポイントで監視され、失敗した/遅延したデプロイが見逃されることは、ないだろう。

Harryは、大規模のオンラインシステムを稼働させ、維持することは複雑である、と注意した。

もちろん、大規模なミッションクリティカルなサービスを運営指定て、直ぐに学ぶことの1つが、あらゆるものが動いている、と仮定できないことです。この事で難しいのは、なんでも悪くなり得ることで、あなたが何に対して守るはずだったかは、結果論でしか明らかにならないことです。なのであらゆる可能性から守ろうとしなければなりません。

Neilは、元のAzureシステムは単一点障害を患った、と見ている。

「証明書の有効期限が顧客への直接的影響を引き起こしましたが、これらの証明書を維持そして監視する我々の手続きにおける瓦解が根本原因です。更に、証明書はどこでも同じであり、時間的にお互いに近かったので、それらはストレージシステムの単一点障害でした。」

この機能停止に対するユーザーのコメントは、停止の深刻さと信頼出来るシステムの必要性を指摘した。ユーザー“trievangelist”は、停止している間、彼のとったNuGetの回避策について述べている。

trievangelist2月23日午前6:49#

Brian,これを掲示してくれてありがとう。問題が起きたのは、我々がビルドプロセスの時で、これはNuGetを使い、問題が起き始めていた nuget.orgから nuget.exeの最新版をダウンロードすることに依存しています。ありがたいことに、我々は内部のNuGetギャラリーを使用していたので、私はnuget.exeのローカルバージョンを使用することで問題を回避することができました。

ユーザーの Keith Richardson氏はこの停止を使って、なぜ彼の会社がクラウドにシステムを移行するのに興味が無いかを説明した。

Keith Richardson 2月23日午前8:44#

これは、我々がクラウドに移行しない、もう1つの理由です。あなた方には、6,7ヶ月おきに必ず、何らかの機能停止があるようです。もしこれが内部で起きたら、我々は誰か、あるいはベンダーを首にするでしょう。こんな言い方では足りません。誰かを「クビにする」。

 

この記事に星をつける

おすすめ度
スタイル

BT