c0d3man52

Webサイト制作

オンプレミス派が考える、リモートサーバーとローカルサーバー、クラウドの使い分け

自宅サーバーをメインに4年以上運用しているオンプレミス派が考える、リモートサーバーとローカルサーバー、クラウドの使い分けをまとめました。

公開日: 2022.1.27

なぜオンプレミス派になったのか

自分もかつては「オールリモート」「オールクラウド」派でした。自宅にはサーバーは一切置かず、フルリモートで最大で10台くらいのリモートサーバーを使っていました。

しかし、クラウドを使ううちに「高いなぁ」と思うようになったり、負荷をかけすぎてVPSからサーバー停止を食らったりして、「自分で管理できる方が安心だ」と思うようになったのが、オンプレの始まりでした。

オンプレになると電気代やサーバーのコストがかかりますが、自分の場合は、

  1. Mac mini(メイン)
  2. Surface Pro(DBサーバー)
  3. NUC(サブ)

という3台構成で、合計で8万円くらい。この構成で4年間問題なく稼働しているので、1ヶ月あたりは1,700円くらいです。性能的にはメインのMac miniだけでも月額4,000円くらいのVPSサーバーくらいの性能があるので、電気代を考えても半額くらいで運用できています。

バックアップデータは全てNAS、そしてクラウド(2カ所)の3重バックアップです。自分のローカル環境にも作業ファイルは残すので、実際には4重です。

サーバーを選別する際の基準点

自分がサーバーを選ぶ際の基準は、

  1. 基本はローカルサーバー
  2. 失ったら困るデータは必ずローカル
  3. 外部からアクセスされる場合はリモート
  4. データ系はコピーをリモートに置く
  5. プログラム系はGithub && Google Cloudのレポジトリにダブルバックアップ
  6. 静的ファイルは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時間もないと思います。

その意味では、サーバー費用という実コスト以外にも、サーバー管理という時間コストも削減できて、しかも処理能力は上がっているので、かなり良い選択肢だったかなと思っています。

あと、地味にクラウドの存在は大きなと感じます。メインで使うとコストやらを気にしてしまいますが、バックアップの最後の砦というか、「なんかあってもクラウドにあるから」という保険としては大事な存在です。