๐Ÿ’ธ Tagihan Cloud Jebol? Ini Kesalahan Mahal di S3 Storage untuk Delta Lake!



Punya data lakehouse di AWS S3? Hati-hati. Konfigurasi default S3 yang "aman" ternyata bisa jadi musuh dalam selimut buat dompet kamu. Zach King dari Databricks baru aja ngebongkar kesalahan fatal yang sering bikin biaya storage dan network membengkak tanpa kita sadari.

๐Ÿšง Masalah: Bentrok Fitur S3 vs Delta Lake

๐Ÿ’ฅ Double Versioning: S3 punya fitur Object Versioning untuk backup. Delta Lake juga punya fitur Time Travel untuk versioning. Kalau dua-duanya aktif, kamu bayar double! Saat kamu VACUUM tabel Delta untuk hapus data lama, S3 malah nyimpen data itu sebagai "noncurrent version". Akibatnya, storage penuh sampah digital yang harusnya udah dihapus tapi masih ditagih.

๐ŸงŠ Archival Trap: Memindahkan data lama ke Cold Storage (S3-IA/Glacier) terdengar hemat. Tapi kalau ada user iseng query tanpa filter tanggal, Databricks terpaksa narik data beku itu. Biaya retrieval-nya bisa bikin jantungan, bahkan query bisa gagal total kalau datanya butuh waktu thawing 12 jam.

๐ŸŒ NAT Gateway Leak: Ini pembunuh diam-diam. Kalau trafik S3 lewat NAT Gateway (bukan Gateway Endpoint), kamu kena charge ~$0.045 per GB. Buat data lake ukuran TB/PB, ini angka yang mengerikan.

๐Ÿ› ๏ธ Solusi: Best Practice Architecture

๐Ÿงน Lifecycle Policy for Noncurrent Versions: Jangan cuma matikan versioning. Buat lifecycle rule di S3 untuk menghapus objek "noncurrent" secara otomatis setelah X hari (misal: 7 hari buat jaga-jaga). Ini bisa hemat storage 30-40%!

๐Ÿ”Œ S3 Gateway Endpoint: Wajib hukumnya! Pastikan VPC kamu punya S3 Gateway Endpoint. Ini bikin trafik ke S3 gratis (bypass NAT Gateway) dan lebih aman karena nggak lewat internet publik.

๐Ÿ›‘ Disable S3 Versioning: Untuk bucket baru khusus Delta Lake, matikan S3 Versioning dari awal. Biarkan Delta Lake yang mengurus history dan audit trail lewat transaction log-nya.

โœ… Findings & Dampak Nyata

๐Ÿ’ฐ Hemat $16k/Bulan: Studi kasus First Orion (perusahaan telekomunikasi) berhasil menghemat $16.000 per bulan hanya dengan membereskan konfigurasi "sampah" noncurrent version di bucket Unity Catalog mereka.

๐Ÿ“Š S3 Lens Insight: Dari audit menggunakan S3 Lens, sering ditemukan bahwa ~40% kapasitas storage ternyata isinya cuma noncurrent version bytes yang tidak berguna.

๐Ÿ’ป How to Use (Script Audit Gratis)

Penulis menyediakan script Python (Boto3) untuk audit otomatis:

check_vpc_s3_endpoints.py: Cek VPC mana yang bocor lewat NAT Gateway.

check_s3_versioning.py: Cek bucket mana yang versioning-nya aktif tapi nggak punya cleanup policy.

(Script lengkap bisa dilihat di artikel asli atau repo terkait)

๐Ÿ’ก Key Takeaways

๐Ÿง  You Own the Data: Jangan andalkan default setting. Kamu pemilik data, kamu yang harus set aturan mainnya.

โš ๏ธ Hati-hati Cold Storage: Jangan asal pindahin data Delta Lake ke Glacier kecuali kamu pakai fitur Archival Support resmi dari Databricks (pakai TBLPROPERTIES). Salah seting bisa bikin tabel nggak bisa di-query.

๐Ÿ‘‡ Diskusi Yuk!

Siapa di sini yang pernah kaget liat tagihan AWS bagian "Data Transfer" atau "S3 Storage"? Udah cek belum kalau ternyata itu gara-gara NAT Gateway atau Versioning yang lupa dimatiin?

Share pengalaman horor tagihan cloud kalian di bawah! ๐Ÿ‘‡

Sumber:
https://www.databricks.com/blog/expensive-delta-lake-s3-storage-mistakes-and-how-fix-them

#Databricks #DeltaLake #AWS #S3Optimization #CloudCost #FinOps #DataEngineering #Lakehouse #CloudArchitecture #DevOps

Leave a Comment