S3FS là một FUSE (File System in User Space) sẽ mount Amazon S3 như một hệ thống file cục bộ trên máy tính của bạn, nghĩa là bạn có thể thao tác với Amazon S3 cloud computing giống như thao tác với dữ liệu ngay trên máy tính của bạn. S3FS có khả năng thao tác Amazon S3 bucket theo nhiều cách khác nhau. Nếu bạn muốn truy cập Amazon S3 bucket mà không cần phải mount tới nó trên máy tính (hay server) của bạn, bạn có thể dùng các công cụ dòng lệnh như s3cmd, rclone, aws… để quản lý S3 bucket.
Amazon S3 bucket là gì?
Amazon S3 là giao diện dịch vụ web dựa trên đám mây mà bạn có thể dùng để lưu trữ và truy xuất bất kỳ lượng dữ liệu nào. Để upload dữ liệu, đầu tiên bạn cần tạo một S3 bucket trên một trong những regions của Amazon.
Các tính năng chính của S3FS
- Có khả năng tương thích với các dịch vụ lưu trữ object cloud dựa trên S3 protocol như Swift Openstack, Google Cloud Storage, Amazon S3
- Hỗ trợ các file lớn thông qua upload multi-part
- Đổi tên thông qua bản sao phía server
- Toàn vẹn dữ liệu với MD5
- Caching metadata trên memory
- Caching dữ liệu trên local disk
- Xác thực qua signature version 2 và 4
Hướng dẫn cài đặt S3FS
Chạy các câu lệnh sau
Đối với Debian và Ubuntu 16.04 hoặc mới hơn
sudo apt-get install s3fs
Đối với RHEL và CentOS 7 hoặc mới hơn
sudo yum install epel-release
sudo yum install s3fs-fuse
Đối với MacOS thông qua Homebrew
brew cask install osxfuse
brew install s3fs
Vị trí file s3fs password mặc định được đặt tạo
- Sử dụng file .password-s3fs trong thư mục home user (${HOME}/.passwd-s3fs)
Thiết lập thông tin đăng nhập trong file password tại vị trí ${HOME}/.passwd-s3fs và thiết lập quyền owner-only (600) chạy câu lệnh sau
echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3fs
chmod 600 ${HOME}/.passwd-s3fs
Chạy câu lệnh sau đối với bucket đang tồn tại có tên mybucket và địa chỉ thư mục /mnt/s3fs-mount
s3fs mybucket /mnt/s3fs-mount -o passwd_file=${HOME}/.passwd-s3fs
Kết luận
Việc mount S3 bucket ngay trên hệ thống file local trực tiếp giúp dễ dàng trao đổi objects ngay trong môi trường hệ thống của bạn thay vì thông qua các giao thức internet.