Cara Mount S3 Bucket Menggunakan S3FS dengan Client Linux Ubuntu atau Almalinux
Pengantar
S3FS adalah tool berbasis FUSE (Filesystem in Userspace) yang memungkinkan Anda melakukan mount S3 bucket sebagai file system di Linux. Dengan cara ini, bucket object storage (misalnya Amazon S3, MinIO, Wasabi, atau layanan S3-compatible lainnya) dapat diakses seperti direktori lokal.
Keuntungan utama penggunaan S3FS antara lain:
-
Akses mudah: File dapat dikelola dengan perintah Linux standar (cp, mv, ls, dll).
-
Integrasi aplikasi: Aplikasi lama yang tidak mendukung API S3 tetap bisa menyimpan data langsung ke bucket.
-
Manajemen file praktis: Tidak perlu tool tambahan, cukup gunakan command line atau aplikasi yang sudah ada.
Prasyarat
Sebelum mulai, pastikan:
-
Server berbasis Ubuntu atau AlmaLinux.
-
Akses root/SSH.
-
Sudah memiliki bucket S3-compatible (Amazon S3, MinIO, Wasabi, atau lainnya).
-
Memiliki Access Key dan Secret Key.
Langkah-langkah Instalasi & Konfigurasi
- Install s3fs
Sebelum melakukan instalasi bisa melakukan update- Ubuntu/Debian :
sudo apt update sudo apt install s3fs
- CentOS / AlmaLinux :
sudo yum install epel-release sudo yum install s3fs-fuse
- Cek versi:
s3fs --version
- Ubuntu/Debian :
- Siapkan kredensial
- Buat file /etc/passwd-s3fs berisi akses key dan secret key:
sudo nano /etc/passwd-s3fs
Isi:
admin:Admin123
Ganti admin:Admin123 dengan user MinIO dan password kalian.
- Set permission agar hanya root yang bisa membaca:
sudo chmod 600 /etc/passwd-s3fs
- Buat file /etc/passwd-s3fs berisi akses key dan secret key:
- Buat mount point
sudo mkdir -p /mnt/coba
Mount point ini adalah folder lokal yang akan mewakili bucket MinIO.
- Mount bucket dengan s3fs
Gunakan perintah berikut:
Penjelasan opsi:sudo s3fs storage /mnt/coba \ -o passwd_file=/etc/passwd-s3fs \ -o url=https://domain-anda:9000 \ -o use_path_request_style \ -o allow_other \ -o uid=$(id -u) \ -o gid=$(id -g) \ -o nonempty
- storage → Ganti dengan nama bucket anda
-
/mnt/coba → Sesuaikan dengan directory mount anda
- passwd_file → file berisi kredensial
-
url → alamat MinIO server
-
use_path_request_style → style URL bucket /bucketname
-
allow_other → agar user lain bisa mengakses mount point
-
uid & gid → set owner file di Linux
- Cek mount
- jalankan perintah berikut untuk menampilkan mount s3fs:
df -h
-
Jalakan perintah berikut untuk mengecek apakah folder dalam bucket sudah muncul di disk local linux kita :
ls -la /mnt/coba
- jalankan perintah berikut untuk menampilkan mount s3fs:
- Mount otomatis saat boot
- Agar mount otomatis saat booting, edit fstab:
sudo nano /etc/fstab
-
Tambahkan baris berikut:
s3fs#storage /mnt/coba fuse _netdev,allow_other,url=https://domain-anda:9000,use_path_request_style,passwd_file=/etc/passwd-s3fs,nonempty 0 0
Penjelasan :
-
_netdev : Memberitahu sistem bahwa mount bergantung pada jaringan.
-
nonempty : Jika folder mount tidak kosong.
-
allow_other : Memberi akses user selain root.
-
url & use_path_request_style : Khusus untuk MinIO.
-
- Reload daemon systemd & mount semua dari fstab:
sudo systemctl daemon-reload sudo mount -a
-
Cek apakah sudah ter-mount:
df -h | grep /mnt/coba ls /mnt/coba
- Agar mount otomatis saat booting, edit fstab:
Kesimpulan
Dengan S3FS, Anda bisa mengakses bucket S3 seperti direktori lokal. Solusi ini sangat membantu jika aplikasi hanya mendukung file system tradisional namun tetap ingin memanfaatkan object storage.
Tips keamanan: selalu gunakan endpoint HTTPS, batasi penggunaan Access Key hanya untuk kebutuhan spesifik, dan lakukan rotasi credential secara berkala.