VPSプロバイダー比較:AWS vs DigitalOcean vs Vultr vs Hetzner(2024年版完全ガイド)

HomeLab tutorial - IT technology blog
HomeLab tutorial - IT technology blog

クイックスタート:5分でVPSを選ぶ

深夜2時。アプリがダウンしている。今使っているホスティングは限界を超えていて、今すぐ新しいサーバーを立ち上げなければならない。迷わず選べるプロバイダーはどこか?

まさにこういう状況が、このリストに載っている各プロバイダーへの評価を形成した。ここ数年、AWS、DigitalOcean、Vultr、Hetznerで本番ワークロードを運用してきた経験から、「どんな場面で何を使うか」という明確な判断基準が身についた。

今すぐ答えが必要なら、これだけ覚えておけばいい:

  • AWS EC2 — 会社がすでにAWSを使っている、またはエンタープライズコンプライアンス(SOC2、HIPAAなど)が必要な場合
  • DigitalOcean — わかりやすいドキュメントと予測可能な料金が欲しく、クラウドの専門家でない場合
  • Vultr — 特定の地域に低コストで高速なサーバーが必要な場合
  • Hetzner — コストパフォーマンスを最優先し、ユーザーが主にヨーロッパにいる場合

どれも当てはまらない場合は、続きを読んでほしい。

詳細比較:各プロバイダーの実際のパフォーマンス

AWS EC2 — エンタープライズの定番

AWSが業界標準である理由は確かにあるが、その分、複雑さも相当なものだ。料金体系だけでも頭が痛くなる——オンデマンド、リザーブド、スポットインスタンス、セービングスプラン……実際に何にいくら払っているのか理解するまでに時間がかかる。

t3.micro(2 vCPU、1 GB RAM)はus-east-1のオンデマンドで約$0.0104/時間。24時間365日稼働させると月約$7.50になる。t3.small(2 vCPU、2 GB RAM)はその倍で月約$15だ。

# AWS CLIを使ってt3.microを起動する
aws ec2 run-instances \
  --image-id ami-0c55b159cbfafe1f0 \
  --instance-type t3.micro \
  --key-name my-keypair \
  --security-group-ids sg-0123456789abcdef0 \
  --subnet-id subnet-0123456789abcdef0

AWSが真価を発揮するのは、RDS、S3、CloudFront、Lambdaなどのエコシステムにどっぷりつかっている場合だ。3つ以上のAWSサービスを使うアーキテクチャであれば、コンピュートもAWSにまとめるのは理にかなっている。そうでなければ、エコシステムの恩恵もなくAWSのプレミアム価格を払い続けることになる。

最大の難点は初期セットアップのハードルの高さだ。EC2インスタンスをきちんと構成するには——VPC、セキュリティグループ、IAMロール、EBSボリューム——DropletやVultrのインスタンスを立ち上げるより格段に時間がかかる。初回は1時間以上を見ておいた方がいい。

DigitalOcean — 開発者にやさしい選択肢

DigitalOceanはシンプルさで評判を築き、それを今も維持している。Dropletはわかりやすい:サイズを選び、リージョンを選び、OSを選べば完了だ。

基本的なDroplet(1 vCPU / 1 GB RAM / 25 GB SSD)は月額$6一律。余計な費用は一切かからない。複数のクライアントやプロジェクトを管理している場合、この予測可能な料金体系は本当に助かる。

# doctl(DigitalOcean CLI)でDropletを作成する
doctl compute droplet create my-server \
  --region nyc3 \
  --size s-1vcpu-1gb \
  --image ubuntu-22-04-x64 \
  --ssh-keys YOUR_SSH_KEY_ID

ドキュメントは業界トップクラスの充実度だ。LAMPスタック、NginxDockerKubernetesに関するDigitalOceanのチュートリアルは詳細で定期的に更新されている。サーバー管理を学び始めた頃、彼らのコミュニティドキュメントは私の主要な参考資料だった——週に3〜4回は必ず訪れていた。

ただし、そのシンプルさには相応のコストがかかる。同じスペックであれば、HetznerやVultrの方が明らかに安い。

Vultr — 地理的カバレッジのスペシャリスト

Vultrは世界32拠点のデータセンターを運営しており、AWSやDigitalOceanがカバーしていない都市——ヨハネスブルグ、ソウル、サンパウロ、大阪——も含まれる。ユーザーが世界中に分散している場合、この広大なカバレッジは大きな意味を持つ。

Cloud Computeインスタンスは月$2.50から(1 vCPU / 512 MB RAM)。月$5で1 vCPU / 1 GB RAMが手に入る。パフォーマンスも申し分ない——全フリートでNVMe SSDを採用しており、同価格帯の競合と比較したネットワークベンチマークも安定して良好だ。

# VultrのAPIでインスタンスを作成する
curl "https://api.vultr.com/v2/instances" \
  -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
    "region": "nrt",
    "plan": "vc2-1c-1gb",
    "os_id": 1743,
    "label": "my-server"
  }'

VultrはベアメタルやGPUインスタンス、ブロックストレージも提供している。APIも整理されていてドキュメントも充実しているため、自動化も簡単だ。

Hetzner — コストパフォーマンスの王者

Hetznerはドイツのプロバイダーで、ヨーロッパ市場で着実にシェアを拡大してきた——それには十分な理由がある。料金設定が非常に攻撃的なのだ。CX22インスタンス(2 vCPU、4 GB RAM、40 GB SSD)がなんと月額約€3.79(約$4.10)。AWSでこの価格は到底無理だ。

# hcloud CLIでHetznerサーバーを作成する
hcloud server create \
  --name my-server \
  --type cx22 \
  --image ubuntu-22.04 \
  --ssh-key my-ssh-key \
  --location nbg1

Hetznerは特に個人プロジェクト、ステージング環境、またはユーザーが主にヨーロッパにいるワークロードにとって、ツールボックスに欠かせない存在だ。このユーロあたりのコストパフォーマンスは他のどこにも負けない。

問題は地理的制約だ。Hetznerのデータセンター拠点数は圧倒的に少ない(ドイツ、フィンランド、アメリカ、シンガポールのみ)。アジアや南米へのレイテンシが重要なユーザーがいる場合は力不足になる。緊急時のサポート対応時間もAWSやDigitalOceanより遅く——数分ではなく数時間単位で待つことになる。

応用編:コミットする前にベンチマークを取る

カタログスペックを信用してはいけない。本番環境にプロバイダーを採用する前に、自分でベンチマークを取ること。新しいVPSをテストするための簡単なスクリプトを紹介しよう:

#!/bin/bash
# VPS簡易ベンチマーク — CPU、ディスクI/O、ネットワーク

echo "=== CPUベンチマーク ==="
sysbench cpu --cpu-max-prime=20000 run | grep "total time"

echo "=== ディスクI/Oベンチマーク ==="
dd if=/dev/zero of=/tmp/test.img bs=1M count=1024 conv=fdatasync 2>&1 | tail -1
rm /tmp/test.img

echo "=== ネットワーク速度 ==="
curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3 -

echo "=== メモリ情報 ==="
free -h

より詳細なテストには、ホームラボコミュニティで広く使われているnench.shスクリプト(ネットワーク強化版ベンチ)が便利だ:

curl -s wget.racing/nench.sh | bash

新しいインスタンスをプロビジョニングしたら即座に実行すること。ディスクI/Oが最初のボトルネックになることが多い——ピーク時に共有ストレージをスロットリングするプロバイダーもあり、この方法ですぐに検出できる。

マルチプロバイダー構成にはTerraformを使う

複数のプロバイダーを扱うようになると、手動でのサーバー管理はすぐにカオスになる。Terraformはマルチプロバイダーの構成をすっきりまとめてくれる:

# main.tf — HetznerとVultrに同時プロビジョニング
terraform {
  required_providers {
    hcloud = {
      source  = "hetznercloud/hcloud"
      version = "~> 1.42"
    }
    vultr = {
      source  = "vultr/vultr"
      version = "~> 2.15"
    }
  }
}

resource "hcloud_server" "web_eu" {
  name        = "web-eu"
  server_type = "cx22"
  image       = "ubuntu-22.04"
  location    = "nbg1"
}

resource "vultr_instance" "web_asia" {
  region   = "nrt"  # 東京
  plan     = "vc2-1c-1gb"
  os_id    = 1743   # Ubuntu 22.04
  label    = "web-asia"
}

実運用で得た実践的なTips

Tip 1:初日にバックアップを必ず有効化する

どのプロバイダーも自動バックアップを提供している。しかしデフォルトでは有効になっていない。サーバーを作成したその日に設定すること——3日かけてすべての構成を終えた後ではなく。DigitalOceanは週次バックアップにDroplet料金の20%を請求する。HetznerのCX22スナップショットは月額€0.49だ。安い保険だと思えばいい。

Tip 2:AWSのエグレスコストに注意する

AWSはアウトバウンドのデータ転送に課金する。HetznerとDigitalOceanは月額プランに1〜3TBのアウトバウンドトラフィックを含んでいる。CDNを挟まずにAWSで高トラフィックサイトを運用すると、月末に予想外の高額請求が来ることがある。パブリックトラフィックを配信するEC2インスタンスの前には、必ずCloudFrontや別のCDNを置くこと。

Tip 3:ユーザーのいる地域に合わせてプロバイダーを選ぶ

# サーバーから各リージョンへのレイテンシをテストする
for host in 8.8.8.8 1.1.1.1 yahoo.co.jp naver.com; do
  echo -n "$host: "
  ping -c 3 $host | tail -1 | awk '{print $4}'
done

異なるリージョンにある各プロバイダーのトライアルインスタンスからこれを実行してみよう。平均レイテンシが20ms違うだけでも、大規模になれば体感できる差になる——そこにデータベースのラウンドトリップが加わると、影響はさらに大きくなる。

Tip 4:ステージングにはHetzner、本番は要件に合わせて

うまく機能しているパターンとして:ステージング環境や開発環境はHetznerで運用し(コンプライアンス機能よりコストを優先できる場面)、本番はビジネス要件に合ったプロバイダーを使う。これにより、本番の信頼性を一切損なわずに、非本番環境のインフラコストを60〜70%削減できる。

意思決定マトリクス

シナリオ 最適な選択
エンタープライズ・AWSエコシステム利用 AWS EC2
初めてのVPS・サーバー管理学習中 DigitalOcean
アジア・アフリカ・中南米のユーザー向け Vultr
ヨーロッパ向け・予算重視 Hetzner
ホームラボ・個人プロジェクト Hetzner
CDN利用の高トラフィックアプリ どれでも可(エグレスコストを要確認)

唯一の正解などない。最適なVPSプロバイダーはユーザーの所在地、予算、そしてどこまで運用の複雑さを引き受けられるかによって変わる。長期デプロイを決める前に、有力候補の上位2社で$5〜$10のトライアルインスタンスを使って検証してみよう。

Share: