Cosnomi

プログラミングをする医学生。物を作ること、自動化すること、今まで知らなかったことを知ることが好き。TypeScript書いたり、Pythonで機械学習したりなど。

Twitter / GitHub / Keybase
TOP >

台風のせいで自宅サーバーがダウン 自宅サーバーの弱点を痛感

先日、台風のせいで自宅サーバーがダウンしてしまい、それに伴いMastodonのインスタンスも2日弱落ちてしまいました。関係各位(主にMastodonの人たち)にはご迷惑をおかけしました。原因は自分ではどうしようもない部分だったのですが、今回の出来事で自宅サーバーの弱点を実感しました。

障害の概要

  • 期間: 2018/10/01 2:00ごろ ~ 2018/10/02 22:00ごろ
  • 内容: 自宅サーバーの全サービスの停止

時系列の記録

  • 2:00ごろ
    一瞬だけ停電。メインPC・サーバーマシンの電源が落ちたので再起動した
  • 2:10ごろ
    普段使いのPCからインターネットに接続できなくなるLAN内PCのDNS サーバーを自宅サーバーにしているので、その不具合を疑うも、LAN内の名前解決は問題なく、LAN外のDNSサーバーへの接続がうまく行っていないようだった。
    さらに、DNSサーバーを自宅サーバーではなくデフォルトのままにしてもアクセスできなかったので、自宅サーバーの故障説は薄い。とりあえず安心…?
  • 問題は解決しないがそのまま就寝

  • まだアクセスできない。携帯回線でブログにアクセスしてみるもエラー。やっぱりネットワークの障害のようだ

  • 状況は変わらず。インフラの深いことは分からないが、もしかしたら一時的に電源が遮断された後、ルーターがおかしくなってるのかもしれない。帰宅したらルーターを再起動してみようと考える
  • 帰宅
    帰宅すると、「台風のせいでネットワークの回線(?)が切れていたようで、15時頃に復旧したようだ」との連絡を受けた。そこで、ブログにアクセスしてみるとサーバー自体は復旧していたが、403 Forbidden。いつも、サーバー再起動後に行っている処理を自動化していなかったためだったので、その作業を行い無事復旧。 という感じです。結局、障害箇所が自分では同しようもないところなので、自分としては「復旧作業」なんて何もしてません

具体的な損害

自宅サーバーでは複数のサービスが動いていますが、一番大きなのはやはりこのブログです。(追記: 現在は自宅サーバー外で動かしています。)最近は好調で、アクセス数も伸びてきていたのですが、この日のアクセス数は激減です。

幸い、自宅サーバーのデータに関しては問題ありませんでした。万が一のことがあっても、定期的にバックアップを取っているので大丈夫なはずですが、リストアも面倒なのでこれに関しては無事で本当に良かったです。

反省

Mastodonが落ちてしまうと、障害情報をアナウンスする手段が殆どないことに気づきました。

SupportPageでのアナウンスも試みたのですが、旧サポートページはお知らせをブログから取得して、表示しているため、ブログからの応答が返ってこないとエラーになってメンテナンス編集画面に到達できないという事象が発生しました。これは、致命的ですので早急に解決したいと思っています。

また、自宅サーバーが落ちているとGitLabも落ちてしまうので、外で開発作業ができませんでした。開発基盤のサービスはVPSに出したほうがいいのかなと思っています。(追記: 結局、今はGitHub主体で開発をしています)

自宅サーバーの弱さを実感した

やはり家庭用の回線を使っているというのが自宅サーバーの弱点ですね。一部の誤家庭を除けば、自宅サーバーはあらゆる場面で「家庭用」の部品・設備を利用しています。CPUは家庭用ですし、メモリだって家庭用。電源も、そして、回線も。一方、VPSが利用しているのはいわゆる「業務用」です。業務用と家庭用、価格には大きな差がありますが、平常時のスペックって案外変わらないものです。では何が違うのかというと、「信頼性」です。

異常な事態、たとえば停電、落雷、そして強風などのときであっても、機能し続ける。これが、業務用のパーツの「信頼性」が高いといわれる所以です。そして、家庭用の設備を利用している自宅サーバーはこういった異常事態のときに弱いのだと痛感しました。

ここ最近、このブログも自宅サーバーではなくVPSに移すべき時が来たのかもしれませんね…などと思います。障害発生時は本当に面倒なのが自宅サーバー。しかし、その障害対応も自宅サーバーの醍醐味であるという主張も理解はできます。そこまで大事でないサービスを運用するのは確かに楽しいと思うので、いい感じでバランスを取っていきたいですね。

まとめ

  • 原因はインターネット回線だったのでどうしようもなかった
  • 障害通知の方法を見直したい
  • 開発基盤は止まるとよくないのでVPSに出したいかも
  • 自宅サーバーに大事なサービスを置くと大変

最後まで読んでいただきありがとうございます。コメントフォームは設置していません。訂正・意見・感想などはTwitter(@cosnomi)などへお願いします。
記事一覧へ