2012年7月4日水曜日

MyBike.JP障害について

7/22 21:22 自転車ページのアーカイブを公開しました
7/4 20:18 日誌のアーカイブを公開しました

先日発生したMyBike.JPの障害についてご報告します。

簡潔に結論を書きますと、インターネットアーカイブや検索サービスのキャッシュに残されたデータを除き、全ユーザの自転車の登録情報、画像、コンポーネント情報、日誌、アクティビティ、ユーザ自身の認証情報(メールアドレス、ユーザ名、パスワード、Bio、Twitter接続情報等)が失われました。ユーザの皆さまには大変申し訳ありませんが、現在のところ復旧の見込みはありません。

直接的な原因は、運営のオペレーションが遅れたことにより、さくらインターネットのVPS解約期限を過ぎてサーバが消滅したことです(クラウドやVPSの障害ではありません)。

これまでに起こった事象と、今後の対応方針について以下にまとめます。

障害発生から現在まで


  • 17:20 MyBike.JPの障害アラートが発報。2台構成のサーバのうち、データベースサーバにリモートログインを試みたが、ログインすることが出来なかった。
  • 17:30 ホスティング先であるさくらインターネットのVPSコントロールパネルを確認したところ、データベースサーバのIPアドレスエントリが存在しないことを確認した。
  • 17:38 さくらインターネットに電話で問い合わせ。契約内容を確認したところ、6月30日で解約となっていたが17:20頃まで動作していた。事情を説明して復旧の可能性について問い合わせたが、不可能という返答をいただいた。
  • 18:37 Googleのキャッシュから公開データのサルベージを開始。
  • 18:42 @MyBikeJPMyBike.JP Facebookページで障害情報の告知。
バックアップはサーバ内にダンプする形式で日次で処理を行なっていましたが、ファイルサイズが数十Gほどあるため、外部サービスへの転送・保存は行なっていませんでした。外部サービスを利用しなかったのは純粋にコスト的な問題です。

今後について

MyBike.JPは今後もサービスを提供する予定です。

ソースコードは別システムで保管・管理しているため、障害の影響は一切受けておりません。よって、同一システムでの再スタートはすぐにでも可能です。しかしながら、運用や機能の改善(日誌や自転車データのエクスポートなど)を行わずして失った信頼は得られないと考えており、しばらくの期間(数週間〜2ヶ月くらいを予定)ブラッシュアップを行う予定です。

具体的には次のようなことに取り組む予定です。
  • 運用の改善
  • セキュリティの改善
    • SSL対応
    • 外部サービスアカウントでのログイン対応(Facebook, Twitter)
  • UI / UXの改善
  • 自転車管理、コンポーネント管理の強化
  • 各種データのエクスポート機能

作業状況は可能な限り(中の人が更新可能な範囲で)このブログでご報告します。

ユーザの皆さんへのお願い

MyBike.JPに協力してくれる方を募集しています。 前進するために必要なことは一緒に知恵を絞りますし、学びの場として捉えていただいても構いません。次のような方を探しています。
  • Python, Django, MongoDB, RDBMSに理解のあるウェブアプリケーションエンジニア
  • UI / UXデザイナ
  • iPhone / Androidアプリケーションエンジニア
  • サーバを貸してくれる人
手伝っていただいても、おそらく大した見返りはありません。 サイトのAuthorとして名前が刻まれて、ポートフォリオの一つとして載せられる程度のことしか出来ないと思いますが、自転車が好きならきっと楽しい作業になると思います。手伝ってもよいよという方がいらっしゃればinfo@mybike.jp@MyBikeJP, Facebook MyBike.JP pageまでご連絡ください。

最後に、今回の事象についてユーザの皆さんにはお詫び申し上げるほかありません。管理不行き届きと言われても仕方がない状況ですが、温かい声をかけてくれるユーザさんも少なからずいらっしゃってたいへん励みになりました。

今後共どうぞよろしくお願い致します。