Biaya, penagihan, dan operasional26 Oktober 2026Flatkey Team

Ollama Cloud GPU: Jalankan Server API Jarak Jauh yang Aman

Panduan menggunakan Docker dan proxy HTTPS yang aman untuk menjalankan Ollama di GPU cloud serta menyediakan endpoint jarak jauh /api atau /v1 yang kompatibel dengan OpenAI.

Ollama Cloud GPU: Jalankan Server API Jarak Jauh yang Aman

Ollama Cloud GPU: Jalankan Server API Jarak Jauh yang Aman

Menjalankan server Ollama cloud GPU memberi Anda kontrol langsung atas model, kuantisasi, runtime, dan jalur data. Namun, hal ini juga memberi Anda tanggung jawab operasional yang tersembunyi pada instalasi laptop: API Ollama lokal bukanlah batas autentikasi yang menghadap publik. Penyiapan jarak jauh yang aman menjaga Ollama pada port loopback privat dan menempatkan TLS serta autentikasi pemanggil pada proxy edge.

Panduan ini menunjukkan deployment NVIDIA/Docker yang praktis untuk server Ollama cloud GPU, edge HTTPS Caddy yang menerima bearer token bergaya OpenAI, serta konfigurasi klien jarak jauh. Panduan ini ditujukan bagi pengembang independen dan tim AI kecil yang ingin menjalankan model dengan bobot terbuka pada kapasitas GPU sewaan tanpa memublikasikan port 11434 ke internet.

Versi singkatnya: jalankan Ollama dengan port host-nya terikat ke 127.0.0.1, blokir akses publik ke port 11434 di firewall cloud, dan ekspos hanya proxy terbalik HTTPS pada port 80/443. Buat proxy tersebut memvalidasi token sebelum meneruskan lalu lintas ke Ollama.

Ollama mendokumentasikan 127.0.0.1:11434 sebagai bind default-nya dan menyatakan bahwa permintaan API server lokal tidak memerlukan otorisasi. Ini nyaman untuk pengembangan lokal, tetapi berarti endpoint biasa yang dapat dijangkau dari jarak jauh bukanlah batas keamanan yang tepat. FAQ Ollama dan pengantar API layak tetap dibuka saat Anda melakukan deployment.

Yang dilindungi oleh arsitektur Ollama cloud GPU ini

Arsitektur ini memiliki empat batas, masing-masing dengan tugas yang berbeda:

Klien jarak jauh / OpenAI SDK
        |
        | HTTPS + Bearer token
        v
Proxy edge publik (Caddy, hanya port 80/443)
        |
        | HTTP localhost
        v
API Ollama (127.0.0.1:11434)
        |
        v
Runtime GPU dan volume model

Proxy edge adalah satu-satunya komponen yang menerima lalu lintas internet. Ollama tetap dapat dijangkau hanya dari host yang sama. Ini mencegah kesalahan firewall cloud, pemetaan Docker yang tidak sengaja terbuka, atau pemanggil tanpa autentikasi menjadi akses langsung ke server model Anda.

Lapisan Peran yang diperlukan Jangan lakukan ini
Firewall cloud / security group Izinkan hanya port yang memang ingin Anda ekspos; batasi SSH ke IP atau jaringan privat Anda. Buka TCP 11434 ke 0.0.0.0/0.
Pemetaan port Docker Ikat Ollama ke loopback dengan 127.0.0.1:11434:11434. Gunakan pemetaan host publik kecuali batas jaringan privat sudah melindunginya.
Proxy HTTPS Akhiri TLS, validasi token pemanggil, dan teruskan ke loopback. Anggap endpoint lokal Ollama mengautentikasi pemanggil jarak jauh.
Klien Kirim token ke proxy dan gunakan tag model tertentu. Asumsikan setiap endpoint atau parameter OpenAI berfungsi tanpa pengujian.

Untuk sistem produksi dengan banyak pengguna, gunakan jaringan overlay privat atau proxy yang sadar identitas dengan identitas individu dan pencabutan akses. Contoh bearer token tunggal di bawah ini merupakan titik awal praktis untuk server-ke-server, bukan pengganti SSO, jejak audit per pengguna, batas laju, atau penegakan kebijakan.

Sebelum menyewa GPU: tentukan kapasitas beban kerja, bukan ukuran unduhan

Ollama cloud GPU adalah pilihan yang masuk akal ketika Anda memerlukan kontrol atas file model, kuantisasi tertentu, runtime privat, atau penggunaan berkelanjutan dari satu keluarga model. Ini tidak selalu merupakan pilihan berbiaya lebih rendah untuk lalu lintas yang melonjak-lonjak atau produk yang sering mengganti model.

Mulailah dengan tag model, kuantisasi, jendela konteks, dan jumlah permintaan simultan yang sebenarnya. Bobot model hanyalah sebagian dari anggaran memori: konteks dan permintaan paralel mengonsumsi VRAM tambahan. Dokumentasi Ollama mencatat bahwa pemrosesan permintaan paralel meningkatkan alokasi konteks efektif, dan output ollama ps-nya menunjukkan apakah model sepenuhnya berada di GPU, sepenuhnya di CPU, atau terbagi di antara keduanya. Lihat panduan kebutuhan VRAM model Ollama 70B dan kebutuhan memori GPU LLM sebelum memutuskan jenis GPU.

Tujuan Anda Pilihan deployment pertama Yang perlu diukur sebelum melakukan penskalaan
Pengembangan atau evaluasi oleh satu pengguna Satu GPU yang dapat memuat model terkuantisasi dengan nyaman ditambah ruang cadangan konteks. Residensi GPU, latensi token pertama, VRAM puncak, dan kualitas pada prompt nyata.
API internal untuk tim kecil Satu server privat ditambah edge HTTPS dan kebijakan antrean yang ditentukan. Permintaan simultan, latensi ekor, 503, dan alur kerja rotasi token.
Endpoint produk bersama Beberapa replika atau fallback API terkelola, dengan observabilitas dan kontrol identitas. Kedalaman antrean, tingkat kesalahan, tingkat output yang diterima, dan waktu pemulihan.

Cara memilih cloud GPU murah untuk Ollama pada 2026

Kueri “best cheap gpu cloud for ollama 2026” tidak memiliki satu jawaban yang akan selalu berlaku. GPU murah per jam yang memaksa offload CPU, kehabisan ruang cadangan konteks, atau menghabiskan sebagian besar hari dalam keadaan idle tidaklah murah saat digunakan. Bandingkan kandidat menggunakan tag model dan set prompt yang sama, lalu catat:

  • waktu GPU yang ditagihkan, penyimpanan, egress, dan waktu penyiapan;
  • waktu pemuatan model dan residensi GPU dari ollama ps;
  • waktu hingga token pertama, latensi end-to-end, dan permintaan yang gagal;
  • jendela konteks dan konkurensi yang benar-benar didukung; dan
  • biaya per output yang diterima, bukan hanya biaya per jam-GPU.

Gunakan perbandingan cloud GPU Flatkey untuk menilai kesesuaian penyedia, serta panduan harga sewa GPU-nya agar tidak melewatkan komponen biaya di sekitar instans itu sendiri. Lakukan pilot singkat yang dapat diulang sebelum memesan kapasitas.

Langkah 1: siapkan host NVIDIA

Panduan ini mengasumsikan host GPU Linux yang didukung, Docker, driver NVIDIA, dan instalasi NVIDIA Container Toolkit. Konfirmasikan terlebih dahulu bahwa host dapat melihat GPU-nya:

nvidia-smi

Kemudian konfigurasikan runtime NVIDIA untuk Docker dan verifikasi bahwa container dapat melihat perangkat yang sama:

sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

# Contoh image CUDA; gunakan tag yang kompatibel dengan driver dan OS host Anda.
docker run --rm --gpus all \
  nvidia/cuda:12.6.0-base-ubuntu22.04 nvidia-smi

Dokumentasi Docker Ollama menggunakan NVIDIA Container Toolkit dan --gpus=all untuk container yang didukung NVIDIA. Jika perintah validasi ini gagal, berhenti di sini dan perbaiki lapisan driver/runtime; pemecahan masalah model hanya akan mengaburkan akar penyebabnya.

Sebelum memulai container, konfigurasikan firewall cloud atau security group Anda:

  1. Izinkan SSH hanya dari rentang sumber yang disetujui, bastion, atau jaringan privat.
  2. Izinkan TCP 80 dan 443 hanya jika server ini akan menggunakan hostname HTTPS publik.
  3. Jangan izinkan TCP 11434 dari internet publik.
  4. Jika Anda menggunakan firewall host seperti UFW, buat aturannya selaras dengan firewall cloud, alih-alih hanya mengandalkan satu lapisan.

Langkah 2: jalankan Ollama secara privat pada host GPU

Gunakan volume bernama agar file model tetap ada saat container dibuat ulang. Alamat loopback di sisi kiri -p memang disengaja: alamat ini memungkinkan Caddy pada mesin yang sama mengakses Ollama, sambil mencegah koneksi eksternal langsung ke layanan tersebut.

docker pull ollama/ollama:<verified-ollama-tag>

docker run -d \
  --name ollama \
  --restart unless-stopped \
  --gpus all \
  -v ollama:/root/.ollama \
  -p 127.0.0.1:11434:11434 \
  ollama/ollama:<verified-ollama-tag>

Ganti <verified-ollama-tag> dengan tag rilis yang telah diuji oleh tim Anda; jangan secara diam-diam mempromosikan layanan produksi dengan menarik image yang belum ditinjau saat waktu restart. Ollama juga mendukung instalasi Linux native dan layanan systemd, tetapi batas yang sama tetap berlaku: pertahankan bind loopback dan tempatkan akses jarak jauh di belakang proxy yang diautentikasi. Panduan Linux resmi mendokumentasikan alur kerja layanan dan mekanisme override variabel lingkungannya.

Tarik model uji kecil yang muat pada GPU yang Anda pilih. Contoh ini menggunakan tag saat ini dari contoh kompatibilitas OpenAI Ollama; gantikan dengan model dan kuantisasi persis yang ingin Anda sajikan.

docker exec ollama ollama pull qwen3:8b

curl -sS http://127.0.0.1:11434/api/chat \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "qwen3:8b",
    "messages": [{"role": "user", "content": "Reply with a three-word GPU health check."}],
    "stream": false
  }'

docker exec ollama ollama ps

ollama ps adalah pemeriksaan penerimaan yang berguna untuk deployment Ollama cloud GPU. Indikasi prosesor 100% GPU berarti model yang dimuat sepenuhnya berada di GPU; pembagian CPU/GPU mungkin dapat diterima untuk pengujian, tetapi merupakan sinyal untuk mengukur kompromi latensi dan memori sebelum produksi.

Langkah 3: tambahkan edge API HTTPS dengan token bearer

Ollama dapat mengekspos API-nya melalui proxy, serta menyediakan antarmuka native /api dan antarmuka /v1 yang kompatibel dengan OpenAI secara lokal. Contoh klien OpenAI lokalnya menggunakan nilai kunci API yang diabaikan oleh Ollama, sehingga proxy di bawah ini melakukan pemeriksaan otorisasi sebelum meneruskan trafik. Dokumentasi kompatibilitas OpenAI Ollama juga menjelaskan bahwa kompatibilitas tersebut merupakan subset, jadi rencanakan pengujian integrasi nyata, bukan asumsi menyeluruh.

Pola Caddy ini memungkinkan klien bergaya OpenAI menggunakan Authorization: Bearer <token>. Caddy memvalidasi header tersebut, menghapusnya sebelum permintaan mencapai layanan lokal, dan memproksikan permintaan melalui loopback.

Pertama, buat token dengan entropi tinggi dan simpan di secret manager tim Anda. Jangan memasukkannya ke source control atau riwayat shell yang tidak Anda kendalikan.

openssl rand -hex 32

Buat override systemd untuk Caddy dan tetapkan nilai yang dihasilkan sebagai OLLAMA_API_TOKEN:

# sudo systemctl edit caddy
[Service]
Environment="OLLAMA_API_TOKEN=replace-with-your-secret-manager-value"

Kemudian konfigurasikan /etc/caddy/Caddyfile dengan hostname yang DNS-nya mengarah ke server:

ollama.example.com {
    @authorized {
        header Authorization "Bearer {$OLLAMA_API_TOKEN}"
    }

    handle @authorized {
        reverse_proxy 127.0.0.1:11434 {
            # The edge checked this header; Ollama does not need the token.
            header_up -Authorization
        }
    }

    handle {
        respond "Unauthorized" 401
    }
}

Gunakan nama DNS yang sebenarnya sebagai pengganti ollama.example.com. Caddy memperlakukan alamat situs domain sebagai situs HTTPS dengan sertifikat terkelola; pastikan DNS dan port masuk yang dituju sudah siap sebelum memuat ulang. Pencocok permintaan Caddy, blok handle yang saling eksklusif, dan kontrol header reverse proxy mendokumentasikan direktif yang digunakan di atas.

Validasi dan muat ulang konfigurasi:

sudo caddy validate --config /etc/caddy/Caddyfile --adapter caddyfile
sudo systemctl daemon-reload
sudo systemctl reload caddy

Uji kedua sisi batas tersebut. Permintaan pertama harus berhasil dari host. Permintaan kedua harus berhasil melalui TLS hanya jika token benar. Permintaan ketiga tanpa token harus mengembalikan 401.

# Host-local health check
curl -sS http://127.0.0.1:11434/api/chat \
  -H 'Content-Type: application/json' \
  -d '{"model":"qwen3:8b","messages":[{"role":"user","content":"health check"}],"stream":false}'

# Remote request through the edge
curl -sS https://ollama.example.com/api/chat \
  -H "Authorization: Bearer $OLLAMA_API_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"model":"qwen3:8b","messages":[{"role":"user","content":"health check"}],"stream":false}'

# Expected: HTTP 401
curl -i https://ollama.example.com/api/chat

Jangan mengganti autentikasi dasar untuk pola klien ini tanpa mengubah desain klien. HTTP Basic dan OpenAI SDK sama-sama menggunakan header Authorization. Edge token bearer di atas mempertahankan bentuk umum OpenAI SDK dan menjaga endpoint Ollama lokal tetap privat.

Langkah 4: panggil API Ollama jarak jauh dari klien OpenAI

Ollama mendokumentasikan http://localhost:11434/v1 sebagai URL dasar lokal yang kompatibel dengan OpenAI. Dengan edge HTTPS tersedia, ubah hanya host dan gunakan token proxy sebagai kunci API klien:

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://ollama.example.com/v1/",
    api_key=os.environ["OLLAMA_API_TOKEN"],
)

response = client.chat.completions.create(
    model="qwen3:8b",
    messages=[
        {"role": "user", "content": "Give me a concise deployment checklist."}
    ],
)

print(response.choices[0].message.content)

Ini adalah API Ollama cloud GPU jarak jauh, tetapi tidak secara otomatis menjadi pengganti langsung untuk setiap fitur OpenAI. Sebelum memindahkan lalu lintas produksi, uji endpoint dan perilaku persis yang digunakan aplikasi Anda: streaming, panggilan tool, output terstruktur, embedding, input vision, penanganan error, batas konteks, dan timeout klien. Model itu sendiri juga menentukan apa yang bermakna atau didukung.

Langkah 5: sesuaikan konkurensi dan residensi model dengan sengaja

Hindari meningkatkan paralelisme hanya karena server tampak sepi selama satu pengujian curl. Ollama mendokumentasikan jendela konteks default sebesar 4096 token, pengaturan antrean permintaan, dan penanganan model paralel yang bergantung pada memori. Setiap permintaan paralel tambahan meningkatkan alokasi konteks efektif, sehingga Ollama cloud GPU yang dapat menangani satu permintaan tetap dapat gagal di bawah lalu lintas konkuren.

Gunakan urutan peluncuran terkontrol ini:

  1. Muat satu model pada kuantisasi yang dituju dan jalankan serangkaian prompt yang representatif.
  2. Catat VRAM, latensi, dan residensi GPU dengan nvidia-smi dan ollama ps.
  3. Tingkatkan panjang konteks atau jumlah permintaan paralel satu per satu.
  4. Tetapkan kebijakan overload yang eksplisit: antrekan, tolak, atau arahkan ke fallback.
  5. Ulangi setelah setiap perubahan model, driver, runtime, atau jendela konteks.

FAQ Ollama mendokumentasikan OLLAMA_CONTEXT_LENGTH, OLLAMA_NUM_PARALLEL, OLLAMA_MAX_QUEUE, dan OLLAMA_KEEP_ALIVE. FAQ tersebut juga mencatat bahwa respons 503 dapat menunjukkan antrean yang kelebihan beban. Simpan runbook untuk sinyal-sinyal tersebut alih-alih memperlakukannya sebagai kegagalan API acak.

Sinyal Kemungkinan penyebab Tindakan pertama
ollama ps melaporkan pembagian CPU/GPU Model tidak sepenuhnya muat dalam VRAM yang tersedia. Kurangi ukuran model atau konteks, pilih kuantisasi yang berbeda, atau pindah ke GPU yang lebih besar.
Permintaan jarak jauh mengembalikan 401 Edge tidak menerima token bearer yang diharapkan. Verifikasi OLLAMA_API_TOKEN, override layanan Caddy, dan api_key klien.
Proxy mengembalikan 502 Caddy tidak dapat menjangkau Ollama pada loopback atau container sedang mati. Jalankan pemeriksaan curl lokal host dan periksa docker logs ollama.
503 saat ada trafik Tekanan antrean atau memori. Kurangi konkurensi/konteks, tetapkan kebijakan antrean, atau tambahkan kapasitas/fallback.
Permintaan pertama lambat setelah idle Model telah dibongkar atau perlu pemanasan. Tentukan apakah anggaran keep_alive yang lebih lama sepadan dengan VRAM yang dicadangkan.

Untuk pola server yang di-hosting sendiri yang lebih umum, lihat cara membangun server inferensi yang kompatibel dengan OpenAI. Panduan tersebut membahas pertimbangan edge, fallback, dan uji penerimaan yang lebih luas; artikel ini tetap berfokus pada alur kerja Ollama jarak jauh yang aman.

Kapan sebaiknya tidak menjalankan server GPU cloud Ollama

Hosting sendiri bernilai ketika infrastruktur itu sendiri merupakan bagian dari persyaratan produk. Ini kurang menarik ketika tujuannya hanya memanggil model terbaik yang tersedia untuk beban kerja yang berubah-ubah. Pertimbangkan API model terkelola atau fallback hibrida ketika:

  • trafik bersifat sporadis dan GPU akan menganggur;
  • Anda memerlukan beberapa keluarga model atau sering mengganti model;
  • tim Anda tidak dapat memelihara driver, volume model, TLS, rotasi token, observabilitas, dan respons insiden; atau
  • jalur GPU memiliki biaya per output yang diterima lebih buruk setelah retry dan waktu operator diperhitungkan.

Flatkey dapat menjadi jalur pembanding atau fallback tersebut: satu kunci dan satu saldo untuk 300+ model resmi dan 1.000+ alat bayar per panggilan. Pertahankan bentuk klien yang kompatibel dengan OpenAI dan ukur rute yang di-hosting sendiri terhadap alternatif terkelola menggunakan prompt, kriteria keberhasilan, dan kebijakan timeout yang sama.

Daftar periksa produksi untuk GPU cloud Ollama

  • [ ] GPU terlihat melalui nvidia-smi dan pengujian GPU Docker.
  • [ ] Port Docker Ollama dipetakan hanya ke 127.0.0.1:11434.
  • [ ] Port 11434 tidak bersifat publik di firewall cloud maupun firewall host.
  • [ ] Proxy menyajikan HTTPS pada hostname nyata dan menolak permintaan tanpa token.
  • [ ] Token bearer disimpan di luar codebase dan memiliki proses rotasi yang terdokumentasi.
  • [ ] Permintaan /api/chat jarak jauh berhasil dengan token dan gagal tanpa token.
  • [ ] Pengujian /v1/chat/completions jarak jauh berhasil dari SDK aktual yang digunakan aplikasi Anda.
  • [ ] Tag model yang tepat, kuantisasi, jendela konteks, dan target konkurensi didokumentasikan.
  • [ ] ollama ps, telemetri GPU, log proxy, dan tingkat 5xx merupakan bagian dari runbook.
  • [ ] Anda telah menguji skenario kelebihan beban, restart, dan rotasi token.
  • [ ] Anda telah membandingkan rute Ollama cloud GPU dengan baseline API terkelola ketika fleksibilitas atau ketersediaan model penting.

Pertanyaan umum

Apakah Ollama mengautentikasi API jarak jauh dengan sendirinya?

Jangan mengandalkan API lokal untuk autentikasi jarak jauh. Contoh server lokal Ollama menghilangkan otorisasi atau menggunakan nilai kunci API yang diabaikan oleh server lokal. Jaga layanan tetap privat dan wajibkan autentikasi pada proxy TLS, batas jaringan privat, atau gateway yang sadar identitas.

Bisakah saya menggunakan SDK OpenAI dengan GPU cloud Ollama?

Ya, Ollama mendokumentasikan URL dasar /v1 lokal yang kompatibel dengan OpenAI dan contoh klien umum. Arahkan SDK ke jalur /v1/ proxy HTTPS Anda dan biarkan proxy tersebut memvalidasi token bearer. Uji endpoint yang tepat yang Anda gunakan karena kompatibilitas adalah sebuah subset, bukan jaminan tanpa syarat.

Apa cloud GPU murah terbaik untuk Ollama pada tahun 2026?

Cloud GPU murah terbaik untuk Ollama pada tahun 2026 adalah yang sesuai dengan model, konteks, dan konkurensi nyata Anda tanpa waktu idle tersembunyi atau offload CPU. Jalankan benchmark singkat yang sama pada beberapa kandidat dan bandingkan biaya per output yang diterima, bukan tarif per jam utama dari suatu penyedia.

Mengapa container Ollama saya berjalan di CPU, bukan GPU?

Mulailah dengan memeriksa host menggunakan nvidia-smi, lalu konfirmasikan bahwa Docker dapat melihat GPU setelah konfigurasi NVIDIA Container Toolkit. Terakhir, periksa ollama ps: model dapat sebagian atau sepenuhnya berjalan di CPU ketika tidak muat dalam memori GPU yang tersedia.

Haruskah saya mengekspos port 11434 secara langsung untuk menghemat satu hop proxy?

Tidak. Hop proxy lokal yang kecil adalah kompromi yang tepat untuk TLS, autentikasi pemanggil, rotasi rahasia, dan batas publik yang eksplisit. Mengekspos server model lokal tanpa pelindung mengubah jalan pintas infrastruktur menjadi risiko keamanan dan penyalahgunaan yang tidak perlu.

Rekomendasi akhir

Cara andal untuk menjalankan server Ollama cloud GPU cukup sederhana: validasi runtime GPU, ikat Ollama ke loopback, gunakan proksi HTTPS dengan pemeriksaan bearer token, dan uji panggilan native /api maupun panggilan /v1 yang kompatibel dengan OpenAI dari klien yang benar-benar akan Anda rilis.

Hal ini memberi Anda kendali atas model yang di-hosting sendiri tanpa menjadikan endpoint lokal tanpa autentikasi sebagai API publik Anda. Ukur kecocokan model, konteks, konkurensi, dan biaya output yang diterima sebelum memperluas server—serta pertahankan baseline API terkelola untuk beban kerja yang membuat pengoperasian GPU sendiri menambah kompleksitas lebih besar daripada nilainya.

Sumber