13.FastSnapshotRestoreFSR
📸 AWS EBS Snapshot – Thực tế đi làm & mẹo exam (script chi tiết)¶
1. EBS Snapshot là gì? Kiến trúc & ứng dụng thực tế¶
- Snapshot = backup EBS volume lên S3 (region-level durability, chống mất AZ/local disk, DR/migration).
- Incremental:
- Lần đầu: full backup (chỉ data đã dùng, không phải toàn bộ size volume).
- Các lần sau: chỉ lưu data thay đổi so với snapshot trước , volume 40 dùng 10 thì snapshot là 10 GB
- Self-sufficient:
- Xóa snapshot giữa chuỗi không làm mất data, vì AWS tự di chuyển data cần thiết để mọi snapshot sau vẫn restore được.
Self-sufficient
- Khi bạn xóa một snapshot ở giữa chuỗi (không phải snapshot đầu hoặc cuối), dữ liệu của bạn không bị mất.
- AWS tự động chuyển các phần dữ liệu cần thiết từ snapshot bị xóa sang các snapshot sau nó, để đảm bảo các snapshot sau này vẫn có đầy đủ dữ liệu để phục hồi (restore).
- Vì vậy, bạn có thể xóa snapshot cũ mà không lo mất dữ liệu, miễn là vẫn còn snapshot mới hơn trong chuỗi.
Ví dụ dễ hiểu:
Giả sử bạn có 3 snapshot: A → B → C
- Nếu xóa B, thì AWS sẽ chuyển dữ liệu cần thiết từ B sang C.
- Kết quả: Bạn vẫn có thể restore từ C đầy đủ như chưa từng xóa B.
Tóm lại: Xóa snapshot giữa chuỗi KHÔNG làm mất data, vì AWS tự xử lý để các snapshot còn lại luôn đủ dữ liệu để khôi phục. - Dùng snapshot để: - Khôi phục (restore) volume khi mất/hỏng. - Clone volume (tạo volume mới từ snapshot, có thể ở AZ khác, region khác). - Di chuyển dữ liệu giữa AZ/region (DR/migration).
2. Cơ chế, billing & chi phí¶
- Snapshot lưu trên S3 (region-level): Không phụ thuộc AZ.
- Chỉ tính phí theo **data thực sử dụng (used data), không phải toàn bộ dung lượng volume.
- Ví dụ: Volume 40GB, dùng 10GB → snapshot full đầu tiên chỉ tính phí 10GB.
- Incremental:
- Mỗi snapshot chỉ tính phần data phát sinh/chỉnh sửa so với lần trước.
- Snapshot nhiều lần/ngày cũng không tăng phí nếu data không đổi.
- Billing: GB-tháng (10GB snapshot 1 tháng = 10GB-tháng).
3. Restore volume từ snapshot: Thực tế & tối ưu hiệu năng¶
- Restore volume từ snapshot:
- Volume tạo ra chưa có toàn bộ data local, data được copy dần từ S3 về EBS khi truy cập (lazy restore).
- Lần đầu truy cập block chưa copy sẽ bị performance thấp hơn; sau khi data local → hiệu năng tối đa.
- Tối ưu:
- Force read all blocks: Dùng dd/fio/catđể đọc hết block → force data từ S3 về volume mới.
- Fast Snapshot Restore (FSR):  - Bật FSR lên snapshot + AZ cần dùng → volume restore ra sẽ luôn ready, không cần force read.
- Giới hạn: 50 FSR/AZ/region, tính phí riêng.
- FSR = chọn snapshot + AZ, mỗi cặp snapshot/AZ tính 1 quota (VD: 1 snap x 4 AZ = 4 FSR).
 
4. Quy trình thực tế (script đi làm)¶
# Tạo snapshot từ volume
aws ec2 create-snapshot --volume-id vol-0123456789abcdef --description "Backup daily"
# Tạo volume mới từ snapshot (có thể chọn AZ khác)
aws ec2 create-volume --snapshot-id snap-0123abcd --availability-zone ap-southeast-1b --volume-type gp3
# Force restore (Linux)
dd if=/dev/xvdf of=/dev/null bs=1M status=progress
# Bật FSR cho snapshot
aws ec2 enable-fast-snapshot-restores --source-snapshot-ids snap-0123abcd --availability-zones ap-southeast-1a
# Xem trạng thái FSR
aws ec2 describe-fast-snapshot-restores --filters Name=snapshot-id,Values=snap-0123abcd
5. Mẹo exam & lưu ý thực tế quan trọng¶
- Snapshot chỉ backup data đã dùng, không phải toàn bộ volume size.
- Snapshot nhiều lần/ngày không tăng phí nếu không đổi/chỉnh sửa dữ liệu.
- Dùng snapshot để clone/migrate volume giữa AZ/region (DR, blue/green).
- Restore từ snapshot = hiệu năng thấp lúc đầu (trừ khi dùng FSR hoặc force read block).
- FSR có phí riêng, tối đa 50 FSR/snapshot/region.
- Xóa snapshot giữa chain không mất data, AWS auto giữ các block cần cho các snapshot sau.
- Snapshot cũng backup encryption (volume encrypted → snapshot cũng encrypted).
- Snapshot lưu trữ ở S3, không hiển thị trực tiếp trong bucket S3, chỉ quản lý qua EBS API/Console.
- **Billing tính theo GB-tháng dùng thực tế (không phải toàn bộ disk).10 GB dùng 4 GB thì giá 4GB , 20GB nửa tháng thì giá là 10GB 1 tháng **
6. Tóm tắt nhớ lâu¶
- Snapshot = backup EBS lên S3, incremental, chi phí trên data thực dùng, restore nhanh với FSR hoặc force read.
- Dùng snapshot cho backup định kỳ, DR, clone/migrate giữa AZ/region, rollback trước khi upgrade.
- Luôn nhớ tối ưu hiệu năng restore bằng FSR hoặc force read khi cần production ready!