これから自宅鯖を始める人へ
自宅鯖を始めようと思っている人に、私が自宅鯖を運用して気づいたことを記す。
自宅サーバーの種類
自宅サーバーは、主に以下の3種類がある。
・デスクトップPC、ノートPCなど一般的なPCを使用する
・ラックサーバーやタワーサーバーなどを本来の用途で使用する
・Raspberry Piなどのシングルボードコンピュータを使用する
一般的なPCを使用する
古くなったPCを流用したり、市販のPCをサーバー用に組んだり買って使用するパターン。最も入手しやすく、扱うのも簡単であろう。
パーツは24時間稼動を想定していない場合が多いが、特に目立ったデメリットは無く、ほとんどの人が最初に自宅鯖に触れるパターンだ。
サーバーを本来の用途で使用する
(新品は恐ろしく高価なのでほとんどの場合は)中古のラックサーバーをラックもしくは直置きで使用するパターン。元々の用途がサーバーなので、冗長化に対応していたり、高い信頼性を持つ場合が多い。
冷却ファンが小径高回転の場合が多く、稼動中は常に爆音のファンが鳴り続けるので、いろんな意味で慣れてきた人向け。
シングルボードコンピュータを使用する
代表的なものにRaspberry Piシリーズがある。1個あたりの値段は高くないが、性能も高くないので、シンプルなWebサーバーなどに用いられる。
その安さゆえにクラスタを組みやすく、Proxmox VEでクラスタ運用している人をちらほら見かける。Raspberry Pi財団のWebサイトも、Raspberry Piのクラスタで運用されているらしい。
自宅鯖に必要なもの
自宅鯖でなくても必要なものは記述しない。
サーバー本体
これ無しで自宅鯖とは言えない。前述した3種類のうちどれでもいいので最低1台のサーバーを用意しよう。オススメは古いPCの流用だが、私は余ったPCが無いので新しいデスクトップPCを組み立てた。
回線とルーター
どんなサービスを立てるかにもよるが、外部に公開するならポート開放が可能な回線が必要だ。固定IPアドレスについては後述する。
大抵の場合はポート開放可能なはずだが、ホームルーターやマンションの無料回線だとできない場合が多い。
ルーターに関してはレンタル品でも何とかなるが、クラスBやクラスAのローカルIPアドレスを使いたい場合などは、目的に応じて機能を選ぼう。
独自ドメイン
個人で使うサービスなら必要ないかもしれないが、外部公開するWebサーバーなどの場合は独自ドメインを取得しておこう。固定IPアドレスは必要に応じて契約すれば良い。私は固定IPアドレスを契約していない。IPアドレスが変わったらDNSサーバーを書き換えるつもりだが、運用を始めてから一度も変わっていない。
参考: 私の現環境
私の執筆時の自宅鯖は、至って普通のデスクトップPCが1つだけ。
CPU: intel Core i5-14600K
メモリ: DDR5-5600 64GB
ストレージ: Western Digital SN580 1TB
ルーター: YAMAHA RTX830
UPS: APC 400VA/240W(ネットワーク機器とサーバー1台を収容)
OSは有名なものにUbuntuやCent OSなどがあるが、私はProxmox VEという仮想化プラットフォームをインストールし、その中に複数の仮想マシンを立てて運用している。
運用を始めて気づいたこと
電気代
GPU未搭載のデスクトップPCをサーバーとして運用する場合、待機状態で60Wほど電力を消費する。これは一般家庭の電力契約で1ヶ月あたり1,500円~2,000円程度である。もちろんクラスタを組んだりしてサーバーが増えればその分消費電力は増える。
停電のリスク
停電した場合、UPSから給電されない機器は電源を喪失する。外出中に停電した場合、復旧するのが困難だ。サーバーを起動した後なら大抵は何とかなるが、外出先から起動する手段が本当に少ない。
私は以前旅行中に停電してサーバーの電源を喪失し、帰宅までの3日間すべてのサービスを停止する羽目になった。
メンテナンス
実はサーバーは立ててしまえば驚くほど何もしなくても良い。もちろんセキュリティアップデートは定期的に取り込んだ方が良いし、新しいサービスを導入したりする場合は作業が発生する。しかしサーバー本体は一度起動したらほとんど放置。まるで水を与えるだけで生きる植物のようだ。
まとめ
・普通のPC1台から始められる!
・電気代は上がる……
・停電には気をつけて!
長々と書いてきたが結局自宅鯖はロマンだ。VPSだってあるし、クラウドサービスに安定性では勝てないだろう。しかし、手の届くところに自分だけのサーバーがある、それだけで少し幸せになれる、そんな生活を想像するなら、今使っているPCを買い替える時にでも検討してみてほしい。
その辺に生えているITエンジニアのobaemonです。普段はiOSアプリ開発を中心に、様々なサービス(だいたい自分用)を開発しています。今後はこういった未来の誰かに向けた記事、失敗談や備忘録を書いていけたらと思っています。