Hetzner CloudでUbuntuサーバーを格安構築する方法

クラウド

結論、Hetzner Cloud の最安プランは月額€4.49(CAX11・Arm)からで、国内VPSと比べても破格の安さでUbuntu 24.04 LTSのサーバーを運用できます。本記事では、Hetzner Cloud でUbuntuサーバーを立ち上げ、SSH接続・初期設定・UFWファイアウォール設定までを解説します。

料金は Hetzner 公式の price API を実際に叩いて取得した数値、コマンドの出力は ubuntu:24.04 公式Dockerイメージで実際に動かした結果です。「安く海外VPSを借りてLinuxを練習したい」という方に向けて、コマンドを1つずつ丁寧に説明していきます。

この記事のポイント

  • Hetzner Cloud の最安は CAX11(Arm)が€4.49/月、CX22(Intel)が€5.99/月。いずれも公式price APIから取得した実料金(IPv4込み)
  • CAX/CX ラインは欧州(ドイツ・フィンランド)専用。シンガポール(SIN1)は別ラインのみで割高、東京リージョンは未提供(2026年6月時点)
  • SSH鍵(ED25519)の生成・Ubuntu 24.04.4 LTS の初期設定コマンドは Docker で実際に実行した出力を掲載
  • 日本語サポートや東京リージョンが必要なら ConoHa VPS または Vultr 東京がおすすめ
Hetzner Cloud 公式サイト トップ(Playwright実撮影)
Hetzner Cloud 公式サイト トップ(Playwright実撮影)

Hetzner Cloud とは

Hetzner(ヘッツナー)は1997年創業のドイツのホスティング会社です。クラウドVPSサービス「Hetzner Cloud」は、ドイツ(Falkenstein・Nuremberg)、フィンランド(Helsinki)、米国(Ashburn・Hillsboro)、シンガポール(SIN1)にデータセンターを持ちます。「VPS」とは仮想専用サーバーのことで、1台の物理サーバーを分割した仮想マシンを月額で借りられるサービスです。

①Hetzner Cloud の特徴は圧倒的なコスパ

Hetzner Cloud の最大の魅力は料金の安さです。下の表は Hetzner 公式の price API(website-price-api.hetzner.com、公式サイトの料金表示が裏で叩いているのと同じAPI)を実際に取得した、主要プランの月額料金です。

Hetzner Cloud 主要プラン料金(実測:公式price API取得)
Hetzner Cloud 主要プラン料金(実測:公式price API取得)
プラン CPU vCPU / RAM SSD 月額(EU・IPv4込) こんな用途に
CAX11 Ampere Arm 2 / 4GB 40GB NVMe €4.49 学習・小規模アプリ
CAX21 Ampere Arm 4 / 8GB 80GB NVMe €6.99 開発・検証環境
CX22 Intel 2 / 4GB 40GB NVMe €5.99 ブログ・軽量サーバー
CX32 Intel 4 / 8GB 80GB NVMe €8.99 中規模Webアプリ
CX52 Intel 16 / 32GB 240GB NVMe €29.99 高トラフィック対応

上の料金にはプライマリIPv4アドレス(€0.50/月)が含まれています。API応答を見ると、IPv4なしの素の料金は CAX11 が€3.99、CX22 が€5.49でした。2024年からIPv4アドレスが有料化されたため、IPv6だけで運用すれば月€0.50ぶん安くなります。最安の CAX11 なら、1年使っても€53.88(IPv4込み)と、コーヒー数杯分の月額でLinuxサーバーを持てる計算です。

注意:東京リージョンはありません

Hetzner Cloud には東京リージョンがありません。しかも価格APIで確認したところ、最安の CAX(Arm)・CX(Intel)ラインは欧州リージョン専用で、シンガポール(SIN1)では使えません。SIN1で使える共有プランは別ラインで月€15.99〜とEUより割高です。日本から低遅延で使いたい場合は、後述する Vultr 東京や ConoHa VPS を検討してください。

②他社VPSとの比較

Hetzner Cloud を他社と比べると、料金の安さが際立ちます。ただし日本語サポートと東京リージョンの有無で評価は変わります。

Hetzner と他社VPSの比較(illustrative)
Hetzner と他社VPSの比較(illustrative)
VPS 最安プラン vCPU / RAM 東京リージョン 日本語サポート 評価
Hetzner Cloud €4.49/月〜 2 / 4GB なし(欧州/SG) なし(英語) ★★★★☆
Vultr $5/月〜 1 / 1GB あり(東京) なし(英語) ★★★★☆
DigitalOcean $6/月〜 1 / 1GB なし(最寄SG) なし(英語) ★★★★☆
ConoHa VPS ¥296/月〜 1 / 512MB あり(東京/大阪) あり(日本語) ★★★★★

同じスペック帯で比べると Hetzner の CAX11(2vCPU/4GB/€4.49)は頭1つ抜けたコスパです。一方、Vultr や ConoHa は東京リージョンがあるため、日本のユーザー向けサービスを公開するなら遅延の面で有利です。VPS各社のより詳しい比較は もあわせてご覧ください。

アカウント作成とサーバー起動

Hetzner Cloud を始めるには、公式サイト(hetzner.com/cloud)でアカウントを作成し、コンソール(console.hetzner.cloud)からサーバーを作ります。先に手元で SSH 鍵を作っておくとスムーズです。

手順1:SSH鍵を事前に作成する

Hetzner Cloud ではサーバー作成時に SSH 公開鍵を登録します。先にローカルマシンで鍵を生成しておきましょう。ED25519 方式が推奨です(RSA より鍵が短く、安全性も高い)。以下は ubuntu:24.04 コンテナ(OpenSSH_9.6p1)で実際に生成した出力です。




ubuntu@local: ~
$ ssh-keygen -t ed25519 -f ~/.ssh/hetzner_key -C “ubuntu@hetzner-vps”
Generating public/private ed25519 key pair.
Your identification has been saved in ~/.ssh/hetzner_key
Your public key has been saved in ~/.ssh/hetzner_key.pub
$ cat ~/.ssh/hetzner_key.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEP85g51DCxq55lWP6+AX3oMs92XPeRUlWufYtKRY01e ubuntu@hetzner-vps
$ ssh-keygen -lf ~/.ssh/hetzner_key.pub
256 SHA256:WcbatEhVqAxFdyj8dfrA2E7yjp1iK7Lu45I5wwDUMIo ubuntu@hetzner-vps (ED25519)
SSH ED25519鍵ペア生成の実測ログ
SSH ED25519鍵ペア生成の実測ログ

上記は実際に Docker コンテナ(ubuntu:24.04、OpenSSH_9.6p1 Ubuntu-3ubuntu13.16)で実行した結果で、フィンガープリントは SHA256:WcbatEhVqAxFdyj8dfrA2E7yjp1iK7Lu45I5wwDUMIo でした。cat ~/.ssh/hetzner_key.pub で表示される公開鍵の中身をコピーし、Hetzner Cloud コンソールの「SSH鍵」に登録します。

著者アイコン
著者アイコン

パスフレーズは -N "" で空にもできますが、セキュリティ上は設定するのがおすすめです。日常的に使うなら ssh-agent に登録しておくと毎回入力しなくて済みます。

手順2:サーバーを作成する

コンソールで「新しいサーバーを作成(Add Server)」をクリックし、次のポイントで設定します。

  • ロケーション:Nuremberg・Falkenstein(ドイツ)または Helsinki(フィンランド)。アジアから使うなら Singapore(SIN1)が遅延を抑えられますが、CAX/CX ラインは選べず割高なプランになる点に注意
  • イメージ:Ubuntu 24.04 を選択
  • タイプ:Shared vCPU から CAX11(Arm・€4.49/月)または CX22(Intel・€5.99/月)。学習用なら最安の CAX11 で十分です
  • SSH鍵:手順1で作成した公開鍵を登録

サーバー作成画面では、下のような料金計算ツールで構成と月額を確認できます。vCPU数・IPv4の有無・転送量を選ぶと、月額・時間単価がリアルタイムで表示されます。

Hetzner Cloud コスト計算ツール(Playwright実撮影)
Hetzner Cloud コスト計算ツール(Playwright実撮影)

注意:IPv4は有料オプション

IPv4 アドレスは2024年から有料(€0.50/月)です。料金計算ツールでも「IPv6 only / Primary IPv4」を選べます。学習目的ならIPv6のみも選択肢ですが、多くのサービスがまだIPv4を前提としているため、初心者は IPv4 を含めるのが安全です。

SSHでサーバーに接続する

サーバーが起動したら、コンソールに表示される IP アドレスを使って SSH 接続します。初回は root ユーザーで接続します(<サーバーのIP> は実際のIPに置き換えてください)。

手順3:SSH接続する




ubuntu@local: ~
$ ssh -i ~/.ssh/hetzner_key root@<サーバーのIP>
The authenticity of host ‘…’ can’t be established.
ED25519 key fingerprint is SHA256:……..
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Welcome to Ubuntu 24.04 LTS (GNU/Linux … x86_64)
root@hetzner-vps:~#

初回は接続先の本物確認(フィンガープリント)が表示されるので yes で進めます。Welcome to Ubuntu 24.04 LTS とプロンプトが出れば接続成功です。正直、初めてのSSH接続は「本当につながるのか?」と不安になりますが、ここまで来れば一安心です。

手順4:~/.ssh/config に設定を書いて接続を省略する

毎回 -i ~/.ssh/hetzner_key root@IP を打つのは面倒です。~/.ssh/config に書いておくと ssh hetzner-vps だけで接続できます。




ubuntu@local: ~/.ssh/config
$ cat ~/.ssh/config
Host hetzner-vps
HostName <サーバーのIP>
User root
IdentityFile ~/.ssh/hetzner_key
Port 22
ServerAliveInterval 60
$ ssh hetzner-vps
root@hetzner-vps:~#

Ubuntu 24.04 の初期設定

SSH 接続できたら初期設定を行います。以下のコマンドと出力は ubuntu:24.04 公式Dockerイメージ(Ubuntu 24.04.4 LTS / コードネーム Noble Numbat)で実際に実行して確認した内容です。Hetzner Cloud で配布される Ubuntu 24.04 もパッケージ候補バージョンは同じです。

手順5:パッケージを最新の状態に更新する




root@hetzner-vps: ~
$ apt-get update
Get:1 http://archive.ubuntu.com/ubuntu noble InRelease
Reading package lists… Done
$ apt-get upgrade -y
Building dependency tree… Done

apt-get update を忘れがちですが、これをやらないと古いバージョンが入ります。update(パッケージ一覧の更新)と upgrade(実際の更新)は必ず2つセットで実行してください。

手順6:よく使うツールをインストールする

以下は ubuntu:24.04 コンテナで実際にインストールし、バージョンを確認した結果です。




root@hetzner-vps: ~
$ apt-get install -y curl git htop wget
Setting up htop (3.3.0-4build1) …
Setting up git (1:2.43.0-1ubuntu7.3) …
Setting up curl (8.5.0-2ubuntu10.9) …
$ curl –version | head -1
curl 8.5.0 (aarch64-unknown-linux-gnu) libcurl/8.5.0 OpenSSL/3.0.13
$ git –version
git version 2.43.0
Ubuntu 24.04 初期設定コマンドの実測ログ
Ubuntu 24.04 初期設定コマンドの実測ログ

Ubuntu 24.04 では curl 8.5.0・git 2.43.0・htop 3.3.0 が入りました(検証マシンが Apple Silicon のため aarch64 表記ですが、バージョンは Hetzner の x86_64 環境でも同じです)。

手順7:タイムゾーンを日本時間に設定する

デフォルトは UTC なので、ログのタイムスタンプが日本時間と9時間ずれます。Asia/Tokyo に設定しておきましょう。




root@hetzner-vps: ~
$ timedatectl set-timezone Asia/Tokyo
$ cat /etc/timezone
Asia/Tokyo

Docker コンテナには timedatectl が無いため、検証では ln -fs /usr/share/zoneinfo/Asia/Tokyo /etc/localtime でタイムゾーンを変更し、cat /etc/timezoneAsia/Tokyo を返すことを確認しました。実際のVPS(systemd あり)では上記の timedatectl set-timezone が使えます。

手順8:sudoユーザーを作成する

セキュリティ上、root ユーザーで直接作業するのは推奨されません。通常ユーザーを作成して sudo 権限を付与します。




root@hetzner-vps: ~
$ useradd -m -s /bin/bash hetzneruser
$ usermod -aG sudo hetzneruser
$ id hetzneruser
uid=1001(hetzneruser) gid=1001(hetzneruser) groups=1001(hetzneruser),27(sudo)

Docker コンテナ(ubuntu:24.04)で実際に実行し、id の出力に 27(sudo) が含まれることを確認しました。これで hetzneruser が sudo グループに入り、sudo コマンドが使えるようになります。鍵ログインを通常ユーザーでも行いたい場合は、root~/.ssh/authorized_keys を作成ユーザーのホームにコピーして所有権を整えておきます。

UFWファイアウォールの設定

Hetzner Cloud にはコンソール側のファイアウォール機能もありますが、サーバー内の ufw(Uncomplicated Firewall)も設定しておくとより安全です。ufw は iptables を簡単に扱うためのフロントエンドです。

手順9:UFW でポートを制御する




root@hetzner-vps: ~
$ apt-get install -y ufw
Setting up ufw (0.36.2-6) …
$ ufw default deny incoming
$ ufw default allow outgoing
$ ufw allow 22/tcp
Rules updated
Rules updated (v6)
$ ufw enable
Firewall is active and enabled on system startup
$ ufw –version
ufw 0.36.2

検証では ubuntu:24.04 コンテナで ufw 0.36.2 をインストールし、ufw allow 22/tcpRules updated / Rules updated (v6) という出力を確認しました(コンテナではカーネルモジュールの都合で enable は実環境向けの表示になります)。

注意:enable の前に必ず22番を許可する

ufw enable を実行する前に、必ず SSH ポート(22番)の許可を追加してください。順番を間違えると SSH 接続が切断され、Hetzner コンソールの VNC からしか復旧できなくなります。ここだけは順番を間違えると詰みます。

手順10:Webサーバーを公開するならポートを追加する

nginx や Apache で HTTP/HTTPS を公開する場合は、80番・443番も許可します。




root@hetzner-vps: ~
$ ufw allow 80/tcp # HTTP
Rules updated
$ ufw allow 443/tcp # HTTPS
Rules updated
$ ufw show added
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp

上記の ufw show added は実際にコンテナで追加した3つのルール(22/80/443)がそのまま表示された出力です。

参考:sysbench で CPU 性能を測る

VPSの CPU 性能が気になる場合、sysbench ベンチで数値化できます。以下は ubuntu:24.04 コンテナで実測した参考値です。

sysbench CPU ベンチ Ubuntu 24.04(実測)
sysbench CPU ベンチ Ubuntu 24.04(実測)



root@hetzner-vps: ~
$ apt-get install -y sysbench
Setting up sysbench (1.0.20+ds-6build2) …
$ sysbench cpu –threads=2 –time=10 run
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
events per second: 15465.47
total number of events: 154699

3回計測した平均は 15,425.7 events/sec(最小15,355〜最大15,465)でした。ただしこれはローカルの Docker ホスト(Apple Silicon)上の参考値であり、Hetzner Cloud VPS の実数値ではありません。実際の CAX(Arm)/ CX(Intel)の性能は、同じコマンドを契約後のVPS上で回して比較するのが確実です。

よくあるエラーと対処法

①「Connection refused」で SSH 接続できない

SSH サーバーが起動していないか、ファイアウォールでポートがブロックされています。Hetzner Cloud コンソールの VNC コンソールからサーバーに入り、systemctl status ssh でサービス状態、ufw status で22番が許可されているかを確認します。

②「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」が出る

サーバーを作り直してIPが再利用されたときに起こります。ローカルの ~/.ssh/known_hosts から該当IPのエントリを削除します。




ubuntu@local: ~
$ ssh-keygen -R <サーバーのIP>
# Host <サーバーのIP> found: line 5
/Users/user/.ssh/known_hosts updated.

③ 想定より料金が高い/安い

Hetzner の料金は選んだリージョンとIPv4の有無で変わります。CAX/CX は欧州が最安で、シンガポールは別ラインのみ・割高です。価格APIでも CAX11 はEUの3拠点(FSN1/NBG1/HEL1)で€4.49(IPv4込)、IPv4なしなら€3.99と確認できました。安く抑えたいなら「欧州リージョン+必要ならIPv4」を選びましょう。

まとめ

Hetzner Cloud で Ubuntu 24.04 サーバーを構築する手順をまとめました。

  • 最安は CAX11(Arm)€4.49/月・CX22(Intel)€5.99/月。いずれも公式price APIで確認した実料金(IPv4 €0.50込み)
  • CAX/CX は欧州リージョン専用。シンガポールは別ラインのみで割高、東京リージョンは未提供
  • SSH鍵は ssh-keygen -t ed25519 で事前に生成し、Hetzner コンソールに登録する
  • 接続後は update/upgrade → ツール導入 → タイムゾーン設定 → sudoユーザー作成 → UFW設定の順で初期設定する
Ubuntu初期設定チェックリスト(illustrative)
Ubuntu初期設定チェックリスト(illustrative)

Hetzner Cloud を選ぶとき・選ばないとき

  • とにかく安くLinuxを学びたい → Hetzner Cloud(CAX11 €4.49〜)が有力
  • 東京リージョンで低遅延を重視 → Vultr 東京または ConoHa VPS
  • 日本語サポートが必要 → ConoHa VPS(国内ホスティング)
  • 海外からのアクセスがメインのサービス → Hetzner のコスパが際立つ

東京リージョンが必要な方へ

Hetzner Cloud には東京リージョンがないため、日本国内向けの低遅延サービスには不向きです。そういった用途には Vultr の東京リージョン($5/月〜)がおすすめです。Vultr も初心者向けのシンプルなコンソールと充実したドキュメントを備えており、Ubuntu 24.04 のセットアップは本記事と同じ手順で行えます。

日本語のコントロールパネルや電話・チャットサポートが欲しい場合は、国内ホスティングの ConoHa VPS(東京/大阪リージョン・月額¥296〜)も選択肢になります。

コメント

タイトルとURLをコピーしました