Rust 学習者のための VPS 入門 — なぜ 1 台持つべきか、何を選ぶべきか
Rust を学んでいると、ある時期から「ローカルマシンだけでは物足りない」瞬間がやってきます。
書いた Web サーバを実際にインターネットに公開してみたい、tlock のリレーを立てたい、Veilid ノードを常時稼働させたい、自作の Discord ボットを 24 時間動かしたい、CI のセルフホストランナーを試したい——こうした「ローカルでは完結しない学習」に踏み込むと、自分専用のサーバが一台あるかどうかで体験の幅が大きく変わります。
そこで登場するのが VPS(Virtual Private Server) です。
本記事では、Rust 学習者が初めて VPS を持つときに知っておくべき基礎知識と、2026 年現在で実際におすすめできるサービスを、用途別に整理して紹介します。
VPS とは何か
VPS は日本語で「仮想専用サーバ」と訳されます。
データセンターに置かれた物理サーバを、KVM などの仮想化技術で複数の独立した仮想マシンに分割し、その 1 区画を月額固定料金で借りるサービスです。
すでにPython学習者なら一度は借りたことがあるかと思います。
借りる側から見ると、それは「インターネット上に置かれた、自分専用の Linux マシン」に他なりません。
OS 選択(Ubuntu、Debian、Rocky Linux、Arch など)から自由にでき、root 権限で何でもインストールでき、24 時間 365 日稼働し続け、世界中のどこからでも SSH で接続できます。
物理的には他のユーザと同じハードウェアを共有していますが、CPU・メモリ・ディスクは仮想化レイヤで隔離されており、隣の利用者の負荷で自分のサーバが落ちることはありません(ただし「共有 CPU」プランでは多少の競合があります)。
似たサービスとの違い
VPS に最も近いカテゴリのサービスを整理しておきます。
共有レンタルサーバ(ロリポップ、お名前.com など)は、root 権限がなく、WordPress などの定型用途しかサポートしません。
Rust でビルドしたバイナリを常時動かす、といった用途には不向きです。
クラウド(AWS EC2、Google Cloud、Azure)は VPS の上位互換と言えますが、従量課金が中心で料金が読みにくく、設定項目も膨大です。
本職のインフラエンジニアにとっては強力ですが、個人の学習用途には複雑すぎますし、設定ミスで数万円の請求が来ることもあります。
自宅サーバ は最もコストパフォーマンスが高いですが、固定 IP の確保、停電・回線断対策、ルーターのポート開放、騒音と消費電力など、考えるべきことが多すぎます。
最初の一台としては VPS のほうがずっと気楽です。
コンテナホスティング(Fly.io、Railway、Render)は近年人気で、Dockerfile を渡すだけでデプロイできて手軽ですが、「Linux マシンとして自由に触る」体験は得られません。
学習段階では VPS で OS レベルから触る経験をしておくと、後で潰しが効きます。
Rust 学習者が VPS を持つメリット
具体的に、Rust を学ぶ上で VPS が役立つ場面をいくつか挙げてみます。
まず 「実際にインターネットに公開する」体験ができる こと。axum や actix-web で書いた Web API を VPS にデプロイし、https://yourdomain.com/api/... で世界からアクセスできるようにする経験は、ローカルの cargo run とは別次元の学びがあります。
Let’s Encrypt で TLS を取る、Nginx のリバースプロキシを設定する、systemd でサービス化する、といった「本物の運用」が一通り体験できます。
次に 常時稼働が必要なものを動かせる こと。Veilid のブートストラップノード、tlock を使ったタイムロックサービス、Discord ボット、Matrix サーバ、Mastodon インスタンスなど、24 時間動き続けてこそ意味があるソフトウェアの実験場として最適です。
そして ARM64 ネイティブ環境が手に入る こと。
これは意外と見落とされがちですが、現代の VPS は ARM64 プランが充実しており、Rust の aarch64-unknown-linux-gnu ターゲットでネイティブビルドして動作確認ができます。
Apple Silicon 上での開発と組み合わせれば、クロスコンパイルの罠をかなり減らせます。
さらに CI / セルフホストランナーの実験場 にもなります。
GitHub Actions のセルフホストランナーや、Forgejo Actions のランナーを動かして、自分の Rust プロジェクトを自分のサーバでビルドする体験は、CI の仕組みへの理解を一気に深めてくれます。
VPS 選びの基本的な考え方
無数にある VPS サービスから最初の一台を選ぶ際、押さえておくべき観点は次のとおりです。
スペック については、Rust 学習用途なら最小構成で十分なケースが多いですが、「Rust のコンパイル自体をサーバ上でやる」つもりなら話が変わります。
Rust のフルビルドはメモリを大量に消費する(tokio や axum のような中規模プロジェクトで 2GB、polars クラスだと 8GB 以上)ので、サーバ上でビルドするなら メモリ 4GB 以上 を見ておくと安心です。
ローカルでビルドして転送するだけなら、1GB でも問題ありません。
ロケーション(データセンター所在地) は、用途によって選び方が変わります。
日本国内のユーザに Web サービスを公開するなら、東京・大阪リージョンのある国内 VPS が低レイテンシで有利。逆に学習目的だけなら、海外の安いリージョンで十分です。
Veilid のような分散ネットワークのノードを立てるなら、ネットワークの地理的多様性を高めるという意味で、むしろ海外リージョンに価値があります。
料金体系 は月額固定が基本ですが、時間課金で「使った分だけ」払えるサービスもあります。
短期間の実験には時間課金が向き、常時稼働なら月額固定が安心です。
支払い方法 も意外と重要です。
海外サービスはクレジットカード必須が大半。国内サービスは銀行振込やコンビニ払いに対応している場合もあります。
OS と管理機能。
Ubuntu LTS が動けば Rust 開発には十分ですが、Web コンソールから OS を再インストールできる、スナップショットが取れる、コンソールアクセス(SSH が死んでも入れる手段)がある、といった管理機能の充実度は事業者間で差があります。
おすすめ VPS サービス
ここからは、用途別に具体的なサービスを紹介します。
価格は 2026 年初頭時点の目安で、為替やプラン改定で変動します。
1. Hetzner Cloud(ドイツ) — 圧倒的コスパの世界的定番
ドイツの老舗ホスティング会社で、近年は世界中の個人開発者・スタートアップの定番になっています。
最大の魅力は ARM64 プランの破格の安さ。CAX11(ARM64 2 vCPU、メモリ 4GB、ディスク 40GB)が月額 約 3.79 ユーロ(600 円前後) という、他の追随を許さない価格です。
x86 プランも CX22(2 vCPU、4GB)で約 3.99 ユーロ。
日本リージョンはありませんが、アシュバーン(米国東部)、ヘルシンキ、ニュルンベルクと選べます。
日本からのレイテンシは米国経由で 150ms 前後で、SSH 作業や Web の管理用途には全く問題ありません。
支払いはクレジットカードまたは PayPal。
アカウント開設時に簡単な本人確認(身分証の写真)を求められることがあり、これが日本のユーザにとっては最初のハードルになります。
承認後は使い勝手が極めて良く、Web コンソールの完成度も高い。
Rust 学習者へのおすすめ度: ★★★★★。
ARM64 ネイティブ環境を激安で持てる、という一点だけでも価値があります。
「Veilid ノードを 24 時間動かす」「tlock のリレーを立てる」のような実験用途に理想的です。
2. Oracle Cloud Infrastructure Always Free(永久無料) — 在庫があれば最強
Oracle が提供する 永久無料 プランで、ARM ベースの Ampere A1 インスタンスを 合計 4 vCPU、メモリ 24GB まで 無料で使えます。
これを 1 台に集約すれば、4 コア + 24GB メモリという、本職の開発マシン並みのサーバが永久 0 円。
加えて、AMD ベースの小さなインスタンスが 2 台、ブロックストレージ 200GB、帯域も月 10TB が無料で付いてきます。
「クラウドの罠」ではなく、本当に永久無料で提供されています(クレジットカード登録は必要ですが、明示的にアップグレードしない限り課金されません)。
ただし注意点が二つ。ARM インスタンスの在庫が逼迫している ことが多く、地域とタイミングによっては数日〜数週間「Out of capacity」エラーが続くことがあります。
Terraform などで自動再試行スクリプトを組むのが定番です。
もう一つは、Oracle Cloud のコンソール UX が独特 で、AWS や GCP よりだいぶ取っ付きにくい。
最初の Network 設定(VCN、サブネット、セキュリティリスト)で挫折する人が多いです。
東京リージョンが選べるので、レイテンシは国内 VPS と遜色ありません。
Rust 学習者へのおすすめ度: ★★★★☆(在庫が取れれば ★★★★★)。
Polars や DataFusion のような重量級クレートをサーバ上でビルドしたい、複数のサービスを同居させたい、という贅沢な用途に向きます。
3. さくらの VPS — 国内老舗の安心感
国内 VPS の代表格で、運営はさくらインターネット。
最安の 512MB プランが月額 643 円、1GB プランが 968 円、2GB プランが 1738 円(税込)から。
データセンターは石狩(北海道)・東京・大阪の三拠点があり、国内ユーザへのレイテンシは数ミリ秒。
長年運用している企業なので、サポートやドキュメントが日本語で充実しており、初めて VPS を持つ人には精神的なハードルが低いです。
請求書払いや銀行振込にも対応しており、クレジットカードを持っていない学生でも契約できます。
2 週間の無料お試し期間があり、これで肌に合うか確認できるのも親切。
Rust 学習者へのおすすめ度: ★★★★☆。
「とりあえず最初の一台を国内で安心して始めたい」「日本語のサポートが欲しい」人に向きます。
コスパ面では Hetzner に劣りますが、安心料と捉えれば妥当な価格です。
4. ConoHa VPS — GMO 系で UI が洗練
GMO インターネット系列の VPS で、Web コンソールの完成度が国内では最も高いと評判です。
512MB プランで月額 493 円 から、1GB で 968 円 程度。最小プランの価格は国内ではかなり安い部類です。
時間課金プランがあり、短期間だけ立ち上げて消す、というクラウド的な使い方ができるのも特徴。
「週末だけ重いベンチマークを回す」のような用途に便利です。
ゲームサーバ(Minecraft、ARK など)のテンプレートが充実しているのは余談ですが、開発用途でも Docker、Kubernetes(k3s)、Mastodon などのテンプレートが揃っており、ボタン一発で構築できます。
Rust 学習者へのおすすめ度: ★★★★☆。
さくらと比較してより「クラウド的」な使い勝手で、UI が好みなら良い選択です。
5. Xserver VPS — 高性能と低価格の両立
レンタルサーバで国内シェア No.1 のエックスサーバーが提供する VPS で、後発組ながら最新の Xeon プロセッサと NVMe SSD を投入してきており、ベンチマークでは国内 VPS トップクラスの性能を出しています。
2GB プランが月額 約 1150 円(税込、長期契約割引適用時)から。「価格は ConoHa とほぼ同等で性能はそれ以上」というポジショニングで、コスパ重視の国内 VPS としては筆頭候補です。
Rust 学習者へのおすすめ度: ★★★★☆。
「国内 VPS で最新ハードウェア」を求めるならこれ。
6. Vultr / DigitalOcean / Linode(Akamai) — 北米系の安定選択肢
いずれも月額 6 ドル(約 900 円)程度 からの「1 vCPU + 1GB メモリ」プランで横並びになっており、機能・性能ともに大差ありません。
すべて東京リージョンを持ち、国内からのレイテンシも良好です。
選び方としては、DigitalOcean はドキュメントの質が圧倒的に高く、SSH 設定から Kubernetes まで網羅したチュートリアルが充実しています。
「困ったときに検索すれば DigitalOcean のチュートリアルが出てくる」レベルで、初学者の学習リソースとして優れています。
Vultr はリージョン数が多く(世界 30 以上)、特殊な地理的要件があるときに便利。
GPU インスタンスも提供しているので、後で機械学習に手を出すときに同じ事業者で完結できます。
Linode(現 Akamai 傘下)は伝統的に「シンプルで真面目」な VPS で、価格・スペックともに堅実。
Rust 学習者へのおすすめ度: ★★★☆☆。
価格面では Hetzner に劣りますが、東京リージョンの低レイテンシと豊富なドキュメントに価値を感じるならアリです。
7. WebARENA Indigo — 国内最安クラス
NTTPC コミュニケーションズが運営する VPS で、最小プランが月額 約 350〜450 円 という国内最安水準。
CPU・メモリは控えめですが、「とにかく安く国内 VPS を持ちたい」要求には応えてくれます。
学習用のサンドボックスや、軽量な常時稼働ボットの置き場としては十分です。
Rust 学習者へのおすすめ度: ★★★☆☆。
価格重視で国内なら検討価値あり。
用途別おすすめ早見表
ここまでの内容を、典型的な学習シナリオごとに整理しておきます。
「初めての一台、とにかく安心して始めたい」 → さくらの VPS の 1GB プラン。
日本語サポート、お試し期間、信頼性で総合点が高い。
「コスパを最大化したい、英語のドキュメントは読める」 → Hetzner Cloud の CAX11(ARM64、4GB、月 600 円)。一択。
「リソースを贅沢に使いたい、無料が良い」 → Oracle Cloud Always Free の Ampere A1。
在庫が取れれば最強。
「Web 開発の学習で、自分のサイトを公開したい」 → ConoHa VPS または Xserver VPS の 1〜2GB プラン。
国内レイテンシと UI の良さ。
「分散システムやプライバシー系の実験(Veilid、tlock リレー)をしたい」 → Hetzner の海外リージョン、または Oracle Cloud の海外リージョン。
地理的多様性に価値がある。
VPS を借りたら最初にやる 5 つのこと
サーバを契約したら、すぐに最低限のセキュリティ設定をしておきます。
これを怠ると、起動から数時間で世界中のボットによる SSH 総当たり攻撃の標的になります。
実際、ログを見ると 1 日で数千回〜数万回のログイン試行が記録されるのが普通です。
(1) SSH 鍵認証を有効化し、パスワード認証を無効化する
ローカルマシンで ssh-keygen -t ed25519 で鍵ペアを作り、公開鍵をサーバに登録します。
Copy# ローカルから
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@<サーバIP>
# サーバ側で /etc/ssh/sshd_config を編集
PasswordAuthentication no
PermitRootLogin prohibit-password # または no(作業ユーザを別途作って)
sudo systemctl restart ssh
(2) 作業用ユーザを作り、root の直接ログインを避ける
Copyadduser dev
usermod -aG sudo dev
# dev ユーザに公開鍵を仕込んでから、root ログインを禁止
(3) ファイアウォール(UFW)で不要なポートを閉じる
Ubuntu / Debian なら UFW(Uncomplicated Firewall)が標準的です。
Copysudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable
(4) fail2ban で総当たり攻撃を自動 ban
Copysudo apt install fail2ban
sudo systemctl enable --now fail2ban
デフォルト設定で SSH の失敗試行を監視し、悪意ある IP を自動的に iptables で遮断してくれます。
(5) 自動セキュリティアップデートを有効化
Copysudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
これで OS のセキュリティパッチが自動で当たり続けます。年に数回ログインするだけで安全な状態を保てます。
Rust 開発環境を VPS にセットアップする
最低限のセキュリティが整ったら、Rust の環境を入れます。
Copy# rustup でインストール
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
# ビルドに必要なシステム依存
sudo apt update
sudo apt install -y build-essential pkg-config libssl-dev git
ここで一つ重要なテクニック。「VPS 上で直接 cargo build するか、ローカルでクロスコンパイルしてバイナリを scp するか」 は使い分けるべきです。
メモリ 1GB の VPS で axum を使った API をビルドしようとすると、リンク段階で OOM killer に殺されることがあります。
この場合、ローカル(または Hetzner CAX11 のような潤沢メモリ環境)でビルドして、できたバイナリだけを scp で本番 VPS に送る方が現実的です。
ARM64 VPS 向けにビルドする場合は、cross クレートが便利です。
Copycargo install cross
cross build --release --target aarch64-unknown-linux-gnu
scp target/aarch64-unknown-linux-gnu/release/myapp dev@server:~/
または、Docker でビルド環境を統一しておく方法もよく使われます。
systemd でサービス化する
ビルドしたバイナリを常時稼働させるなら、systemd のユニットファイルを書くのが現代の標準です。
Copy# /etc/systemd/system/myapp.service
[Unit]
Description=My Rust App
After=network.target
[Service]
Type=simple
User=dev
WorkingDirectory=/home/dev/myapp
ExecStart=/home/dev/myapp/myapp
Restart=on-failure
RestartSec=5s
Environment="RUST_LOG=info"
[Install]
WantedBy=multi-user.target
Copysudo systemctl daemon-reload
sudo systemctl enable --now myapp
sudo journalctl -u myapp -f # ログを追跡
これで OS 再起動後も自動で立ち上がり、クラッシュしても自動で再起動し、ログは journalctl で見られる、という安定した運用ができます。
一歩進んだ活用: コンテナと TLS
慣れてきたら、次のステップとして以下に踏み込むと学びが広がります。
Docker / Podman を入れて、コンテナ単位でアプリを動かす。docker compose で複数サービスの組み合わせを管理できるようになると、運用が一気に楽になります。
Caddy を入れて TLS を自動化する。Caddy は Let’s Encrypt から証明書を自動取得・更新してくれる Web サーバで、設定が極めてシンプル。
Copy# /etc/caddy/Caddyfile
api.example.com {
reverse_proxy localhost:3000
}
これだけで HTTPS で公開できます。Nginx + certbot より圧倒的に楽です。
Tailscale を入れて、自分のローカルマシンと VPS をプライベートな VPN で繋ぐ。SSH を完全に internet からは閉じて、Tailscale 経由でしか入れなくする、というセキュリティ強化もできます。
まとめ
Rust の学習は、VPS を 1 台持つことで「コードを書く」段階から「動かして運用する」段階へと一気に視野が広がります。
月額数百円〜1000 円程度の出費で、24 時間稼働する自分専用の Linux 環境が手に入り、Web サービス公開・分散ノード稼働・常時稼働ボット・自動化スクリプトの実行基盤として使い倒せます。
最初の一台を選ぶなら、コスパ重視なら Hetzner Cloud の CAX11、安心重視ならさくらの VPS、贅沢な無料リソースを求めるなら Oracle Cloud Always Free という選び方がおすすめです。
どれを選ぶにせよ、契約後すぐに SSH 鍵認証・UFW・fail2ban・自動アップデートの 4 点セットを忘れずに。
VPS を使いこなせるようになると、tlock のリレー、Veilid ノード、自作 API のホスティング、CI ランナーといった、これまで「サービスに頼るしかない」と思っていた領域を全部自分の手の中に取り戻せます。
Rust 学習者にとって、最初の一台を持つ瞬間は、エンジニアとしてのレベルが一段上がるタイミングです。
ぜひ気軽に始めてみては。
ではでは。
参考リンク:
- Hetzner Cloud: https://www.hetzner.com/cloud
- Oracle Cloud Free Tier: https://www.oracle.com/cloud/free/
- さくらの VPS: https://vps.sakura.ad.jp/
- ConoHa VPS: https://www.conoha.jp/vps/
- Xserver VPS: https://vps.xserver.ne.jp/
- DigitalOcean Community(チュートリアル): https://www.digitalocean.com/community
- UFW + fail2ban チュートリアル: https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-fail2ban-on-ubuntu-20-04