オンプレミス派が考える、リモートサーバーとローカルサーバー、クラウドの使い分け
自宅サーバーをメインに4年以上運用しているオンプレミス派が考える、リモートサーバーとローカルサーバー、クラウドの使い分けをまとめました。
公開日: 2022.1.27
なぜオンプレミス派になったのか
自分もかつては「オールリモート」「オールクラウド」派でした。自宅にはサーバーは一切置かず、フルリモートで最大で10台くらいのリモートサーバーを使っていました。
しかし、クラウドを使ううちに「高いなぁ」と思うようになったり、負荷をかけすぎてVPSからサーバー停止を食らったりして、「自分で管理できる方が安心だ」と思うようになったのが、オンプレの始まりでした。
オンプレになると電気代やサーバーのコストがかかりますが、自分の場合は、
- Mac mini(メイン)
- Surface Pro(DBサーバー)
- NUC(サブ)
という3台構成で、合計で8万円くらい。この構成で4年間問題なく稼働しているので、1ヶ月あたりは1,700円くらいです。性能的にはメインのMac miniだけでも月額4,000円くらいのVPSサーバーくらいの性能があるので、電気代を考えても半額くらいで運用できています。
バックアップデータは全てNAS、そしてクラウド(2カ所)の3重バックアップです。自分のローカル環境にも作業ファイルは残すので、実際には4重です。
サーバーを選別する際の基準点
自分がサーバーを選ぶ際の基準は、
- 基本はローカルサーバー
- 失ったら困るデータは必ずローカル
- 外部からアクセスされる場合はリモート
- データ系はコピーをリモートに置く
- プログラム系はGithub && Google Cloudのレポジトリにダブルバックアップ
- 静的ファイルはDropbox、Box.comなどで3重バックアップ
という感じにしています。
生データ・公開データの考え方
オンプレ周りで難しいのが生データと公開データの取り扱いです。
特に、データベース周りはデータの消失はかなりの痛手になるので、絶対にローカルです。リモートにも置いてますが、コピースクリプトを組んで、ローカルのデータをリモートに同期しています。
Web系の場合、リモートサーバー0というわけには行かないので、必要最低限だけ公開サーバーにおいて、必ずバックアップを3重で取っています。
問題はユーザーデータで、こちらは最低限のものだけ取得して、リモートで保管しています。最近は、Cloudflare WorkerのWorker KVに保存することが多くなっています。こちらは作業前にバックアップしますが、ユーザーのものなので基本はバックアップはしません。
バックアップサーバーの考え方
オンプレミスといえど、物理サーバーなので物理的な故障やミスでのデータ喪失のリスクはそこそこあります。ですので、自分は「正・副・予備」の3重バックアップを行うようにしています。
メインのバックアップは自宅のNASで、バッチプログラムで自動で保管しています。サブのバックアップは、Box.comで、無料枠なんですがキャンペーンやらなんやらで50GBも容量があるのと、世代管理でもできるので、愛用しています。
予備のバックアップは、無料で使えているレンタルサーバーにNextcloudを入れて運用しています。こちらはBox.comのミラーに近い使い方です。
Box.comとNextcloudは容量に制限があるので、損失してもダメージが少ないファイルはバックアップから除外しています。
AWSやGCPを使わないのは従量課金だからです。バックアップは積み上げなので、「気づいたら課金されていた」を回避するには、無料プランがあるサービスを使うのがベストです。
実際運用してみてどうか?
この構成に辿り着いてから4年ほど経ちますが、問題はほぼ起きてません。VPSやクラウドの時は、請求と睨めっこしたり、突然ハングして対応したりと、サーバー管理に時間を食っていましたが、4年間でサーバー維持のために使って時間は24時間もないと思います。
その意味では、サーバー費用という実コスト以外にも、サーバー管理という時間コストも削減できて、しかも処理能力は上がっているので、かなり良い選択肢だったかなと思っています。
あと、地味にクラウドの存在は大きなと感じます。メインで使うとコストやらを気にしてしまいますが、バックアップの最後の砦というか、「なんかあってもクラウドにあるから」という保険としては大事な存在です。