VPSでOllamaを使ってローカルLLMを動かす手順【2025年版】

クラウド型のLLMサービスを使わずに、自前のVPSでLLMを動かしたい——そういうニーズが最近急に増えてきた。プライバシー面の懸念を避けたい、APIコストを削りたい、レスポンスを制御したい、理由はさまざまだが、Ollamaを使えばわりと手軽にローカルLLMを動かせる。この記事ではさくらのVPS(メモリ8GB以上推奨)を使った実際の手順をまとめる。

前提環境

  • OS: Debian 12(Bookworm)またはUbuntu 22.04 LTS
  • メモリ: 8GB以上(Llama 3 8Bを動かすなら最低8GB。余裕を見て16GB推奨)
  • ディスク: 20GB以上の空き(モデルファイルが大きい)
  • GPU: 今回はCPU推論で動かす前提。GPUがあればCUDA対応で高速化できる

Ollamaのインストール

公式の install スクリプトを使うのが一番早い。

curl -fsSL https://ollama.com/install.sh | sh

インストールが完了すると、ollama コマンドが使えるようになり、サービスとして起動される。

systemctl status ollama

Active: active (running) になっていればOK。

モデルを取得して動かす

Ollamaはモデルのダウンロード〜起動を ollama pullollama run で完結できる。

# Llama 3 8B(約4.7GB)
ollama pull llama3

# Google Gemma 2 2B(軽量、約1.6GB)
ollama pull gemma2:2b

# 対話モードで動かす
ollama run llama3

初回は数分かかるがダウンロードが終われば即起動する。

REST API経由で叩く

Ollamaはデフォルトで http://localhost:11434 にAPIサーバーを立てる。curlで簡単に確認できる。

curl http://localhost:11434/api/generate 
  -d '{"model":"llama3","prompt":"Linuxのinodeとは何か","stream":false}'

レスポンスはJSON形式で返ってくる。responseフィールドに生成テキストが入っている。

外部からアクセスする場合の注意

デフォルトはlocalhostバインドなので外部からはアクセスできない。外部公開したい場合は環境変数 OLLAMA_HOST=0.0.0.0 を設定する。ただし認証機構がないのでnginxでリバースプロキシしてBasic認証をかけるか、VPN/SSH tunnelで絞るのが安全。

# /etc/systemd/system/ollama.service の [Service] セクションに追記
Environment="OLLAMA_HOST=0.0.0.0:11434"

systemctl daemon-reload && systemctl restart ollama

まとめ

OllamaはインストールからAPIまでの敷居が低く、さくらVPSでも普通に動く。メモリ8GBのプランでLlama 3 8BをCPU推論で動かすとレスポンスは遅め(数十秒/回)だが、バッチ処理や試作ツールには十分使える。本格的なスループットが必要ならGPU付きのインスタンスか、別途専用サーバーを検討したい。

読んで頂いて有り難うございます!