さくらVPS 4台を1台の Ubuntu に集約した
目次
長年使い続けてきたさくら VPS 4台を、Ubuntu サーバー1台(ishikari-2)に集約した。 今回の移行作業では Claude Code に全面的に手伝ってもらい、想像以上にスムーズに進められた。その話も含めて記録しておく。
なぜ移行したか
最大の動機はコスト削減だ。
4台のサーバーを並行して維持していたため、月額合計は約 3,800円に達していた。 ishikari-2 に集約することで、月額 880円の1台だけになる。
| ホスト名 | OS | 月額 | 状態 |
|---|---|---|---|
| osaka-1 | CentOS | 1,027円 | 解約 |
| tokyo-1 | CentOS | 907円 | 解約 |
| ishikari-1 | CentOS | 990円 | 解約 |
| ishikari-2 | Ubuntu 22.04 LTS | 880円 | 移行先・現在稼働中 |
| 合計 | 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-1 | 2026/05/31 |
| ishikari-1 | 2026/05/31 |
| tokyo-1 | 2026/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 でパッケージ管理できるのも快適。 しばらくはこの構成で運用していく予定。
