Mục lục
Nhiều hệ thống Việt Nam đang để dữ liệu trên AWS S3, Wasabi hay Backblaze B2 từ những ngày đầu, rồi cứ để vậy. Bài này nói thẳng khi nào chuyển về trong nước là đáng, khi nào thì không, và chuyển thế nào cho an toàn.
1. Ba lý do khiến người ta chuyển về
Độ trễ. Dữ liệu đặt ở Singapore hay Tokyo thì mỗi lượt đọc phải đi ra quốc tế rồi vòng về. Với ảnh trên website hoặc tệp người dùng tải lên, người dùng trong nước cảm nhận được sự chênh lệch này. Đặt dữ liệu trong nước, đi qua kết nối trực tiếp với các nhà mạng nội địa, là đường ngắn hơn hẳn.
Chi phí lấy dữ liệu ra. Đây là khoản gây bất ngờ nhiều nhất. Các nhà cung cấp quốc tế thường tính tiền theo từng GB đi ra khỏi hệ thống, và khoản đó cộng dồn theo lượt truy cập chứ không theo dung lượng lưu trữ. Một thư viện ảnh 500 GB nhưng được xem nhiều có thể tốn tiền băng thông cao hơn tiền lưu trữ.
Hợp đồng và hóa đơn. Doanh nghiệp Việt Nam cần hóa đơn VAT để hạch toán, cần hợp đồng với pháp nhân trong nước, và nhiều đơn vị có yêu cầu giữ dữ liệu trong lãnh thổ. Thanh toán bằng thẻ quốc tế rồi nhận hóa đơn nước ngoài là một vướng mắc thật với bộ phận kế toán.
2. Và ba lý do nên ở lại
Chúng tôi không nghĩ chuyển về luôn luôn đúng. Ba trường hợp nên cân nhắc kỹ:
- Người dùng của quý khách ở nước ngoài. Đặt dữ liệu gần họ vẫn hợp lý hơn.
- Hệ thống đang dùng sâu các dịch vụ đi kèm của nhà cung cấp đó, ví dụ hàm chạy theo sự kiện hoặc mạng phân phối nội dung gắn liền. Gỡ ra thì phải viết lại nhiều chỗ.
- Dữ liệu ở tầng lưu trữ lạnh giá rất thấp và gần như không bao giờ đọc. Ở yên thường rẻ hơn.
3. Tính trước chi phí lấy dữ liệu ra
Chuyển đi nghĩa là kéo toàn bộ dữ liệu ra một lần, và nhà cung cấp cũ sẽ tính tiền cho lần kéo đó. Phải biết con số này trước khi bắt đầu, đừng để nó thành hóa đơn bất ngờ cuối tháng.
Cách tính đơn giản: lấy tổng dung lượng nhân với đơn giá băng thông ra của nhà cũ. Quý khách xem lại bảng giá của họ, phần thường ghi là data transfer out hoặc egress. Một số nhà miễn phí phần này khi quý khách rời đi, nhưng phải hỏi trước chứ đừng đoán.
Đo tổng dung lượng thật bằng một lệnh:
rclone size nhacu:ten-bucket
4. Chuyển bằng một lệnh
Vì cả hai bên đều nói chuẩn S3, quý khách không cần tải về máy rồi tải lên lại. rclone kéo thẳng từ kho này sang kho kia.
Khai cả hai đầu trong một tệp cấu hình:
mkdir -p ~/.config/rclone
cat > ~/.config/rclone/rclone.conf <<'EOF'
[nhacu]
type = s3
provider = AWS
region = ap-southeast-1
access_key_id = KHOA_CUA_NHA_CU
secret_access_key = KHOA_BI_MAT_CUA_NHA_CU
[cloudzone]
type = s3
provider = Ceph
endpoint = https://object.cloudzone.vn
access_key_id = KHOA_LAY_TRONG_PORTAL
secret_access_key = KHOA_BI_MAT_LAY_TRONG_PORTAL
acl = private
EOF
chmod 600 ~/.config/rclone/rclone.conf
Với Wasabi hay Backblaze B2 thì thay khối [nhacu] bằng endpoint tương ứng của họ, phần còn lại giữ nguyên.
Chạy thử trước, không đụng vào dữ liệu:
rclone copy nhacu:ten-bucket cloudzone:ten-bucket --dry-run
Thấy danh sách đúng như mong đợi thì bỏ --dry-run và chạy thật:
rclone copy nhacu:ten-bucket cloudzone:ten-bucket \
--transfers 16 --checkers 32 --progress \
--log-file /var/log/chuyen-du-lieu.log --log-level INFO

Endpoint và cặp khóa phía Cloudzone lấy ngay trong Portal. Ảnh chụp trên tài khoản thử, khóa truy cập đã được che.
5. Chuyển khối lượng lớn mà không làm đứt dịch vụ
Với vài TB trở lên, đừng chuyển một phát rồi đổi cấu hình ứng dụng. Làm ba nhịp:
- Nhịp một, chuyển phần lớn. Chạy
rclone copytrong lúc hệ thống vẫn đọc ghi bên cũ. Việc này có thể mất vài ngày, không sao. - Nhịp hai, chuyển phần chênh lệch. Chạy lại đúng lệnh đó. rclone chỉ đẩy những tệp mới hoặc đã đổi, nên nhanh hơn nhiều.
- Nhịp ba, đổi cấu hình ứng dụng sang endpoint mới, rồi chạy lần cuối để vét nốt những tệp phát sinh trong lúc đổi.
Muốn việc chuyển không chiếm hết đường truyền của hệ thống đang chạy, thêm giới hạn tốc độ:
rclone copy nhacu:ten-bucket cloudzone:ten-bucket --bwlimit "08:00,20M 22:00,off"
Dòng trên nghĩa là ban ngày giới hạn 20 MB/s, từ 22 giờ thì chạy hết tốc độ.
Lưu ý về hạn mức: lượt chuyển vào cũng tính vào băng thông của gói Object Storage, vì hạn mức tính cả hai chiều. Chuyển 2 TB dữ liệu nghĩa là dùng ngay 2 TB băng thông của kỳ đó. Quý khách nên chọn gói có hạn mức đủ cho đợt chuyển, hoặc báo trước để Cloudzone hỗ trợ.
6. Đối chiếu trước khi xóa bên cũ
Đừng xóa dữ liệu bên cũ cho tới khi đối chiếu xong. rclone có sẵn lệnh so từng tệp hai bên:
rclone check nhacu:ten-bucket cloudzone:ten-bucket
Không báo lệch nghĩa là hai bên khớp nhau. Sau đó nên để bên cũ thêm ít nhất một tháng, chạy hệ thống trên kho mới, chắc chắn không sót gì rồi mới dọn.
Trong tháng đó, kiểm thêm hai thứ: ứng dụng đã trỏ hết sang endpoint mới chưa, và những đường dẫn công khai đã lưu ở đâu đó có còn đúng không.

Theo dõi dung lượng và băng thông đã dùng ngay trên Portal trong lúc chuyển dữ liệu.
7. Câu hỏi thường gặp
Chuyển xong có phải sửa lại ứng dụng nhiều không?
Thường chỉ đổi ba thứ trong cấu hình: endpoint, access key và secret key. Vì cùng chuẩn S3 nên phần mã gọi vào giữ nguyên. Endpoint của Cloudzone nhận cả hai kiểu địa chỉ, dạng đường dẫn và dạng tên miền con.
Đang dùng Wasabi hoặc Backblaze B2 thì có khác gì không?
Không khác về cách làm. Chỉ thay khối cấu hình đầu nguồn bằng endpoint của họ. Hai nhà này thường rẻ hơn AWS ở phần băng thông, nên bài toán chi phí có thể khác, quý khách nên tính lại bằng số của chính mình.
Dữ liệu đang ở tầng lưu trữ lạnh thì sao?
Phải khôi phục về tầng thường trước khi kéo đi, và bước khôi phục đó thường mất tiền và mất thời gian. Tính cả khoản này vào chi phí chuyển.
Cloudzone có hỗ trợ chuyển giúp không?
Có. Quý khách cho biết đang ở đâu, khối lượng bao nhiêu và hệ thống nào đang đọc ghi, đội kỹ thuật sẽ tư vấn cách chuyển phù hợp.
Xem thêm: trang dịch vụ Object Storage và tổng quan lưu trữ Cloudzone.