11.InstanceStoreVolumes
🚀 AWS EC2 Instance Store: Kiến thức đầy đủ đi làm & đi thi (script thực tế, mẹo exam)
1. Instance Store là gì? (Khái niệm & bản chất)
Instance Store là storage local gắn trực tiếp vào EC2 host vật lý (block device, ephemeral).
Ephemeral = tạm thời: MẤT dữ liệu khi:
Instance stop/start, terminate, reboot, migrate (maintenance, resize, change type)
Host failure (hỏng vật lý)
Không phải EBS : Không network, không persistent, không snapshot/backup được.
Hiệu năng: CỰC CAO (IOPS/throughput vượt xa EBS, nhất là NVMe SSD).
Chi phí: Bao gồm trong giá instance (dùng hay không vẫn trả tiền).
2. Kiến trúc & đặc điểm kỹ thuật
Attach only at launch: Chỉ add được khi launch instance (EXAM!).
Không thể thêm/bớt instance store sau khi EC2 đã chạy.
Số lượng/loại/size: Phụ thuộc instance type/size (i3, i4i, d3, h1, m5d, c5d, z1d...)
Gắn vào OS: Nhìn như block device (ephemeral0, ephemeral1...), bạn tạo file system, mount như bình thường.
Không snapshot/backup: Không có tính năng snapshot như EBS; data biến mất vĩnh viễn khi mất instance hoặc host.
3. Khi nào nên dùng Instance Store?
Workload cần performance cực cao, data replaceable :
Cache, temporary buffer, scratch space (Spark/Hadoop temp, ETL, batch processing)
Log, staging area, swap, NoSQL temp data
Big data streaming, analytics intermediate data
Không dùng cho: Database production, boot volume, bất kỳ data quan trọng/persistent
4. Ưu/Nhược điểm & so sánh với EBS
Tiêu chí
Instance Store
EBS (gp3/io2/st1/sc1)
Persistent
Không
Có
Performance
Siêu cao
Cao nhưng thấp hơn
Attach/detach
Chỉ khi launch
Linh hoạt
Snapshot/backup
Không
Có (snapshot S3, backup/restore)
Data loss on stop/start
Có
Không
Billing
Bao gồm trong giá EC2
Tính phí riêng (GB/tháng)
Use case
Temp/cache/scratch
Data quan trọng, DB, boot
Key exam:
- Instance store = ephemeral = mất data khi stop/start/migrate.
- EBS = persistent, attach/detach linh hoạt, backup được.
5. Limitation thực tế & lưu ý vận hành
MẤT DỮ LIỆU khi:
Instance stop/start, terminate, migrate (maintenance/chuyển host)
Resize/change instance type
Host failure (hardware)
Không thể backup/restore: Chỉ copy data bằng chính app/script của bạn.
Không dùng cho data cần bền vững hoặc bất kỳ thứ gì không tái tạo được!
Làm việc với các block device ephemeral0, ephemeral1,...; tạo xfs/ext4, mount thủ công
Performance:
i3.16xlarge (NVMe SSD): 2M IOPS read, ~16GB/s throughput (so với EBS io2 max 64k IOPS, 1GB/s)
d3/h1: HDD dung lượng lớn, throughput cực cao cho workloads sequential.
6. Mapping nhanh: EC2 + Instance Store
Instance family
Loại instance store
Dung lượng/cái
Số lượng/cái
Use case chính
i3, i4i
NVMe SSD
900GB–15TB
1–8
OLAP, Spark, cache
d3, h1
HDD
2TB–16TB
1–8
Big data, streaming
c5d, m5d, z1d
NVMe SSD
75GB–1.8TB
1
App cache, temp, swap
Check AWS docs: Instance type nào có instance store, size/quantity ra sao (script đi làm cần thuộc nhóm phổ biến).
7. Câu hỏi exam/phỏng vấn hay gặp
"Instance store có persistent không?" → Không, ephemeral, mất data khi stop/start/terminate/migrate
"Có attach được instance store cho EC2 đang chạy không?" → Không, chỉ add lúc launch
"Workload nào nên dùng instance store?" → Cache/temp/buffer/scratch, Spark/Hadoop, log tạm
"Có backup/snapshot instance store không?" → Không, chỉ EBS mới có snapshot
"Tại sao chọn EBS thay instance store?" → Persistent, backup, attach linh hoạt
"Khi nào instance store mất data?" → Stop/start/terminate/migrate, hardware failure
"Performance instance store vs EBS?" → Instance store vượt trội (IOPS, throughput)
"Có nên lưu file quan trọng lên instance store?" → Không! Chỉ lưu data có thể mất/khôi phục
8. Mẹo thực tế vận hành
Luôn script hóa lưu/log data ra EBS/S3 nếu cần backup.
Tránh lưu bất kỳ state/data quan trọng trên instance store.
Giám sát hardware health (CloudWatch, EC2 events), chủ động migrate data nếu cần.
Dùng RAID0 (striping) nếu cần aggregate nhiều instance store device cho hiệu năng max.
Dùng instance store tối đa nếu đã trả phí (dùng hoặc bỏ phí).
Filesystem mount: tạo xfs/ext4, mount vào /mnt/ephemeral* hoặc custom path.
9. Lệnh mẫu thực tế
# Liệt kê block device instance store (thường là /dev/nvme* hoặc /dev/xvd*)
lsblk
# Format và mount
mkfs.xfs /dev/nvme1n1
mkdir -p /mnt/ephemeral1
mount /dev/nvme1n1 /mnt/ephemeral1
# Kiểm tra hiệu năng
fio --name= randrw --filename= /dev/nvme1n1 --rw= randrw --bs= 4k --iodepth= 32 --numjobs= 4 --runtime= 60 --time_based --ioengine= libaio --direct= 1
10. Tóm tắt nhớ lâu
Instance Store = ephemeral, local, hiệu năng cao, mất data khi stop/start, không snapshot, chỉ add khi launch.
Chỉ dùng cho data cache/temp/buffer, không bao giờ dùng cho data quan trọng hoặc cần backup.
EBS = persistent, backup được, attach động, dùng cho mọi data cần bền vững.
Luôn kiểm tra instance type để biết có instance store không, số lượng/dung lượng ra sao.