Đồng bộ dữ liệu lên Bizfly S3
Bài viết này sẽ hướng dẫn khách hàng sử dụng các công cụ phổ biến hiện nay để đồng bộ dữ liệu tới S3 của Bizfly Cloud. Một số tiến trình đồng bộ thường gặp sẽ được giới thiệu trong bài viết này như sau:
- Đồng bộ từ local lên S3 và ngược lại
- Đồng bộ giữa S3 và S3
- Đồng bộ từ FTP lên S3
1. Đồng bộ từ local lên S3 và ngược lại
s3sync là công cụ giúp upload file từ local (server, máy tính bàn) lên dịch vụ lưu trữ đám mấy theo chuẩn S3. Công cụ này giúp upload file, download, hoặc sync từ bucket này sang bucket khác của nhiều dịch vụ lưu trữ đám mấy khác nhau theo chuẩn S3.
Xem thêm tại https://github.com/larrabee/s3sync
Bài viết này hướng dẫn cách thiết lập việc replicate data/migrate data từ local sang Bizfly Simple Storage, download file về server.
Cài đặt s3sync
Các phiên bản của s3sync có thể được tìm thấy ở đây : https://github.com/larrabee/s3sync/releases. S3sync hỗ trợ nhiều hệ điều hành như FreeBSD, Linux, OpenBSD, MacOS.
s3sync là tool chạy trực tiếp nên chỉ cần download về là có thể chạy được. Ví dụ download với server linux
wget https://github.com/larrabee/s3sync/releases/download/2.30/s3sync_2.30_Linux_x86_64.tar.gz
tar -xvzf s3sync_2.30_Linux_x86_64.tar.gz
chmod +x s3sync
Lấy thông tin xác thực của dịch vụ Bizfly Simple Storage
Vào phần Quản lý User -> Bảo mật -> Simple Storage Access Keys
Thông tin cần lấy: Access key và Secret key
Thực hiện các câu lệnh sync dữ liệu
s3sync sẽ cần truyền tham số cho source và target, source là nơi chứa dữ liệu cần được sync và target là nơi sẽ được sync dữ liệu đến.
Các tham số cơ bản
sk : access-key của source
ss : secret-key của source
te : endpoint của source
tk : access-key của target
ts : secret-key của target
te : endpoint của target
w : số lượng worker để thực hiện việc sync
sync-progress : show quá trình thực hiện sync
s3-acl : quyền của file khi upload , danh sách các quyền private, public-read, public-read-write, authenticated-read, mặc định là private
disable-http2 : disable mode http2 của client
Upload dữ liệu từ local lên s3
./s3sync --tk <access-key> --ts <secret-key> --te "https://hn.ss.bfcplatform.vn" -w 64 fs://<source-local> s3://<s3-bucket-target> --sync-progress --s3-acl public-read
Download dữ liệu từ Simple Storage về local
./s3sync --sk <access-key> --ss <secret-key> --se "https://hn.ss.bfcplatform.vn" -w 64 s3://<s3-bucket-target> fs://<source-local> --sync-progress --disable-http2
Một số tham số hữu ích trong quá trình sử dụng
-d : mode debug để có thêm thông tin khi bị lỗi
--sync-log : show log của quá trình sync
--ratelimit-objects : limit số lượng object được thực sync trong 1 giây
--ratelimit-bandwidth : limit số lượng băng thông trong quá trình sync, các đơn vị hỗ trợ K, M, G tương ứng với KB, MB, và GB
Ngoài ra còn có các tham số khác có thể tham khảo ở link sau: https://github.com/larrabee/s3sync
2. Đồng bộ giữa S3 và S3
Công cụ s3sync cũng cho phép sync giữa các bucket trong S3 hay giữa các nhà cung cấp S3 khác nhau cả trong và ngoài nước.
Cài đặt s3sync
Các phiên bản của s3sync có thể được tìm thấy ở đây : https://github.com/larrabee/s3sync/releases. S3sync hỗ trợ nhiều hệ điều hành như FreeBSD, Linux, OpenBSD, MacOS.
s3sync là tool chạy trực tiếp nên chỉ cần download về là có thể chạy được. Ví dụ download với server linux
wget https://github.com/larrabee/s3sync/releases/download/2.30/s3sync_2.30_Linux_x86_64.tar.gz
tar -xvzf s3sync_2.30_Linux_x86_64.tar.gz
chmod +x s3sync
Cách lấy thông tin xác thực của các nhà cung cấp dịch vụ S3
Lấy thông tin xác thực của Bizfly S3
Trên Bizfly Simple Storage
Vào dịch vụ Bizfly Simple Storage => Quản lý Access Key
Thông tin cần lấy: Access key và Secret key
Có thể sử dụng các key có sẵn hoặc tạo access key và secret key mới.
Xem thêm [Hướng dẫn cách tạo Access Key](https://docs.bizflycloud.vn/ simple_storage/howtos/access_secret_key/).
Quay lại danh sách bucket, lấy thông tin tên bucket dùng để nhận dữ liệu từ GCS, hoặc tạo môt bucket mới.
Xem thêm [Hướng dẫn cách tạo bucket mới](https://docs.bizflycloud.vn/ simple_storage/howtos/create_bucket/).
Lấy thông tin xác thực của AWS S3
Trên AWS Portal
Vào portal AWS, click vào account, chọn My Security Credentials.
Chọn Continue to Security Credentials => Access keys (access key ID and secret access key)
Tại đây, có danh sách các access key, nếu chưa có thì chọn Create New Access Key để tạo key mới, hoặc nếu đã có key, thì có thể dùng key cũ.
Cần lấy thông tin: AWSAccessKeyId và AWSSecretKey.
Lấy thông tin xác thực của GCS
Trên Google Cloud Storage
Chọn project chứa bucket cần được migrate, ở phần menu, chọn Settings => chọn tab INTEROPERABILITY.
Tiếp tục kéo xuống dưới, ở mục User account HMAC => chọn Set as default project (Nếu không nút này tức là bạn đã chọn trước đây và không cần làm nữa)
Trong mục User account HMAC có danh sách các access key, nếu chưa có thì chọn CREATE A KEYđể tạo key mới, hoặc nếu đã có key, thì có thể dùng key cũ.
Cần lấy thông tin: Access key và Secret key
Các câu lệnh sync dữ liệu
Sau khi đã có được các key pair để xác thực với S3, có thể tham khảo các lệnh sau để thực hiện đồng bộ dữ liệu giữa S3 và S3.
Copy dữ liệu từ bucket này sang bucket khác trong S3 của Bizfly Cloud:
./s3sync --sk <access-key-source> --ss <secret-key-source> --se "https://hn.ss.bfcplatform.vn" --tk <access-key-target> --ts <secret-key-target> --te "https://hn.ss.bfcplatform.vn" -w 64 s3://<s3-bucket-source> s3://<s3-bucket-target> --sync-progress --s3-acl public-read --disable-http2
Copy dữ liệu từ Amazon S3 về S3 của Bizfly Cloud:
./s3sync --sk <access-key-amazon> --ss <secret-key-amazon> --tk <access-key-bizfly-simple-storage> --ts <secret-key-bizfly-simple-storage> --te "https://hn.ss.bfcplatform.vn" -w 64 s3://<s3-bucket-amazon> s3://<s3-bucket-bizfly-simple-storage> --sync-progress --s3-acl public-read --disable-http2
3. Đồng bộ từ FTP lên S3
Rclone là công cụ giúp đồng bộ hoá dữ liệu và directory hỗ trợ đa dạng loại nhiều dịch vụ lưu trữ cloud khác nhau, bao gồm AWS S3, Bizfly Simple Storage, Google Drive, v.v… hay các giao thức truyền file qua mạng như FTP, SMB…
Xem thêm tại : https://rclone.org/
Cài đặt rclone
$ curl https://rclone.org/install.sh | sudo bash
Lấy thông tin xác thực của dịch vụ Bizfly Simple Storage
Vào phần Quản lý User -> Bảo mật -> Simple Storage Access Keys
Thông tin cần lấy: Access key và Secret key
Cấu hình rclone
Tạo file cấu hình rclone trên máy
$ vi ~/.config/rclone/rclone.conf
[ftp]
type = ftp
host = <your.ftp.domain>
user = <ftp-user>
pass = <ftp-password>
[s3]
type = s3
provider = Other
access_key_id = <access-key>
secret_access_key = <secret-key>
endpoint = https://hn.ss.bfcplatform.vn
acl = private
Các câu lệnh sync dữ liệu
Sau khi đã cấu hình xong các profile FTP và S3, ta đã có thể thực hiện tiến trình đồng bộ:
rclone -v sync ftp:/home/ftpuser/ftp/files s3:/bucket_name/