Object Storage S3
RustFS sebagai solusi penyimpanan objek berkinerja tinggi yang sepenuhnya kompatibel dengan Amazon S3 API. RustFS tidak hanya ringan dan mudah dikelola, tetapi juga menyediakan antarmuka web untuk administrasi dan pemantauan.
1. Persiapan Sistem dan Instalasi RustFS
Sebelum memulai instalasi, pastikan sistem Ubuntu telah diperbarui dan paket-paket pendukung seperti unzip, curl, dan openssl tersedia. RustFS menyediakan skrip instalasi resmi yang akan mengunduh biner terbaru, menyiapkan direktori penyimpanan data, dan secara otomatis mendaftarkan layanan ke dalam systemd.
Jalankan perintah berikut untuk menginstal dependensi dan menjalankan skrip instalasi:
sudo apt update
sudo apt install -y unzip curl openssl
# Unduh skrip instalasi resmi RustFS
curl -fLo /tmp/install_rustfs.sh https://rustfs.com/install_rustfs.sh
# Jalankan skrip dengan hak akses root
sudo bash /tmp/install_rustfs.sh
Proses instalasi biasanya berlangsung singkat. Setelah selesai, layanan RustFS akan secara otomatis berjalan di latar belakang. Namun, untuk memastikan bahwa layanan aktif dan akan menyala otomatis saat server dinyalakan kembali, kita perlu mengaktifkannya melalui systemd:
sudo systemctl enable --now rustfs
sudo systemctl status rustfs --no-pager
Jika muncul indikasi bahwa layanan tidak berjalan seperti yang diharapkan, periksa log untuk mencari tahu penyebabnya:
sudo journalctl -u rustfs -n 50 --no-pager
2. Konfigurasi Kredensial yang Aman
Salah satu langkah paling kritis adalah mengganti kredensial default yang disertakan oleh skrip instalasi. Secara bawaan, berkas konfigurasi berada di /etc/default/rustfs dan berisi kunci akses serta kunci rahasia yang sangat lemah dan telah diketahui publik. Karena itu, kita harus segera membuat pasangan kredensial baru yang kuat.
Membuat Access Key dan Secret Key dengan OpenSSL
Gunakan perintah berikut untuk menghasilkan kunci acak. Access Key sebaiknya terdiri dari 20 karakter heksadesimal huruf kapital agar kompatibel dengan standar AWS Signature Version 4. Sementara Secret Key sebaiknya lebih panjang dan kompleks, namun kita akan menghilangkan karakter seperti /, +, dan = untuk menghindari masalah parsing pada klien S3.
# Membuat Access Key (20 karakter heksadesimal huruf kapital)
ACCESS_KEY=$(openssl rand -hex 10 | tr 'a-f' 'A-F')
echo "Access Key: $ACCESS_KEY"
# Membuat Secret Key (40 karakter acak tanpa karakter khusus yang bermasalah)
SECRET_KEY=$(openssl rand -base64 32 | tr -d '/+=' | head -c 40)
echo "Secret Key: $SECRET_KEY"
Catat kedua nilai ini di tempat yang aman, misalnya di pengelola kata sandi. Kehilangan Secret Key berarti Anda tidak dapat mengakses data yang sudah tersimpan, kecuali Anda mengatur ulang kredensial dan membuat bucket baru.
Mengedit Berkas Konfigurasi
Buka berkas konfigurasi utama dengan editor teks:
sudo nano /etc/default/rustfs
Temukan baris yang mendefinisikan RUSTFS_ACCESS_KEY dan RUSTFS_SECRET_KEY, lalu ubah nilainya sesuai dengan kunci yang baru saja Anda buat:
RUSTFS_ACCESS_KEY=ABCDEF1234567890ABCD
RUSTFS_SECRET_KEY=YourSecretKeyHere
Simpan perubahan, lalu muat ulang konfigurasi systemd dan restart layanan RustFS agar perubahan berlaku:
sudo systemctl daemon-reload
sudo systemctl restart rustfs
sudo systemctl status rustfs --no-pager
Secara default, RustFS akan mendengarkan permintaan pada dua port:
- Port 9000 – untuk API S3 (tempat klien seperti Restic/Backrest terhubung)
- Port 9001 – untuk Konsol Web manajemen
Pastikan kedua port tersebut terbuka dan mendengarkan:
ss -tulpn | grep -E '9000|9001'
Jika server dilindungi oleh firewall UFW, izinkan akses masuk ke kedua port tersebut:
sudo ufw allow 9000/tcp
sudo ufw allow 9001/tcp
sudo ufw reload
Catatan Keamanan:
Port 9001 (Konsol Web) sebaiknya hanya dapat diakses dari jaringan internal atau melalui VPN. Jika terpaksa diekspos ke internet, aktifkan mekanisme autentikasi tambahan atau batasi akses berdasarkan alamat IP.
3. Inisialisasi Dasbor Web dan Pembuatan Bucket
Setelah layanan berjalan, buka peramban dan akses Konsol Web RustFS melalui alamat:
http://<ip-server>:9001
Anda akan diminta untuk masuk menggunakan kredensial yang telah dikonfigurasi:
- Access Key: nilai
RUSTFS_ACCESS_KEY - Secret Key: nilai
RUSTFS_SECRET_KEY
Setelah berhasil masuk, tampilan utama Konsol akan menampilkan ringkasan sistem dan daftar bucket (jika ada). Untuk mulai menyimpan data, kita perlu membuat sebuah bucket—yaitu kontainer logis yang akan menampung objek-objek cadangan.
- Pada halaman utama, klik tombol Create Bucket.
- Masukkan nama bucket yang unik dan deskriptif, misalnya
rustfs-backup-storage. Nama bucket bersifat permanen dan tidak dapat diubah setelah dibuat, jadi pilihlah dengan bijak. - Konfirmasi pembuatan bucket, lalu buka bucket tersebut untuk memastikan bahwa ruang penyimpanan siap digunakan.
Anda juga dapat mengunggah file uji coba secara langsung melalui antarmuka web untuk memverifikasi bahwa bucket berfungsi dengan baik—cukup masuk ke bucket yang baru dibuat dan gunakan tombol upload.