Tutorial Dahono S3 Object Storage: Solusi Penyimpanan Cloud Kompatibel S3 Murah Tanpa Egress Fee
Dalam membangun aplikasi modern, database backup, atau pipeline machine learning, penyimpanan file statis (seperti gambar profil, PDF, video, dataset, dan snapshot database) membutuhkan arsitektur Object Storage yang terpisah dari hard disk server aplikasi.
Namun, kendala terbesar dari raksasa cloud seperti Amazon Web Services (AWS S3) atau Google Cloud Storage adalah Biaya Egress (Data Transfer Out). Menyimpan 1 TB data mungkin biayanya terjangkau, tetapi begitu file tersebut diunduh berkali-kali oleh pengguna Anda, tagihan egress fee bisa melonjak hingga ratusan dollar tanpa diduga.
Dahono S3 Object Storage hadir sebagai solusi penyimpanan terdistribusi berkinerja tinggi di Datacenter Indonesia yang 100% kompatibel dengan API AWS S3 serta memberlakukan kebijakan Zero Egress Fee untuk transfer data di jaringan lokal.
1. Keunggulan Dahono S3 Object Storage
- Kompatibilitas Standar S3 Penuh: Dapat langsung digunakan dengan semua SDK, library, dan CLI S3 yang sudah ada (AWS CLI, Boto3 Python,
@aws-sdkNode.js, MinIO Client, Rclone). - Zero Egress Fee Lokal: Anda tidak perlu cemas tagihan membengkak akibat tingginya unduhan aset web atau transfer file antar server lokal.
- Infrastruktur NVMe Berkecepatan Tinggi: Throughput baca/tulis optimal untuk backup data cepat dan streaming media berlatensi rendah di seluruh ISP Indonesia.
- Billing Rupiah Tanpa Kartu Kredit: Terintegrasi dengan sistem saldo Dahono Router yang dapat di-topup instan menggunakan QRIS.
2. Tutorial 1: Backup Otomatis Database PostgreSQL VPS Menggunakan Rclone
Salah satu use-case paling krusial bagi administrator server adalah mencadangkan (backup) database harian ke lokasi off-site yang aman. Dengan rclone, proses ini bisa diotomatisasi dalam beberapa baris perintah:
Langkah 1: Pasang Rclone di Linux VPS
sudo -v ; curl https://rclone.org/install.sh | sudo bash
Langkah 2: Konfigurasi Endpoint S3 Dahono
Jalankan rclone config atau buat file konfigurasi di ~/.config/rclone/rclone.conf:
[dahono-s3]
type = s3
provider = Other
env_auth = false
access_key_id = DAHONO_ACCESS_KEY
secret_access_key = DAHONO_SECRET_KEY
endpoint = https://s3.dahono.com
acl = private
Langkah 3: Skrip Bash Backup & Upload Otomatis
#!/bin/bash
BACKUP_DIR="/tmp/db_backups"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
FILENAME="db_backup_${TIMESTAMP}.sql.gz"
mkdir -p ${BACKUP_DIR}
# Dump PostgreSQL database dan kompresi
pg_dump -U postgres mydatabase | gzip > "${BACKUP_DIR}/${FILENAME}"
# Upload ke Dahono S3 Bucket
rclone copy "${BACKUP_DIR}/${FILENAME}" dahono-s3:my-backup-bucket/daily/
# Bersihkan file lokal
rm -f "${BACKUP_DIR}/${FILENAME}"
echo "Backup ${FILENAME} berhasil diunggah ke Dahono S3!"
Pasang skrip ini di cron job (crontab -e) untuk berjalan setiap tengah malam.
3. Tutorial 2: Upload File di Aplikasi Next.js / Node.js Menggunakan AWS SDK v3
Untuk aplikasi web berbasis Node.js atau Next.js, Anda tidak perlu mengubah kode arsitektur S3 Anda. Cukup arahkan endpoint ke Dahono Router:
import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";
// Inisialisasi S3 Client Dahono
const s3 = new S3Client({
region: "auto",
endpoint: "https://s3.dahono.com",
credentials: {
accessKeyId: process.env.DAHONO_STORAGE_KEY,
secretAccessKey: process.env.DAHONO_STORAGE_SECRET,
},
forcePathStyle: true, // Pastikan forcePathStyle aktif
});
export async function uploadMedia(fileBuffer, fileName, contentType) {
const command = new PutObjectCommand({
Bucket: "user-uploads",
Key: `media/${fileName}`,
Body: fileBuffer,
ContentType: contentType,
});
try {
await s3.send(command);
return {
success: true,
url: `https://s3.dahono.com/user-uploads/media/${fileName}`
};
} catch (error) {
console.error("Gagal mengunggah file ke Dahono S3:", error);
throw error;
}
}
4. Tutorial 3: Integrasi Data Science & AI Pipeline dengan Python Boto3
Jika Anda melatih model AI di server GPU atau menjalankan pipeline pemrosesan dataset:
import boto3
from botocore.client import Config
s3 = boto3.client(
's3',
endpoint_url='https://s3.dahono.com',
aws_access_key_id='DAHONO_ACCESS_KEY',
aws_secret_access_key='DAHONO_SECRET_KEY',
config=Config(signature_version='s3v4')
)
# List bucket yang tersedia
response = s3.list_buckets()
print("Daftar Bucket Anda:")
for bucket in response['Buckets']:
print(f"- {bucket['Name']}")
# Download dataset AI untuk training
s3.download_file('ai-datasets', 'training_data.parquet', './training_data.parquet')
print("Dataset berhasil diunduh tanpa biaya egress!")
Kesimpulan
Memisahkan penyimpanan aset aplikasi ke Object Storage adalah langkah fundamental untuk menjaga skalabilitas sistem Anda. Dengan menggunakan Dahono S3 Object Storage, Anda mendapatkan keandalan protokol S3 standar dunia tanpa perlu mengkhawatirkan kejutan biaya egress bandwidth.
Kunjungi dashboard Dahono Object Storage untuk membuat bucket pertama Anda dan nikmati penyimpanan cloud berkecepatan tinggi di Indonesia!