AWS Spot Instance Masih Dicharge 1 Jam? Ini Mitos Lama yang Masih Dipercaya Banyak Orang
Artikel ini meng-address concern terkait dengan pembahasan mengenai artikel ini, mengenai menggunakan spot instance sebagai Github Runner.
Selama bertahun-tahun, ada satu keyakinan yang terus hidup di kalangan engineer:
“Kalau EC2 Spot Instance jalan 17 menit, tetap dicharge 1 jam.”.
Keyakinan ini pernah benar, tapi sudah lama tidak relevan. Sayangnya, mitos ini masih sering muncul — bahkan di diskusi teknis, review arsitektur, dan proposal cost optimization.
Artikel ini akan membedah:
- Dari mana mitos ini berasal
- Bagaimana mekanisme billing Spot Instance yang sebenarnya
- Kapan per jam masih berlaku
- Kenapa kesalahpahaman ini berbahaya secara arsitektur & cost
Asal-usul Mitos: Dulu Memang Per Jam
Sebelum tahun 2017, AWS EC2 menggunakan hourly billing:
- Jalan 1 menit → bayar 1 jam
- Jalan 17 menit → bayar 1 jam
- Jalan 59 menit → bayar 1 jam
Aturan ini berlaku untuk:
- On-Demand
- Reserved
- Spot Instance
Jadi, secara historis:
❗ Mitos ini dulunya fakta
Masalahnya: AWS sudah mengubah model billing-nya, tapi banyak engineer tidak pernah meng-update asumsi ini.
Perubahan Besar AWS: Billing Per Detik (Sejak 2017)
Sejak 2017, AWS memperkenalkan per-second billing untuk EC2 Linux.
Aturan billing saat ini
⏱️ Dihitung per detik
⛔ Minimum 60 detik
📏 Setelah 60 detik → dihitung real usage
✅ Berlaku untuk:
- On-Demand Linux
- Spot Instance Linux
Contoh nyata
| Lama Hidup Instance | Biaya |
|---|---|
| 45 detik | 60 detik (minimum) |
| 1 menit 5 detik | 65 detik |
| 17 menit | 17 menit |
| 59 menit | 59 menit |
👉 Tidak ada pembulatan ke 1 jam.
Spot Instance = Pay As You Go (Tanpa Komitmen)
Spot Instance tetap menggunakan model pay as you go, sama seperti On-Demand:
- Tidak ada kontrak
- Tidak ada minimum jam
- Tidak ada penalti terminate
- Tidak ada rounding ke 1 jam
Perbedaannya hanya satu:
Spot bisa di-terminate AWS kapan saja
Bukan soal billing, tapi soal availability.
Kenapa Masih Banyak yang Percaya Dicharge 1 Jam?
Ada beberapa penyebab umum kesalahpahaman ini.
Ingatan Lama yang Tidak Di-update
Engineer yang:
- Pernah pakai AWS sebelum 2017
- Tidak pernah re-check billing detail
- Mengandalkan “pengalaman dulu”
Ini sangat umum, bahkan di level senior.
Salah Menyalahkan Resource Lain
Sering kali EC2 hidup 17 menit, tapi tagihan menunjukkan angka “per jam”.
Padahal yang dicharge per jam adalah:
- NAT Gateway
- Application Load Balancer
- Elastic IP yang idle
EC2-nya sendiri sudah per detik, tapi komponen lain masih hourly-based.
Windows Instance (Edge Case)
Untuk Windows EC2:
- Billing masih per jam
- Berlaku juga untuk Spot
Tapi:
- Mayoritas workload modern (CI/CD, batch, worker) pakai Linux
- Jadi kasus ini sering tidak relevan, tapi ikut menyeret mitosnya
Bagaimana Spot Instance Dicharge Saat Di-Terminate?
Ini juga sering disalahpahami.
Kondisi terminate oleh AWS
- Spot interruption
- Instance dimatikan sepihak oleh AWS
Billing-nya
- ✅ Dihitung sampai detik terakhir instance hidup
- ❌ Tidak dibulatkan ke jam
- ❌ Tidak ada termination fee
Contoh:
- Instance hidup 20 menit
- AWS terminate
- Bayar 20 menit saja
Cara Membuktikan Secara Objektif
Kalau ingin proof tanpa debat opini:
Buka AWS Cost Explorer
Filter:
- Service: EC2
- Usage type:
SpotUsage
Lihat detail usage:
- Akan terlihat menit / detik, bukan jam bulat
Ini bukti yang tidak bisa dibantah.
Dampak Mitos Ini ke Arsitektur
Kesalahpahaman ini berbahaya, karena:
❌ Dampak Negatif
- CI/CD tidak pakai Spot → padahal cocok
- Batch job jalan di On-Demand → mahal
- Over-estimate cost → proposal ditolak
- Takut auto-scale instance pendek
✅ Padahal kenyataannya
Spot Instance ideal untuk:
- CI/CD runner
- Terraform execution
- SonarQube scanner
- Java / Gradle / Maven build
- Data processing
- Queue worker
Karena:
- Hidup sebentar
- Bisa retry
- Tidak butuh state
Kesimpulan
“Spot Instance dicharge 1 jam walau cuma jalan 17 menit” adalah mitos lama.
Fakta saat ini:
- ✅ EC2 Linux Spot → per detik
- ✅ Minimum 60 detik
- ❌ Tidak ada rounding ke 1 jam
- ❌ Tidak ada penalti terminate
- ⚠️ Kecuali Windows & resource tertentu
Penutup
Jika hari ini masih menolak Spot Instance dengan alasan:
“Nanti tetap dicharge 1 jam”
Maka yang terjadi bukan cost saving, tapi:
❌ missed opportunity karena asumsi yang sudah usang