15. Elastic File System (EFS)



Sau Object Storage (S3) và Block Storage (EBS), cùng tìm hiểu về File Storage trên AWS: Elastic File System (EFS).

Trong bài này:

Elastic File System (EFS) được AWS xây dựng dựa trên giao thức NFS, cho phép truy cập và kết nối đến các hệ thống tệp (file system) qua mạng, giống như kết nối trực tiếp bằng ổ cứng hay các thiết bị lưu trữ.

Người dùng tạo hệ thống tệp trên EFS, rồi truy cập từ EC2 Instance chạy hệ điều hành Linux. Lưu ý, EFS không hỗ trợ Instance chạy Windows (nếu muốn sử dụng File Storage trên Windows, hãy dùng FSx).

Với EFS, nhiều Instance có thể cùng lúc kết nối và chia sẻ dữ liệu trên cùng một hệ thống tệp tin, khác với EBS chỉ cho phép một ổ EBS kết nối với một Instance duy nhất tại một thời điểm.

1. Phân loại EFS

Dựa theo khả năng phục hồi, các hệ thống tệp trên EFS được chia thành hai loại: Regional (theo Vùng) và One Zone (trên một AZ).

1.1. Regional EFS

Loại hệ thống tệp này sao lưu dữ liệu trên nhiều AZ, bảo đảm tính khả dụng khi một AZ gặp sự cố.

Regional EFS

Hình trên minh hoạ cấu trúc của Regional EFS. Giả sử tại một Region, ta có một VPC với CIDR 10.0.0.0/16, trong đó có 3 subnet tương ứng tại 3 AZ.

Một hệ thống tệp theo Vùng được triển khai trên EFS, với Mount Target được cấp cho mỗi AZ (nếu một AZ có nhiều subnet, Mount Target chỉ được tạo ở một subnet). Mount Target cung cấp địa chỉ IPv4 có thể sử dụng để kết nối với hệ thống tệp từ bên trong VPC. Ví dụ, subnet A có Mount Target A địa chỉ 10.0.0.15, Instance 1 và 2 trên subnet này có thể kết nối đến IP này (cùng thời điểm) để truy cập hệ thống tệp. Tương tự, subnet B có Mount Target B địa chỉ 10.0.16.15, Instance 3 trên subnet này có thể truy cập hệ thống tệp dùng địa chỉ này. Hoàn toàn có thể kết nối đến Mount Target ở AZ khác, ví dụ, Instance 4 ở subnet C có thể kết nối đến Mount Target B để truy cập hệ thống tệp. Tuy nhiên, cách này không được khuyến khích, vì độ trễ và chi phí truyền dữ liệu sẽ cao hơn.

Mount Target được AWS quản lý, mặc định có độ khả dụng cao, người dùng chỉ cần kết nối đến IP tương ứng và sử dụng, không cần tính toán đến khi thiết kế khả năng phục hồi và chịu lỗi của ứng dụng.

Một lợi ích khác của EFS là do kết nối bằng IP qua VPC, hoàn toàn có thể truy cập hệ thống tệp từ mạng nội bộ của doanh nghiệp (on-premise). Chỉ cần kết nối mạng on-premise với VPC qua VPN hoặc Direct Connect, rồi sử dụng Mount Target bất kỳ.

1.2. One Zone EFS

Như tên gọi, hệ thống tệp này chỉ được lưu trên một AZ, trong trường hợp AZ xảy ra sự cố, có khả năng dữ liệu sẽ bị mất.

One-Zone EFS

Ngoài ra, do chỉ nằm trên một AZ, chỉ có một Mount Target được cấp. EC2 Instance ở AZ khác cũng có thể kết nối đến qua Mount Target này, chỉ chịu chi phí và độ trễ cao hơn.

2. Hiệu năng của EFS

2.1. Các Chế độ Hiệu năng

Về độ trễ, EFS cung cấp hai chế độ:

  • General Purpose: có độ trễ thấp và là mặc định khi tạo các hệ thống tệp.
  • Max I/O: được thiết kế cho các ứng dụng cần song song hoá cao, chịu được độ trễ lớn. Ít khi được sử dụng.

2.2 Các Chế độ Băng thông

EFS cung cấp 3 chế độ băng thông: Elastic, Provisioned, và Bursting.

  • Elastic: EFS tự động điều chỉnh băng thông tăng hoặc giảm phù hợp với tác vụ. Được khuyến khích cho các các vụ với yêu cầu băng thông khó đoán, đột ngột,
  • Provisioned: người dùng tự cài đặt mức băng thông cho hệ thống tệp. Sử dụng khi dự đoán được yêu cầu băng thông của hệ thống.
  • Bursting: phù hợp với các ứng dụng cần băng thông tăng theo dung lượng lưu trữ trong hệ thống tệp.

Dưới đây là thông số hiệu năng ở chế độ General Purpose, với các loại hệ thống tệp và chế độ băng thông khác nhau:

Loại hệ thống tệp Chế độ băng thông Độ trễ đọc Độ trễ ghi IOPS tối đa (đọc) IOPS tối đa (ghi) Băng thông đọc tối đa (toàn hệ thống) Băng thông ghi tối đa (toàn hệ thống) Băng thông tối đa mỗi Instance
Regional Elastic Thấp nhất 250 µs Thấp nhất 2.7 ms 900,000–2,500,000 500,000 20–60 GiBps 1–5 GiBps 1,500 MiBps
Regional Provisioned Thấp nhất 250 µs Thấp nhất 2.7 ms 55,000 25,000 3–10 GiBps 1–3.33 GiBps 500 MiBps
Regional Bursting Thấp nhất 250 µs Thấp nhất 2.7 ms 35,000 7,000 3–5 GiBps 1–3 GiBps 500 MiBps
One Zone Elastic, Provisioned, Bursting Thấp nhất 250 µs Thấp nhất 1.6 ms 35,000 7,000 3 GiBps 1 GiBps 500 MiBps

Ghi chú: băng thông tối đa toàn hệ thống là tổng băng thông cung cấp cho các EC2 Instance (hay client),

3. Các Lớp Lưu trữ trên EFS

Giống như S3, AWS cũng cung cấp nhiều lớp lưu trữ trên EFS để tối ưu chi phí tuỳ vào tần suất truy cập dữ liệu.

  • EFS Standard: dùng cho dữ liệu được truy cập thường xuyên. Là lớp mặc định, độ trễ thấp nhất. Chi phí lưu trữ tại thời điểm viết bài, ở Region us-east-1, loại Regional, chế độ Elastic Throughput là $0.3/GB/tháng.
  • EFS Infrequent Access (IA): dùng cho dữ liệu truy cập ít cỡ vài lần trong quý. Chi phí lưu trữ tương ứng là $0.016/GB/tháng, rẻ hơn gần 19 lần EFS Standard.
  • EFS Archive: dùng cho dữ liệu truy cập ít cỡ vài lần một năm. Chi phí lưu trữ tương ứng là $0.008/GB/tháng, rẻ hơn gần 38 lần EFS Standard.

AWS tự động cấu hình Lifecycle cho dữ liệu lưu trên EFS theo các policy sau:

  • Chuyển dữ liệu đến EFS IA: sau 30 ngày kể từ lần cuối truy cập.
  • Chuyển dữ liệu đến EFS Archive: sau 90 ngày kể từ lần cuối truy cập.
  • Chuyển dữ liệu đến EFS Standard: Không. Mặc định, dữ liệu sẽ không được chuyển lại về EFS Standard một khi đã đến IA hoặc Archive. Nếu muốn, có thể đổi policy này thành On first access.

Người dùng cũng có thể tự cấu hình Lifecycle trên EFS theo ý muốn, hỗ trợ cả trên giao diện web và CLI.

Tài liệu tham khảo

  1. Network File System (NFS)
  2. EFS là gì?
  3. EFS hoạt động như thế nào?
  4. Hiệu năng của EFS
  5. Chi phí sử dụng EFS

Vậy là ta đã tìm hiểu xong 3 dịch vụ lưu trữ phổ biến trên AWS: Object Storage (S3), Block Storage (EBS), và File Storage (EFS). Hãy tiếp tục chuỗi bài về EC2 và xem xét các cách thuê EC2 hay dùng.

Nếu có câu hỏi, bạn có thể nhắn mình trên fanpage hoặc group. Cảm ơn bạn.