サーバー運用で唯一「これだけは」と言えるのがバックアップだ.障害・誤操作・侵害のどれが来ても,戻せる状態さえあれば事故は中断で済む.

対象はVPSで本番を運用する個人開発者・小規模チーム.読み終えたとき,戻せる体制を「仕組み」として組む方法が手に入ります.

なぜバックアップが最後の生命線なのか

セキュリティをどれだけ固めても,誤操作1回でデータは消える.rm一発,マイグレーション失敗,ランサムウェア── 原因は問わず結果は同じだ.

戻せる体制があれば,どんな事故も「数分の中断」に変わる.バックアップは保険ではなく,運用の前提条件だ.

2種類を理解する ― スナップショットとデータバックアップ

スナップショットはVPS丸ごとの瞬間コピーで,設定変更前の巻き戻しに最適だ.一方ファイル/DBバックアップは中身を個別に取り出せる.

両方を併用するのが理想だ.「丸ごと戻す」と「特定データだけ戻す」の両方の引き出しを持っておく.

3-2-1ルール ― バックアップの黄金律

データは3つ,媒体は2種類,1つは別の場所に持つ.これが3-2-1ルールだ.

同じVPS内にしかバックアップが無いと,そのVPSごと飛んだら全滅する.必ず1つは外部に逃がす.

  • 3:本番+バックアップ2つ=計3つのコピー
  • 2:スナップショット+ファイルダンプなど2種類
  • 1:少なくとも1つは別ロケーションに保管

自動化する ― 人間の記憶に頼らない

手動バックアップは必ず忘れる.cronで自動化し,毎日決まった時刻に取る.

DBとファイルを毎日バックアップ(cron)

0 3 * * * pg_dump -U app mydb | gzip > /backup/db-$(date +%F).sql.gz
0 4 * * * tar czf /backup/files-$(date +%F).tgz /home/deploy/app/uploads
# 古い世代の削除(7日より前)
0 5 * * * find /backup -mtime +7 -delete

外部に逃がす ― 別ロケーションへ転送

取ったバックアップを別のストレージや別サーバーへ転送する.rsyncやオブジェクトストレージへのアップロードが定番だ.

別サーバーへ夜間転送

30 5 * * * rsync -az /backup/ backup-user@remote-host:/remote-backup/

リストア訓練 ― 取るだけで満足しない

最も多い失敗が「取れていたが戻せなかった」だ.定期的に,バックアップから実際に復元できるか試す.

リストア手順をメモに残し,慌てている深夜でもなぞれるようにしておく.これが本番の安心を支える.

補論:スナップショットの使いやすさが運用の質を決める

バックアップ運用のしやすさは,スナップショット機能の手軽さに大きく左右される.数クリックで取得・復元できるかどうかで,変更を試す心理的ハードルが変わる.

高速NVMe・50種類以上のOSテンプレートに対応した国内VPS─シン・VPS─ はスナップショットを取りやすく,大きな変更の前に丸ごと退避→失敗したら即復元という運用がしやすい.NVMe SSDでバックアップ・リストアの所要時間も短い.

バックアップ転送先のサブドメインやステージング環境を切るなら,取り扱い400種類以上のドメイン取得サービス─ムームードメイン─ で取得したドメインを使うと構成が整理しやすい.

よくある質問

Q1:スナップショットだけで十分?

不十分だ.スナップショットはVPSごと飛ぶリスクに弱い.必ずファイル/DBダンプを外部にも持つこと.

Q2:どのくらいの頻度で取る?

更新頻度に合わせる.毎日アクティブなら日次+大きな変更前のスナップショットが現実的なライン.世代管理で古いものは自動削除する.

Q3:バックアップが暗号化は必要?

個人情報を含むなら必要だ.転送・保管時に暗号化し,バックアップ自体が漏洩経路にならないようにする.

まとめ ― 「戻せる」が運用の自由を生む

戻せる体制があると,大胆に変更を試せるようになる.バックアップは守りであると同時に,攻めの土台でもある.

今日やるべきは1つ.バックアップを1本取り,それを実際に戻せるか試すこと.この往復ができていれば,あなたの運用は一段安全だ.