Amazon Elastic Block Store
Ổ đĩa cho EC2
Ổ đĩa dạng block gắn vào một EC2 (cùng AZ), dữ liệu còn nguyên khi tắt máy; sao lưu bằng snapshot.
- Chi phí$ Rẻ
- Độ khó●●●●●
- Để không có tốn tiền?Có
- AWS quản lý
- Có trong đềCLF · SAA · SOA
Hình dungNhư ổ cứng gắn ngoài cắm vào một máy tính.
EBS đứng ở đâu trong hệ thống?
Gọi tới EBS
Một ví dụ thật, từng bước
- Bạn chạy PostgreSQL tự cài trên một máy EC2 và cần ổ đĩa riêng cho dữ liệu.
- Bạn tạo ổ EBS gp3 100 GB trong cùng AZ với máy, đặt IOPS phù hợp rồi gắn vào máy như một ổ cứng.
- Máy khởi động lại hay bị dừng thì dữ liệu trên EBS vẫn còn nguyên.
- Mỗi đêm Data Lifecycle Manager chụp snapshot; snapshot chỉ lưu phần thay đổi nên đỡ tốn tiền.
- Muốn chuyển database sang AZ khác, bạn tạo ổ mới từ snapshot ở AZ đó rồi gắn vào máy mới.
Khi nào nên dùng
✓ Nên dùng khi
Ổ hệ điều hành, database tự quản lý trên EC2.
✗ Không nên dùng khi
Nhiều máy cần dùng chung → EFS; lưu file lâu dài, rẻ → S3.
Ví dụ hay gặp
- Ổ hệ điều hành của EC2
- Database tự quản trên EC2 cần IOPS cao
- Sao lưu bằng snapshot, khôi phục sang AZ khác
EBS, EFS hay S3?
| Kiểu lưu | Ổ đĩa (block) | Thư mục dùng chung (file) | Đối tượng (object) |
|---|---|---|---|
| Gắn vào | Một máy EC2, cùng AZ | Nhiều máy, nhiều AZ | Không gắn, gọi qua API |
| Tính tiền | Theo dung lượng đã cấp, kể cả chưa dùng | Theo dung lượng thực lưu | Theo dung lượng thực lưu + request |
| Hợp nhất với | Hệ điều hành, database | Thư mục chung | File, backup |
Tốn bao nhiêu tiền?
- Cách tính: Theo GB-tháng đã cấp phát (gp3 ~$0,08/GB, có sẵn 3.000 IOPS và 125 MB/s) + IOPS/throughput mua thêm + snapshot (~$0,05/GB-tháng).
- Miễn phí: Tài khoản cũ: 30 GB trong 12 tháng.
Tính theo dung lượng cấp phát, không theo dung lượng dùng; ổ 'mồ côi' còn lại sau khi xoá EC2; snapshot tích tụ; vẫn dùng gp2 (đắt hơn gp3 ~20%).
EBS gắn trong một AZ: muốn sang AZ hay region khác thì qua snapshot. Dữ liệu tạm cần cực nhanh và chấp nhận mất khi tắt máy → instance store. Cần nhiều máy cùng đọc ghi một thư mục → EFS, không phải EBS.
Thử sức với câu hỏi thi thật
1Do the Amazon EBS volumes persist independently from the running life of an Amazon EC2 instance?
- ANo.
- BOnly if instructed to when created.
- CYes.
Xem đáp án
Đáp án đúng: C
Có. EBS là ổ lưu qua mạng, tồn tại độc lập với instance: có thể tách ra và gắn sang instance khác, dữ liệu vẫn còn.
2Can you encrypt EBS volumes?
- AYes, you can enable encryption when you create a new EBS volume using the AWS Management Console, API, or CLI.
- BNo, you should use a third-party software to perform raw block-level encryption of an EBS volume.
- CYes, but you must use a third-party API for encrypting data before it's loaded on EBS.
- DYes, you can encrypt with the special 'ebs_encrypt' command through Amazon APIs.
Xem đáp án
Đáp án đúng: A
Có. Bật mã hoá khi tạo ổ EBS (qua Console, API hoặc CLI), dùng khoá KMS. Không cần phần mềm của bên thứ ba và cũng không có lệnh 'ebs_encrypt'.
Câu hỏi thường gặp
EBS khác gì instance store?
EBS là ổ lưu qua mạng, dữ liệu còn nguyên khi dừng hay khởi động lại máy và có thể chụp snapshot. Instance store là ổ gắn vật lý vào máy chủ, rất nhanh nhưng mất dữ liệu khi instance dừng hoặc bị chấm dứt.
Nên chọn loại ổ EBS nào?
gp3 là lựa chọn mặc định cho hầu hết ứng dụng, chỉnh riêng được IOPS và throughput. io2 cho database cần IOPS cao, ổn định. st1 và sc1 là ổ HDD giá rẻ cho dữ liệu đọc tuần tự lớn như log hay xử lý dữ liệu.
Ổ EBS có dùng chung cho nhiều máy được không?
Thông thường một ổ chỉ gắn vào một instance, trong cùng AZ. Một số ổ io1/io2 hỗ trợ Multi-Attach nhưng ứng dụng phải tự xử lý ghi đồng thời. Cần thư mục dùng chung thì nên dùng EFS.
Đề thi AWS hay hỏi gì về EBS?
Ổ EBS gắn trong một AZ, muốn chuyển sang AZ hoặc region khác thì qua snapshot; mã hoá bằng KMS; chọn gp3 hay io2; và snapshot cùng ổ đã tách vẫn bị tính tiền nếu quên xoá.