概要
- VPSから自宅サーバー への移行と、 Proxmox VE による柔軟な仮想化環境構築
- 実験と学習 のためのVM自動化・安全運用の要件整理
- ハードウェア選定、 ディスク暗号化、および バックアップ戦略 の重要性
- Opentofu/Terraform、cloud-init、Ansible を活用したIaCによる構成管理
- Proxmox VEのインストール とトラブルシューティングの実践記録
自宅サーバー移行と設計方針
- VPSから自宅のmini PC (Minisforum UM880 Plus)へのサービス移行
- VM(仮想マシン)による分離 で本番サービスと実験環境を両立
- Kubernetes習得 を目指し、まずは 単一ノードk3s から段階的に拡張予定
- クラウド利用回避 (学習コスト・コスト増加防止)のためオンプレ運用
- ハードウェア追加投資は最小限、現状のmini PCを最大限活用
セキュリティ・信頼性要件(脅威モデル)
- 最大の脅威:物理盗難 (リビング設置のため)
- ディスク暗号化 でデータ漏洩対策
- 堅牢なバックアップ 運用
- ハードウェア故障 への備え
- 自動インストール・構成管理 で復旧容易化
- 人的ミス への備え
- バージョン管理・ロールバック 可能なセットアップ
- Infra Nerds Club の友人グループからのアドバイス活用
- 電源障害・遠隔復旧
- KVM経由でWake on LAN 送信可能なネットワーク設計
仮想化・自動化技術選定
- Proxmox VE によるホスト型仮想化(唯一現実的な選択肢)
- VM自体は使い捨て、VM内サービスのデータ・構成のみバックアップ
- Opentofu(Terraform派生) でVMの定義・自動生成
- cloud-init で初期設定(ユーザー、SSH鍵、ネットワーク等)
- Ansible でサービスやネットワーク設定などの状態管理
- 冪等性 確保(同じPlaybookを何度実行しても同じ結果)
Proxmoxホストのセットアップ手順
- Debian上にProxmoxを追加インストール (ディスク暗号化対応のため)
- Debianインストーラー でLVM+暗号化構成
- rootパスワード設定 (Proxmoxはroot重視設計のため)
- パッケージ選択は最小限 (SSHサーバー+標準ユーティリティのみ)
- KVM経由で暗号化パスワード入力 運用
- Dropbearやmagic USB stick によるリモート解除も選択肢
- SSH設定の一時変更
- rootログイン一時許可→公開鍵コピー→再度禁止でセキュア化
Proxmoxインストール時のトラブルと対応
- Proxmox導入直後に起動不能 (暗号化ディスクは解除されるが、その後進まない)
- 原因調査のためGRUBのquietパラメータを削除 し、詳細な起動ログを確認
- Proxmoxカーネル自体は暗号化ディスク対応、問題は別要因と判明
- 段階的なインストール・再起動で切り分け、トラブルシューティングを実施
インフラ自動化の全体像
-
Opentofu/Terraform :VMやDNSレコードのコード化・自動生成
-
cloud-init :VM初期化時のユーザー・SSH設定・ネットワーク構成
-
Ansible :OSやサービスの詳細設定・冪等性のある構成管理
-
IaC(Infrastructure as Code) による再現性と移行容易性の確保
- 例:OpentofuでDebian VMをcloud-init付きで定義
- 例:Ansibleでネットワークやタイムゾーン等を冪等的に設定
今後の展望
- VMの再現性ある構築・設定 (次回記事で詳細解説予定)
- クラウド・オンプレ間の柔軟な移行 を可能にする運用設計
- 安定したインフラ基盤の上でKubernetes学習・実験 を継続
この構成により、 安全性・柔軟性・自動化 を高いレベルで両立しつつ、 学習・実験・本番運用 を一台のmini PC上で実現可能。今後は、VMの自動構築・サービスデプロイの具体的な手順をさらに掘り下げていく予定。