Lewati ke konten utama

Network IP Pool

Manajemen alamat IPv4 Publik sangat krusial dalam Cloud Provider. Karena keterbatasan jumlah IPv4 di dunia, Frog Cloud menggunakan sistem IP Pool. Modul ini memungkinkan Admin Jaringan (Network Engineer) untuk memecah blok IP (Subnet) yang mereka sewa dari ISP menjadi Pool yang lebih kecil, lalu mendistribusikannya ke berbagai lokasi Data Center.

Seluruh endpoint untuk manajemen IP Pool berada pada path /api/backoffice/pool.


1. Konsep IP Pool

IP Pool adalah "wadah" yang menyimpan sekumpulan alamat IPv4 yang bisa dialokasikan (assign) ke Virtual Machine pelanggan. Sebuah Pool akan terikat pada satu Lokasi (misalnya: Jakarta Data Center) dan satu VPC Subnet.

Melihat Daftar Wadah (Get IP Pools)

Digunakan untuk merender tabel manajemen IP Pool.

Request
GET /api/backoffice/pool

Membuat Wadah Baru (Create IP Pool)

Ketika perusahaan membuka Data Center baru atau menyewa blok IP tambahan.

Request
POST /api/backoffice/pool/create
Content-Type: application/json
Request Body
{
"name": "Pool JKT-02 Premium",
"location_id": 1,
"gateway": "103.45.12.1",
"netmask": "255.255.255.0",
"dns1": "8.8.8.8",
"dns2": "1.1.1.1"
}

Mengubah Konfigurasi Wadah (Update IP Pool)

Digunakan jika ada perubahan Gateway atau DNS Resolver.

Request
PUT /api/backoffice/pool/{pool_id}/update

Mendapatkan Opsi Dropdown (Get IP Pool Options)

Digunakan oleh Frontend ketika membuat form (misal: form deploy server baru) yang membutuhkan Admin memilih Pool tujuan.

Request
GET /api/backoffice/pool/options

2. Injeksi Alamat IP (Pool IPs)

Setelah "wadah" (Pool) dibuat, "wadah" tersebut masih kosong. Admin harus menekan wadah tersebut di UI untuk menyuntikkan (memasukkan) alamat IP satu per satu atau secara massal (bulk) berdasarkan blok CIDR yang dimiliki.

Melihat Detail Wadah dan Isi IP

Request
GET /api/backoffice/pool/{pool_id}/details

Melihat Daftar Alamat IP (Get Pool IPs)

Mengambil list alamat IP individual yang ada di dalam Pool tersebut, beserta statusnya (apakah sedang dipakai oleh pelanggan atau masih available).

Request
GET /api/backoffice/pool/{pool_id}/ip

Menyuntikkan IP Baru ke Dalam Wadah (Create Pool IPs)

Request
POST /api/backoffice/pool/{pool_id}/ip
Content-Type: application/json
Request Body
{
"ip_addresses": [
"103.45.12.10",
"103.45.12.11",
"103.45.12.12"
]
}

3. Menghapus IP Terlarang (Delete IP)

Terkadang sebuah alamat IP masuk ke dalam Blacklist Spam global (karena disalahgunakan oleh pelanggan sebelumnya). Admin harus membuang IP tersebut agar tidak didapatkan oleh pelanggan baru secara acak.

Request
DELETE /api/backoffice/ip/{ip_id}/delete

Perhatian: Sistem Backend (GORM) hanya memperbolehkan penghapusan IP jika statusnya sedang Available (tidak sedang disewa atau terikat dengan Virtual Machine).


Diagram Relasi Jaringan (Network ERD)