AWS Cloud Practitioner · Tiếng Việt
Chương 4 / 20

Lưu trữ cho EC2: EBS, AMI, Instance Store, EFS, FSx

Khám phá các cách lưu trữ dữ liệu gắn với EC2: ổ đĩa mạng EBS, snapshot, tạo image tùy chỉnh với AMI, ổ đĩa vật lý tốc độ cao Instance Store, và các hệ thống file dùng chung EFS/FSx.

Nội dung chương

  1. EBS Volume là gì?
  2. Delete on Termination & EBS Snapshot
  3. AMI – Amazon Machine Image
  4. EC2 Image Builder
  5. EC2 Instance Store
  6. Amazon EFS – Elastic File System
  7. So sánh EBS và EFS
  8. EFS Infrequent Access (EFS-IA)
  9. Amazon FSx: Windows File Server & Lustre
  10. Mô hình trách nhiệm chung với lưu trữ EC2

1. EBS Volume là gì?

Khi bạn tạo một EC2 instance, bản thân "máy tính ảo" đó cần một nơi để lưu dữ liệu — hệ điều hành, file cài đặt, dữ liệu ứng dụng. Cách phổ biến nhất để làm điều này là dùng EBS (Elastic Block Store) Volume — một loại ổ đĩa mạng mà bạn có thể gắn (attach) vào EC2 instance trong khi nó đang chạy.

Cách dễ nhớ nhất: hãy nghĩ về EBS Volume như một "cái USB gắn qua mạng". Giống như bạn có thể rút một chiếc USB ra khỏi máy tính này và cắm vào máy tính khác, một EBS Volume có thể được gỡ (detach) khỏi một EC2 instance và gắn (attach) sang một instance khác một cách nhanh chóng — chỉ khác là việc "cắm/rút" này diễn ra qua mạng nội bộ của AWS, không phải qua cổng USB vật lý.

Một vài đặc điểm quan trọng của EBS Volume:

Lưu ý khi thi: Hãy nhớ chắc hình ảnh "USB gắn qua mạng" — nó giúp bạn suy luận ra mọi đặc tính khác của EBS: gắn được, rút được, nhưng chỉ dùng được ở "đúng khu vực" tương thích (AZ), và có dung lượng cố định phải "mua trước".

2. Delete on Termination & EBS Snapshot

Chi tiết hoạt động của EBS Volume

Vì là một ổ đĩa mạng (không phải vật lý), EBS Volume giao tiếp với instance qua kết nối mạng nội bộ, nên đôi khi có thể có một chút độ trễ (latency) so với ổ đĩa vật lý gắn trực tiếp. Đổi lại, tính linh hoạt rất cao: bạn có thể gỡ EBS Volume khỏi một EC2 instance và gắn sang một instance khác trong vài giây.

Điểm cần nhớ kỹ: EBS Volume bị khóa vào một AZ cụ thể. Ví dụ, một EBS Volume được tạo ở AZ us-east-1a thì không thể gắn trực tiếp vào một EC2 instance đang chạy ở AZ us-east-1b. Nếu bạn muốn "di chuyển" dữ liệu của volume đó sang AZ khác (hoặc region khác), bạn phải tạo một snapshot trước, rồi từ snapshot đó tạo ra volume mới ở AZ/Region đích.

Về giá: EBS Volume có dung lượng được cấp phát trước (provisioned capacity) — nghĩa là bạn phải chọn trước kích thước (số GB) và mức IOPS (số lượng thao tác đọc/ghi mỗi giây) bạn cần, và bạn bị tính tiền theo toàn bộ dung lượng đã cấp phát, bất kể bạn dùng hết hay không. Bạn có thể tăng dung lượng của volume theo thời gian khi nhu cầu tăng lên.

Delete on Termination

Đây là một thuộc tính (attribute) kiểm soát điều gì xảy ra với EBS Volume khi EC2 instance gắn với nó bị chấm dứt (terminate):

Bạn có thể chủ động thay đổi thuộc tính này qua Console hoặc CLI. Một tình huống sử dụng thực tế: bạn muốn giữ lại dữ liệu trên root volume dù instance đã bị xóa (ví dụ để phân tích lại sau) — bạn chỉ cần tắt thuộc tính Delete on Termination cho root volume đó trước khi terminate instance.

EBS Snapshot

EBS Snapshot là một bản sao lưu (backup) của EBS Volume tại một thời điểm cụ thể — giống như bạn chụp ảnh "trạng thái hiện tại" của cái USB, để nếu sau này ổ đĩa gốc có vấn đề, bạn vẫn có thể khôi phục lại từ đó. Về kỹ thuật, không bắt buộc phải gỡ (detach) volume ra khỏi instance trước khi tạo snapshot, nhưng AWS khuyến nghị nên làm vậy để đảm bảo tính toàn vẹn dữ liệu (data integrity) — tránh trường hợp có dữ liệu đang được viết vào đĩa ngay lúc snapshot được chụp.

Một tính năng cực kỳ hữu ích: bạn có thể copy snapshot sang một AZ khác hoặc một Region khác — đây chính là cách để "di chuyển" một EBS Volume vượt ra khỏi ranh giới AZ ban đầu của nó.

Các tính năng mở rộng của EBS Snapshot

Ví dụ thực tế: Đội vận hành của một công ty vô tình xóa một snapshot quan trọng chứa dữ liệu backup database. Nếu họ đã thiết lập Recycle Bin với thời gian giữ 30 ngày, họ vẫn có thể khôi phục lại snapshot đó trong vòng 30 ngày kể từ lúc xóa, tránh mất dữ liệu vĩnh viễn.
Lưu ý khi thi: Nhớ rằng cách duy nhất để "chuyển" một EBS Volume từ AZ này sang AZ khác (hoặc Region khác) là thông qua Snapshot — không có cách "kéo thả" trực tiếp một volume qua AZ khác.

3. AMI – Amazon Machine Image

AMI (Amazon Machine Image) là một "bản chụp" hoàn chỉnh của một EC2 instance đã được tùy chỉnh — bao gồm hệ điều hành, các phần mềm đã cài, các file cấu hình, các công cụ giám sát... đóng gói lại thành một khuôn mẫu (template) để bạn có thể dùng nó khởi tạo ra các instance mới giống hệt, nhanh hơn nhiều so với việc cài đặt lại từ đầu mỗi lần.

Lợi ích chính của AMI:

Bạn có thể khởi tạo instance từ 3 nguồn AMI khác nhau:

Quy trình tạo AMI từ một EC2 instance

  1. Khởi động một EC2 instance và tùy chỉnh nó theo ý muốn (cài phần mềm, cấu hình...).
  2. Dừng (Stop) instance đó lại — bước này quan trọng để đảm bảo tính toàn vẹn dữ liệu (data integrity) trước khi chụp AMI.
  3. Xây dựng AMI từ instance đã dừng — quá trình này cũng sẽ tự động tạo ra các EBS Snapshot tương ứng cho các volume gắn với instance đó.
  4. Từ AMI này, bạn có thể khởi tạo các instance khác — thậm chí ở các AZ hoặc Region khác nhau.
Ví dụ thực tế: Một công ty phát triển web đã cài đặt và cấu hình sẵn một máy chủ với đúng phiên bản Node.js, các thư viện cần thiết, và các thiết lập bảo mật chuẩn của công ty. Thay vì lặp lại toàn bộ quá trình cài đặt này cho mỗi máy chủ mới, họ tạo một AMI từ máy đã cấu hình xong, rồi mỗi khi Auto Scaling Group cần thêm máy, nó chỉ cần khởi tạo instance mới từ AMI đó — máy đã sẵn sàng hoạt động trong vài phút.
Lưu ý khi thi: Nhớ thứ tự: phải Stop instance trước khi tạo AMI để đảm bảo dữ liệu toàn vẹn — không bắt buộc tuyệt đối về kỹ thuật nhưng là best practice và là câu trả lời đúng trong đề thi.

4. EC2 Image Builder

Nếu công ty của bạn cần cập nhật AMI thường xuyên (ví dụ mỗi tuần, mỗi khi có bản vá bảo mật mới), việc tạo AMI bằng tay lặp đi lặp lại sẽ rất tốn công. EC2 Image Builder là dịch vụ giúp tự động hóa toàn bộ quá trình tạo, duy trì, kiểm thử (validate/test) các AMI (hoặc image container).

Quy trình hoạt động của EC2 Image Builder gồm các bước:

  1. EC2 Image Builder tự động tạo ra một Builder EC2 Instance tạm thời.
  2. Áp dụng các Build Component lên instance đó (các bước tùy chỉnh phần mềm, cấu hình theo yêu cầu của bạn).
  3. Từ đó tạo ra một AMI mới.
  4. Một Test EC2 Instance được khởi tạo từ AMI mới này để chạy bộ kiểm thử (test suite), xác nhận AMI hoạt động đúng và đảm bảo an toàn (secure).
  5. Cuối cùng, AMI được phân phối (distribute) — có thể phân phối tới nhiều Region khác nhau cùng lúc.
Lưu ý khi thi: EC2 Image Builder = "dây chuyền sản xuất" tự động cho AMI: build → test → distribute, giúp đảm bảo mọi AMI mới đều được kiểm thử trước khi đưa vào sử dụng, và có thể lặp lại theo lịch mà không cần con người can thiệp thủ công.

5. EC2 Instance Store

EBS Volume có hiệu năng khá tốt, nhưng vì là ổ đĩa mạng, nó vẫn có một giới hạn nhất định về độ trễ và tốc độ so với một ổ đĩa vật lý gắn trực tiếp. Khi bạn cần hiệu năng đọc/ghi (I/O) cực cao, vượt trên khả năng của EBS, AWS có EC2 Instance Store — đây là ổ đĩa phần cứng vật lý, gắn trực tiếp vào máy chủ vật lý đang chạy EC2 instance của bạn.

Ví dụ thực tế: Một hệ thống xử lý dữ liệu big data cần một khu vực "scratch" tốc độ cực cao để ghi các file tạm trong lúc tính toán, sau đó chỉ cần lưu kết quả cuối cùng ra S3 hoặc EBS. Việc dùng Instance Store cho khu vực scratch này giúp tăng tốc xử lý đáng kể mà không lo mất dữ liệu quan trọng, vì dữ liệu tạm này vốn không cần giữ lại sau khi job hoàn tất.
Lưu ý khi thi: Ghi nhớ cặp đối lập: EBS = network drive, persist được, chậm hơn một chút; Instance Store = physical drive, hiệu năng rất cao, nhưng mất dữ liệu khi Stop/Terminate.

6. Amazon EFS – Elastic File System

Tất cả các loại lưu trữ đã nói ở trên (EBS, Instance Store) đều chỉ gắn được vào một instance duy nhất tại một thời điểm. Nhưng nếu bạn có hàng trăm EC2 instance và muốn tất cả chúng cùng đọc/viết vào một hệ thống file dùng chung — giống như một "ổ đĩa mạng chia sẻ" trong văn phòng — bạn cần đến Amazon EFS (Elastic File System).

EFS là một dịch vụ NFS (Network File System) được AWS quản lý hoàn toàn (managed), có thể được mount (gắn) đồng thời trên hàng trăm EC2 instance cùng lúc.

Về mặt hình ảnh, hãy tưởng tượng: bạn có các EC2 instance nằm rải rác ở us-east-1a, us-east-1b, us-east-1c, và tất cả chúng đều kết nối tới cùng một EFS File System thông qua các mount target được đặt trong từng AZ (được bảo vệ bởi Security Group).

Ví dụ thực tế: Một hệ thống quản lý nội dung (CMS) chạy trên nhiều EC2 instance đứng sau Load Balancer, tất cả cần truy cập cùng một thư mục chứa hình ảnh người dùng upload. Nếu dùng EBS, mỗi instance sẽ có bản riêng, không đồng bộ. Với EFS, mọi instance đều đọc/viết vào cùng một hệ thống file dùng chung, đảm bảo dữ liệu luôn nhất quán dù có bao nhiêu instance đang chạy.
Lưu ý khi thi: Từ khóa nhận diện EFS trong đề thi: "chia sẻ file giữa nhiều EC2 instance", "hệ thống file dùng chung", "NFS", "Linux, multi-AZ".

7. So sánh EBS và EFS

Đây là một trong những so sánh hay bị hỏi nhất trong đề thi CLF-C02, vì hai dịch vụ này rất dễ nhầm lẫn (cả hai đều là "lưu trữ gắn với EC2"). Bảng dưới đây tổng hợp sự khác biệt cốt lõi:

Đặc điểmEBSEFS
Phạm vi hoạt độngMột Availability Zone duy nhấtTự nhiên hỗ trợ đa AZ (multi-AZ), có mount target ở mỗi AZ
Số instance gắn cùng lúcChỉ một instanceNhiều instance cùng lúc (hàng trăm)
Di chuyển giữa AZPhải tạo Snapshot rồi khôi phục ở AZ khácKhông cần — vốn đã multi-AZ
Hệ điều hành hỗ trợLinux & WindowsChỉ Linux
Chi phíThấp hơnCao hơn (khoảng gấp 3 lần EBS gp2)
Mô hình tính tiềnTrả theo dung lượng đã cấp phát (provisioned)Trả theo dung lượng thực tế dùng (pay per use)

Tóm lại: nếu bạn cần một ổ đĩa riêng cho một máy chủ, gắn liền với nó suốt vòng đời — EBS là lựa chọn hợp lý và tiết kiệm hơn. Nhưng nếu bạn cần nhiều máy chủ cùng chia sẻ, cùng đọc/viết vào một nơi lưu trữ — EFS là câu trả lời đúng.

Lưu ý khi thi: Câu hỏi kiểu "cần chia sẻ file giữa 500 EC2 instance chạy Linux trong 3 AZ" → chắc chắn là EFS, không phải EBS (vì EBS chỉ gắn được 1 instance và bị khóa AZ).

8. EFS Infrequent Access (EFS-IA)

Không phải toàn bộ file trong hệ thống EFS của bạn đều được truy cập thường xuyên — có những file cũ, ít ai đụng tới, nhưng bạn vẫn phải trả tiền lưu trữ cho chúng ở mức giá tiêu chuẩn. EFS-IA (Infrequent Access) là một storage class (tầng lưu trữ) được tối ưu về chi phí cho các file không được truy cập hàng ngày.

Ví dụ thực tế: Một hệ thống lưu trữ tài liệu nội bộ công ty có hàng triệu file, nhưng chỉ khoảng 10% được truy cập thường xuyên (tài liệu năm hiện tại), còn lại là tài liệu cũ ít ai mở lại. Với Lifecycle Policy chuyển file không truy cập sau 60 ngày sang EFS-IA, công ty giảm đáng kể chi phí lưu trữ mà không phải thay đổi cách ứng dụng hoạt động.

9. Amazon FSx: Windows File Server & Lustre

EFS rất mạnh, nhưng nó chỉ hỗ trợ Linux và dùng giao thức NFS. Nếu bạn cần một hệ thống file dùng chung cho Windows, hoặc cần hiệu năng siêu cao cho các tác vụ tính toán khoa học, AWS cung cấp Amazon FSx — dịch vụ cho phép bạn khởi chạy các hệ thống file bên thứ ba hiệu năng cao, được AWS quản lý hoàn toàn (fully managed).

FSx có 3 biến thể chính:

Amazon FSx for Windows File Server

Đây là một hệ thống file được quản lý hoàn toàn, đáng tin cậy và có khả năng mở rộng, được xây dựng dựa trên nền tảng Windows File Server — tức là dành riêng cho các workload của Windows. Nó hỗ trợ giao thức SMB và hệ thống file Windows NTFS — hai công nghệ chuẩn mà mọi máy Windows đều hiểu.

Ví dụ minh họa: một FSx for Windows File Server được đặt trải trên 2 Availability Zone trong một Region, có thể được một EC2 instance trên AWS truy cập, và đồng thời được một máy Windows client trong trung tâm dữ liệu của công ty truy cập qua giao thức SMB, dùng đường dẫn dạng \\fs-xxxx.example.com\share — giống hoàn toàn cách nhân viên vẫn quen dùng để mở "ổ đĩa chia sẻ" trên Windows.

Amazon FSx for Lustre

Cái tên "Lustre" được ghép từ hai từ "Linux" và "cluster" — cho thấy rõ mục đích: đây là hệ thống file được thiết kế cho các bài toán tính toán hiệu năng cao (High Performance Computing - HPC).

Lưu ý khi thi: Ghi nhớ nhanh: nghe "Windows, SMB, Active Directory" → nghĩ tới FSx for Windows File Server; nghe "HPC, Machine Learning, tích hợp S3, hiệu năng siêu cao" → nghĩ tới FSx for Lustre.

10. Mô hình trách nhiệm chung với lưu trữ EC2

Cũng như với EC2 nói chung, việc lưu trữ dữ liệu cho EC2 cũng tuân theo mô hình trách nhiệm chung:

AWS chịu trách nhiệm

Bạn chịu trách nhiệm

Nói cách khác: AWS đảm bảo "hạ tầng lưu trữ bên dưới hoạt động ổn định và an toàn về mặt vật lý", còn bạn phải tự lo "chiến lược backup, mã hóa, và hiểu đúng bản chất của từng loại lưu trữ" để tránh mất dữ liệu ngoài ý muốn.

Tổng kết chương

← Chương trước Chương sau →