Lewati ke konten utama

Public Network (Public IP)

Layanan Public Network memungkinkan pelanggan untuk mereservasi (Reserve) alamat IP Publik yang permanen dan mendedikasikannya ke sumber daya komputasi seperti Virtual Machine (VM), Load Balancer, atau Baremetal.

Endpoint di bawah ini digunakan untuk mengatur pemesanan IP dari Pool utama Frog Cloud, menempatkannya ke mesin aktif, hingga mengkonfigurasi Reverse DNS (rDNS PTR).


1. Reservasi Public IP

Alokasi slot alamat IP Publik ke akun pelanggan. Sistem akan mengambil 1 IP yang tersedia dari Pool datacenter yang dipilih.

Request
POST /api/network/public/reserve
Content-Type: application/json

Request Body:

{
"location_id": 1
}

Catatan Parameter:

  • location_id (Wajib): ID referensi Datacenter/Lokasi.

Respons (201 Created):

{
"message": "Public IP reserved successfully",
"data": {
"id": 12,
"uuid": "pub-550e8400-e29b-41d4-a716-446655440000",
"public_ip": "103.155.12.34",
"location_id": 1,
"created_at": "2026-05-15T14:00:00Z"
}
}

2. Melihat Daftar Public IP Tersimpan

Menampilkan seluruh IP Publik yang sudah diregistrasikan/dipesan oleh pelanggan.

Request
GET /api/network/public

Respons (200 OK):

{
"message": "Successfully retrieved reserved public IPs",
"data": [
{
"id": 12,
"uuid": "pub-550e8400-e29b-41d4-a716-446655440000",
"public_ip": "103.155.12.34",
"location_id": 1,
"resource_id": 99,
"resource_type": 1,
"rdns_record": "mail.example.com",
"is_registered": true,
"created_at": "2026-05-15T14:00:00Z"
}
]
}

Penjelasan Data:

  • resource_id: ID mesin (VM/LB) tempat IP terpasang.
  • resource_type: Tipe mesin (1=VM, 2=LB, 3=Baremetal).
  • is_registered: Apakah IP ini sudah di-route secara aktif ke mesin.

3. Cek Ketersediaan Public IP

Mengecek secara langsung (real-time) berapa sisa kuota IP Publik yang tersedia di datacenter tertentu. Berguna untuk pengecekan pra-syarat (misal jika sisa 0, cegah tombol 'Reserve').

Request
GET /api/network/public/available?location_id=1

Respons (200 OK):

{
"message": "Availability checked",
"data": {
"location_id": 1,
"count": 50,
"available_ips": [
"103.155.12.35",
"103.155.12.36",
"..."
]
}
}

4. Menugaskan (Assign) IP ke Instance

Menyematkan alamat Public IP yang sudah direservasi ke sebuah layanan (Instance).

Request
POST /api/network/public/{uuid}/assign
Content-Type: application/json

Request Body:

{
"instance_type": 1,
"instance_id": 99
}

Catatan Parameter:

  • uuid (Path): UUID dari Reserved Public IP.
  • instance_type (Wajib): 1 untuk VM, 2 untuk Load Balancer, 3 untuk Baremetal.
  • instance_id (Wajib): ID referensi dari instance terkait.

Respons (200 OK):

{
"message": "IP assigned to instance successfully"
}

[!NOTE] Integrasi Jaringan & Billing Ketika IP ditugaskan (Assign) ke sebuah Instance, sistem akan secara otomatis melakukan sinkronisasi dengan layanan FrogNetwork (BGP/DHCP) di latar belakang agar trafik internet publik dapat di-route ke server Anda. Selain itu, perhitungan tagihan pemakaian IP Publik (Pay-As-You-Go) akan mulai berjalan pada titik ini.


5. Mengatur Reverse DNS (rDNS)

Memperbarui/mendaftarkan hostname pointer untuk alamat IP Publik tersebut via PowerDNS untuk keperluan seperti verifikasi server email atau otentikasi BGP.

Request
PATCH /api/network/public/{uuid}/rdns
Content-Type: application/json

Request Body:

{
"rdns_record": "mail.perusahaan-anda.com"
}

Respons (200 OK):

{
"message": "rDNS PTR record updated successfully"
}

6. Melepas (Release) Public IP

Melepas IP Publik secara permanen dan mengembalikannya ke Pool publik agar dapat digunakan pengguna lain. Jika IP tersebut sedang menempel (assigned) di suatu Instance, ikatan tersebut akan otomatis diputus.

Request
DELETE /api/network/public/{uuid}

Respons (200 OK):

{
"message": "Public IP released successfully"
}

[!WARNING] Tindakan Destruktif & Sinkronisasi Ketika IP dilepas, koneksi internet publik ke Instance akan diputus secara otomatis dari layanan FrogNetwork. Tagihan IP Publik Anda akan dihentikan seketika. Anda tidak akan bisa mengembalikan IP yang sama jika ada pengguna lain yang memesannya dari Pool publik.