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:
- Izinkan SSH hanya dari rentang sumber yang disetujui, bastion, atau jaringan privat.
- Izinkan TCP 80 dan 443 hanya jika server ini akan menggunakan hostname HTTPS publik.
- Jangan izinkan TCP 11434 dari internet publik.
- 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:
- Muat satu model pada kuantisasi yang dituju dan jalankan serangkaian prompt yang representatif.
- Catat VRAM, latensi, dan residensi GPU dengan
nvidia-smidanollama ps. - Tingkatkan panjang konteks atau jumlah permintaan paralel satu per satu.
- Tetapkan kebijakan overload yang eksplisit: antrekan, tolak, atau arahkan ke fallback.
- 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-smidan 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/chatjarak jauh berhasil dengan token dan gagal tanpa token. - [ ] Pengujian
/v1/chat/completionsjarak 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.



