メインコンテンツへスキップ
見出し画像

RunPodの高性能GPUサーバーに自宅のollama APIクライアントを接続する方法

    概要

    自作のollama APIを使ったアプリケーションを
    自宅のPC -> GPUサーバーのrunPod上のollamaサーバーへ接続するときに詰まったので設定方法と解決方法を書いておきます。

    ↑自作のollamaを使ったAIデスクトップマスコット

    画像
    接続先をrunPodにしたい

    ニーズとしては家のPCのGPUが要求スペックに満たない時や、性能を試したいときにollamaの接続先をローカルからRunpodにするというケースはこれから出てくるかと思います。

    Runpodとは

    1時間1ドル未満で高性能GPUサーバーをレンタルできる便利なサービスです。最小デポジット10ドルからですが、デプロイからollamaセットアップ起動まで10分もかからずに高速に環境構築できます。

    Runpodセットアップ

    https://runpod.io?ref=rf92qfex

    画像

    Runpodのリファラーコードです
    これ経由でアクセスし10$課金すると、あなたも私も5ドル分のチャージがゲットできます。
    5ドルだと5時間ぐらいRTX5090(VRAM32GB)が無料で使えます。
    ※RTX5090はNVIDIAのコンシューマー向けビデオカードでは現時点で最強

    チャージ

    まず課金します
    最低10ドルからです。
    かならずautoPayは「No」にしておきましょう。

    画像

    Rupodデプロイ

    Podsで好きなGPUを選びます、今回は5090にしました

    画像

    テンプレートはPytorchのまま進めます

    画像

    ディスクはボリュームディスクにします

    画像

    デプロイしたら数分待ちます

    ちなみにたまに外れのインスタンスを引いてアラートが出る場合があります。(5回に1回ぐらいの確率)
    その場合はSTOPー>Terminateして作り直します。

    無事起動したらOK

    画像

    RupodでのOllama設定等

    Edit Podを選ぶ

    画像

    ポートの8888をollamaのポート 11434に変更


    画像

    Enviromentに下記を設定

    OLLAMA_HOST=0.0.0.0
    OLLAMA_ORIGINS=*


    画像

    Enable terminalでWEBターミナルを起動
    リンクをふむ

    画像

    環境変数が反映しているのを確認

    root@:/# env | grep OLL
    OLLAMA_ORIGINS=*
    OLLAMA_HOST=0.0.0.0

    Ollamaのインストール、起動

    コマンドに関してはrunPod公式にも書かれてあります

    ただWEBターミナルに対応していないので今回はWEBターミナルでも起動できるようにリライトします

    apt update && apt install -y lshw zstd
    curl -fsSL https://ollama.com/install.sh | sh

    ★★Ollamaのインストールがクソ遅いときがあります、その場合はGPUタイプを別のにしてインスタンスを作り直しましょう、おそらく海外<ー>海外のネットワークに問題があります。

    ※tmuxは入っているのでインストールは不要、入ってない場合は
    apt install -y tmux でインストールする。

    tmux new -s ollama
    ollama serve

    ここで出るログが

    vram-based default context" total_vram="31.8 GiB" default_num_ctx=32768

    のようになっていることに注意
    ハズレインスタンスを引くとVRAMを認識できずに
    モデルを格納する十分なVRAMがあるのにdefault_num_ctxが最小の4096になっていることがある(ollamaはVRAMにあわせてdefault_num_ctxを自動拡張する)。
    その場合、ハズレのインスタンスである。
    なにかがおかしいのでpodsを作り直しましょう。

    Ctrl + B  D でデタッチ(tmuxの操作)

    モデルのpull

    ollama pull gemma4:31b-it-qat

    ⚠️モデルのダウンロードがクソ遅いときがあります
    Podsを落としてリージョンをかえるなどして別のマシンにしましょう

    画像
    モデルのダウンロードに22分もかかる😇

    網羅的にGemma4使いたかったら以下もあるとよい

    ollama pull gemma4:26b-a4b-it-qat
    ollama pull gemma4:12b-it-qat

    ここではrunでなくpullをしていることに注意

    tmux a -t ollama

    でアタッチしてログを監視

    Gemma4のモデルの種類は以下に詳細がある(プロ向け)

    Qwen系の場合は以下

    ollama pull qwen3.8:27b
    ollama pull qwen3.5:35b


    Ollama APIクライアントから接続

    接続URLは独特で

    画像
    https://{PodID}-11434.proxy.runpod.net/

    のような形式になります。
    PodIDはこちらからコピーします

    画像

    CUIからのSSH接続について

    Webターミナルだと使いづらいのでCUIで使う方法も記載します

    SSHキーの発行と接続については以下に記載があります

    ssh-keygen -t ed25519 -C "YOUR_EMAIL@DOMAIN.COM"
    cat ~/.ssh/id_ed25519.pub

    でてきた文字列をsettingのsshのところに貼り付けます
    複数の端末を登録する場合は複数行にわけて書きます

    画像


    画像
    ここに公開鍵をはりつけ

    Podsのサイドメニューに接続のSSHコマンドがあるのでそれをコピーして自身のローカルPCのターミナルで実行します

    画像

    パスワードなしで接続ができます

    画像

    Secure CloudとCommunity Cloudの違い

    画像

    podsには以下の種類があります

    Secure Cloud

    • RunPodが直接管理するTier 3/4データセンターで運用

    • エンタープライズグレードのセキュリティと高い信頼性(稼働率・冗長性が高い)

    • 機密データや本番環境、長時間稼働のワークロード向け

    • 価格はやや高め

    Community Cloud

    • 審査を通った第三者(個人・小規模事業者)のGPUホストが提供するピアツーピア型

    • RunPodがホストを審査するが、データセンター品質はSecure Cloudより劣る場合あり

    • 価格が安い(同じGPUでも30〜50%程度安いことが多い)

    • 開発・実験・短期的なジョブ、コスト重視のワークロード向け

    選び方の目安

    • 本番運用・機密データ・SLA重視 → Secure Cloud

    • 学習・実験・コスト最優先 → Community Cloud

    まずSecure Cloudを使って、感覚がつかめてからCommunity Cloudを使うのがいいと思います。いきなりCommunity Cloud使ってハズレpodsを引くとやりたいことができなくなるので。

    HTTP405問題

    クライアントから接続すると /api/tags(モデル一覧取得)は成功するのに
    /api/chatが失敗するという珍現象が発生しました

    Ollama server側のログ

    [GIN] 2026/04/16 - 10:53:50 | 405 |       4.921_s |  | GET      "/api/chat"
    [GIN] 2026/04/16 - 10:54:29 | 200 |     479.763_s |  | GET      "/api/tags"
    [GIN] 2026/04/16 - 10:54:29 | 200 |     510.585_s |  | GET      "/api/tags"


    今回のクライアントソフト「おさわり彼女」のテストでは
    家のMac Ollama クライアント -> 家のWindows GPU
    という接続は成功していたので???🤔

    という感じだったのですがClaudeCodeに聞いたらrunPod側でメソッド変換(Post->Get)されているからコード側で対応が必要と回答がありました。

    ❯ これわかりやすくいうとどういうこと?よくrunpodでおきる問題?

    ● よくある問題です。RunPod に限らず、リバースプロキシ経由で API
    を叩くと起きやすい定番のハマりポイントです。

    何が起きていたか(簡単に)

    1. アプリが Ollama に「POST で画像付きチャット送信するよ」とリクエストを送る
    2. RunPod のプロキシが「URL ちょっと直すね」と**リダイレクト(転送)**を返す
    3. ブラウザ/fetch の仕様で、リダイレクト時に POST が GET
    に勝手に変わる(HTTP の歴史的仕様)
    4. Ollama に GET で届く → 「chat は POST じゃないとダメだよ」→ 405 エラー

    なぜローカルでは起きなかったか

    直接接続ならリダイレクトが発生しないので、POST
    がそのまま届く。プロキシを挟むと URL
    正規化(スラッシュの付け外し等)でリダイレクトが入りやすい。

    RunPod でよくある?

    はい。RunPod の proxy
    URL(xxx.proxy.runpod.net)は内部でリダイレクトを挟むことがあるので、POST 系
    API を呼ぶ人はこの問題に遭遇しやすいです。Cloudflare Tunnel や ngrok
    など他のトンネル/プロキシサービスでも同じことが起こり得ます。

    要するに 「プロキシ経由だと POST が GET に化ける」という HTTP
    の古い罠で、今回の修正でリダイレクトされても POST
    を維持するようにしたので、今後どのプロキシサービスでも大丈夫です

    コードを修正したら無事、高性能GPUを使ったお触りタッチができました😊


    画像


    遊び終わったら runPodインスタンスはちゃんとstop->削除しておきましょう。

    まとめ

    runPodでollamaサーバーを立ち上げるときの解決方法の共有でした。
    認証もないので一時的につかって落とすというやり方ではこれでいいと思いますが、立ち上げっぱなしなどのときはollamaを適宜落とすなどのアプローチはちゃんと行いましょう。

    ollama及び周辺のモデルの進化に伴い、ollamaアプリケーションを作る機会も増えてくると思いますので家に高性能GPUがない方は是非runPodを使ってみてください。


    https://runpod.io?ref=rf92qfex

    画像

    Runpodのリファラーコードです、この記事が良かったら是非このコードでトライお願いします。

    これ経由でアクセスし10$課金するとユーザーも私も5ドル分のチャージがゲットできます。
    5ドルだと5時間ぐらいRTX5090が無料で使えます。

     
     
    WEBエンジニア歴20年/秋葉原歴20年 秋葉原にあるエンジニア会社の立ち上げCTO/CEOを経て独立。"オタクとしての創作AI活用"を中心に皆さんのAI活用が便利になる情報を展開します/ローカルLLM/ Ollama/画像生成AI/ComfyUI @n428dev AKB428

    あなたへのおすすめ