さくらVPS 4台を1台の Ubuntu に集約した

目次

長年使い続けてきたさくら VPS 4台を、Ubuntu サーバー1台(ishikari-2)に集約した。 今回の移行作業では Claude Code に全面的に手伝ってもらい、想像以上にスムーズに進められた。その話も含めて記録しておく。

なぜ移行したか

最大の動機はコスト削減だ。

4台のサーバーを並行して維持していたため、月額合計は約 3,800円に達していた。 ishikari-2 に集約することで、月額 880円の1台だけになる。

ホスト名OS月額状態
osaka-1CentOS1,027円解約
tokyo-1CentOS907円解約
ishikari-1CentOS990円解約
ishikari-2Ubuntu 22.04 LTS880円移行先・現在稼働中
合計3,804円 → 880円約77%削減

年間にすると約 35,000円の節約になる。 どうせ移行が必要なら不要なサーバーをまとめてしまおうと決断した。

移行の規模

14ドメイン・約38GBのコンテンツ、PostgreSQL 6DB・MySQL 1DBを移行した。

主なサービスはこのあたり:

  • blog.mylab.jp — このブログ(Hugo 静的サイト)
  • その他個人プロジェクト各種

やったこと

Phase 1: 新サーバーのセットアップ

まず Ubuntu 22.04 LTS の新サーバーに nginx・PHP 8.1・PostgreSQL 14・MySQL 8.0 などをインストール。

Phase 2: コンテンツと DB の移行

コンテンツは rsync で ishikari-1 から新サーバーへ転送した。

Phase 3: PHP 8.1 への対応

一部のアプリは PHP 4 スタイルのコード(コンストラクタにクラス名と同名のメソッドを使うやつ)が残っていて、PHP 8.1 では動かなかった。 __construct() への書き換えや、static でないメソッドへの呼び出し方の修正などを行った。

これはClaude Codeが実施してくれた。

Phase 4: DNS 切り替えと SSL

さくら DNS で全ドメインの A レコードを新サーバーの IP に変更。 その後 certbot で全ドメイン分の SSL 証明書を一括取得した。

Phase 5: Hugo + GitHub Actions の移行

このブログは旧環境では Jenkins(ishikari-1 上)が Hugo v0.38 でビルドして ishikari-1 に直接デプロイしていた。構成が古すぎたので、この機会に刷新した。

新しいフロー:

git push origin master
  → GitHub Actions
      → Hugo 最新版(v0.161)でビルド
      → rsync で ishikari-2 へデプロイ

Hugo が v0.38 から v0.161 と大幅にアップしたので、テンプレートの修正もいくつか必要だった。[blackfriday] セクションの削除、.GetParam.Params.* の書き換えなど。

これらもClaude Codeがうまいことやってくれている。

旧サーバーの解約

2026-05-07 に旧3台のバックアップを取得して解約申請を完了した。

サーバー自動削除日
osaka-12026/05/31
ishikari-12026/05/31
tokyo-12026/06/30

Claude Code に全面的に手伝ってもらった

今回の移行で特筆したいのが、Claude Code(Anthropic の AI コーディングアシスタント)をフル活用したことだ。

移行計画の策定から始まり、SSH コマンドの実行・nginx 設定の編集・GitHub Actions ワークフローの作成・Hugo テンプレートの修正まで、作業のほぼすべてを Claude Code と対話しながら進めた。「ishikari-1 の PostgreSQL をストリームで ishikari-2 に移行したい」と伝えると即座に適切なコマンドを提示してくれ、実行・確認・次のステップへの移行がテンポよく進んだ。

また、このブログの Decap CMS(Web 管理画面)のセットアップも Claude Code に任せた。OAuth プロキシの Python スクリプト作成・systemd サービスへの登録・nginx への組み込みまで、ほぼ会話するだけで完成した。

14ドメイン・複数 DB というそれなりの規模の移行作業を短期間でこなせたのは、Claude Code のおかげと言っても過言ではない。

感想

移行作業自体は思ったよりスムーズで、一番時間がかかったのは PHP 互換性の確認と、大量ドメインの nginx 設定を1つずつ確認していくところだった。

4台が1台になって管理が楽になった。Ubuntu の apt でパッケージ管理できるのも快適。 しばらくはこの構成で運用していく予定。