Ada beberapa cara untuk mengakses dan memanage bucket kita yang ada di amazon S3, yang paling banyak dipakai adalah dengan menggunakan tools atau script s3cmd maupun s3fs.
Jika memakai s3cmd, kita hanya bisa menggunakan untuk command upload, mengambil/pull dan mengelola S3 bucket, beda halnya dengan s3fs, dengan s3fs yang berbasis FUSE (Filesystem in Userspace) kita dapat dengan mudah untuk me-mount S3 bucket sebagai local file system di drive linux kita. Sehingga perintah-perintah seperti cp, mv and ls akan mudah kita jalankan didalamnya. Dan berikut adalah cara untuk menginstall s3fs pada mesin Ubuntu
- Pertama pastikan instal beberapa dependencies yang dibutuhkan, login sebagi root dan jalankan perintah berikut
- Semenjak projek s3fs dipindah dari google code ke github, kita akan gunakan git untuk menginstalnya
- Lakukan instalasi dengan mengcompilenya
- Konfigurasikan s3fs dengan membuat file dengan nama passwd-s3fs, file ini berisi aws access key id dan secret access key dengan format <aws access key id>:<aws secret access key>, bagaimana cara mendapatkannya? anda bisa membaca tulisan saya sebelumnya Membuat Access Key ID dan Secret Access Key di Amazon AWS.
- Buat folder tmp untuk caching s3fs
- Buat mount point path foldernya, namai saja dengan nama per bucketnya jika lebih dari satu, misal saya namai dengan folder s3-bucket-andykamto
- Rubah permission untuk folder mount point dan cache nya
- Berikutnya coba mount bucket S3, sebelumnya pastikan anda sudah membuat bucket melalui aws management console di layanan S3, untuk me-mount formatnya adalah
s3fs -o allow_other -o use_cache=path_cache nama_bucket path_mount_point
contoh
apt-get install automake autotools-dev g++ git libcurl4-gnutls-dev libfuse-dev libssl-dev libxml2-dev make pkg-config
git clone https://github.com/s3fs-fuse/s3fs-fuse
cd s3fs-fuse/
./autogen.sh
./configure –prefix=/usr –with-openssl
make
make install
Untuk membuatnya bisa jalankan perintah berikut, ganti sesuai access key id dan screet access key yang anda miliki,
echo BNGIIBCKUHCZ5HVJ5MNQ:KRj3bqLqVUIAU7CZulO6cc67JLgQ3g8D8yEhKVZ+ > ~/.passwd-s3fs
Set permission file nya
chmod 600 ~/.passwd-s3fs
mkdir -p /tmp/cache
mkdir -p /mnt/s3-bucket-andykamto
chmod 777 /mnt/s3-bucket-andykamto /tmp/cache
s3fs -o allow_other -o use_cache=/tmp/cache s3-bucket-andykamto /mnt/s3-bucket-andykamto
Cek apakah sudah termount apa belum bisa dengan perintah
df -h
Selamat s3 bucket telah berhasil di mount di local file system kita, silahkan lakukan perubahan nanti akan otomatis ter-syinc sendirinya dengan bucket yang ada di amazon s3.
Tambahan, untuk unmountingnya bisa jalankan perintah dibawah
fusermount -uz /mnt/s3-bucket-andykamto