HETZNERを使ってProxmoxを構築する

自動翻訳(Auto Translation)

これまで、ソフトウェア開発環境の検証や検証用サーバーの運用にはVMwareをメインに利用してきました。しかし、昨今のライセンス体系の大きな変更(サブスクリプション化や商用利用の条件変更など)を受け、今後の運用コストや継続性に不安を感じるようになりました。

また、これまではWindows OS上で仮想化ソフトウェアを動かす「ホスト型」の構成でしたが、以下のような実用面での限界も無視できなくなっていました。

リソースのオーバーヘッド: Windows自体のリソース消費が激しく、物理マシンのスペックを100%仮想マシンに割り当てられない。

パフォーマンスの低下: ディスクI/Oやネットワーク周りでWindowsを介するため、動作が重く感じる場面が多い。

これらの課題を解決するため、「ベアメタルサーバーを安価に提供するHETZNER」と「オープンソースの仮想化プラットフォームであるProxmox VE」を組み合わせ、自分専用の強力な開発基盤をクラウド上に構築することにしました。

仮想化基盤の選定

構成を考えるにあたり、まずは「自宅に物理サーバーを組む(自宅サーバー)」か「クラウドサーバーを借りる」という2択の検討が必要です。

「物理」ではなく「クラウド」を選んだ理由

最終的に私がクラウド(HETZNER)を選択した理由は、初期投資の高さとハードウェア管理の負担を回避するためです。

今回求めるスペックのマシンを自作するとなると、10万円単位の初期費用がかかるだけでなく、騒音や電気代、さらには故障時のパーツ交換といった物理的なメンテナンスに時間を奪われてしまいます。クラウドであれば、これらハードウェア由来の悩みはすべてデータセンター側に任せ、自分はソフトウェア層の設定に集中できると判断しました。

「VPS」ではなく「ベアメタル」であることの必然性

クラウドの中でも、安価なVPS(仮想専用サーバー)ではなく、物理マシンを占有できるベアメタルサーバーである必要があります。

Proxmoxを運用する上で、VPSのような仮想環境上での運用は「入れ子(Nested)仮想化」となり、パフォーマンスが劇的に低下します。また、ストレージのI/Oも他のユーザーの影響を受ける可能性があります。

物理リソースをダイレクトに叩けるベアメタルであれば、CPUの仮想化支援機能をフルに活用でき、Windows上の仮想化で感じていた「もっさり感」を完全に解消できると考えたのです。

選定したサーバー:HETZNER EX44

仮想化基盤には、月額€39(約7,000円〜8,000円前後)という価格ながら十分なスペックであり、コストとパフォーマンスのバランスが最も優れたEX44を選定しました。

項目スペック
CPUIntel Core i5-13500 (14コア / 20スレッド)
RAM64GB DDR4
Storage512GB NVMe SSD × 2 (RAID 1構成)
Network1Gbps

HETZNERの契約

HETZNERを利用したことがない場合は、会員登録が必要です。

会員登録後、本人確認のため「マイナンバーカード」や「運転免許証」などで本人確認を実施しますが、日本の場合は自動認証が成功しないようです。

自動認証を何度か失敗すると、オペレーターによる認証に切り替わりますので、手動での認証を依頼してください。

Debian 12インストール

レスキューモードを起動後、Debianを再インストールします。

インストールのセッティングは、基本デフォルトで問題ありません。

パーティションは、好みに合わせて以下のように変更します。

bash
PART /boot/efi esp 256M
PART /boot ext4 1024M
PART swap swap 32G
PART / ext4 50G
PART /var/lib/vz ext4 all

Proxmoxインストール

まずは、パッケージをアップデートします

bash
# システムアップデート
apt update
apt upgrade -y

次にProxmoxのインストール

bash
# Proxmox VE用のリポジトリキーを追加
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
# リポジトリを追加
echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
# リポジトリの更新
apt update

必要に応じて、ホスト名の変更を実施してください

bash
vi /etc/hosts
127.0.0.1 localhost
157.180.63.183 proxmox.example.com
# IPv6
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

パッケージ管理ツールにProxmoxを追加して、インストール

bash
# Proxmox VEをインストール
apt install -y proxmox-ve postfix open-iscsi chrony

Postfixの設定を聞かれた場合は、「Internet Site」 を選択

System mail nameはそのままエンターで進みます。

不要なパッケージを削除する

bash
# Debian標準カーネルを削除(オプションですが推奨)
apt remove -y linux-image-amd64 'linux-image-6.1*'
# 自動削除
apt autoremove -y

すべて完了したら、再起動

bash
# システム再起動
reboot

Porxmox WEB画面にアクセス

再起動後、ブラウザでWEBページにアクセスします。

ユーザ名はroot、パスワードはDebianのパスワードです。

http://XXX.XXX.XXX.XXX:8006

以上でProxmoxのインストールは完了です。

使ってみた感想

十分なマシンスペックを格安で使え、Proxmoxを構築するには十分なサービスです。

ただ日本からアクセスする場合、レイテンシが遅く(300ms~500ms)、マウスやキーボードの操作をしてから反映されるまでにかなりのラグを感じるのが正直な感想です。

なれたら気にならないのかなと思いしばらく使用してみますが、アジア周辺地域で安いベアメタルサーバがあればいいのになという感想です。

宣伝!

Hetzner等のVPSプロバイダーでProxmox VEを運用する際、パブリックIPが1つしかない環境で複数の仮想マシンやコンテナを動かすには、内部ネットワークの構築が必須です。

構築方法は以下の記事を参照ください!

    この記事は役に立ちましたか?



    広告ブロック機能を検知しました

    このウェブサイトは広告収益によって成り立っています。ご協力をお願いします。