Site logo
Tác giả
  • avatar Nguyễn Đức Xinh
    Name
    Nguyễn Đức Xinh
    Twitter
Ngày xuất bản
Ngày xuất bản

AWS EFS là gì? Hướng dẫn chi tiết về Amazon Elastic File System

🧭 Giới thiệu

Amazon EFS (Elastic File System) là dịch vụ lưu trữ file linh hoạt được quản lý hoàn toàn bởi AWS, cho phép nhiều máy chủ EC2 truy cập đồng thời vào cùng một hệ thống tệp. EFS được thiết kế để tự động mở rộng dung lượng lưu trữ khi bạn thêm hoặc xóa dữ liệu mà không cần quản lý thủ công dung lượng ổ đĩa.

EFS phù hợp cho các ứng dụng web, phân tích dữ liệu, container, và machine learning, nơi cần chia sẻ dữ liệu chung giữa nhiều instance.


🧩 Đặc điểm chính của AWS EFS

  1. Fully Managed (Quản lý hoàn toàn): AWS tự động xử lý việc bảo trì, mở rộng, và sao lưu, giúp người dùng tập trung vào ứng dụng thay vì hạ tầng.

  2. Tự động mở rộng (Elastic): EFS tự động tăng hoặc giảm dung lượng lưu trữ mà không cần cấu hình trước.

  3. Hỗ trợ giao thức NFS (Network File System): EFS sử dụng chuẩn NFS v4 – dễ dàng mount và chia sẻ giữa nhiều EC2 instance.

  4. High Availability & Durability: Dữ liệu được sao chép trong nhiều Availability Zones (AZs) trong cùng một Region để đảm bảo an toàn.

    👉 Tương tác với Availability Zones (AZs): Amazon EFS cung cấp hai loại hệ thống tệp (file system type):

    • Regional file systems: Lưu trữ dữ liệu trên nhiều AZ để đảm bảo tính sẵn sàng cao (high availability).
    • One Zone file systems: Lưu trữ dữ liệu dự phòng trong một AZ duy nhất, giúp giảm chi phí so với bản Regional.

    Loại file system bạn chọn sẽ quyết định mức độ chịu lỗi (resilience)cách tạo mount target:

    • Với Regional file system, bạn có thể tạo mount target trong tất cả AZs.
    • Với One Zone file system, bạn chỉ có một mount target duy nhất trong AZ được chọn.
  5. Hiệu suất cao: Cung cấp nhiều chế độ hiệu suất như General PurposeMax I/O để phù hợp với từng loại workload.


⚙️ Cách hoạt động của AWS EFS

AWS EFS cung cấp một file system có thể được mount đồng thời bởi nhiều máy chủ EC2 trong cùng VPC. Các EC2 này đọc/ghi dữ liệu thông qua giao thức NFS, giống như chia sẻ một ổ đĩa mạng nội bộ.

Quy trình hoạt động:

  1. Tạo EFS file system trong AWS Console.
  2. Cấu hình mount target trong từng Availability Zone.
  3. Kết nối (mount) EFS vào các EC2 instance bằng lệnh NFS.
  4. Ứng dụng có thể đọc/ghi file như trong hệ thống tệp truyền thống.

💡 AWS EFS có thể làm gì?

  • Lưu trữ dữ liệu được chia sẻ giữa nhiều EC2 instance.
  • Làm shared storage cho ứng dụng web hoặc container (ECS, EKS).
  • Lưu file log, dữ liệu người dùng, hoặc file huấn luyện AI/ML.
  • Làm persistent volume cho Kubernetes.
  • Dự phòng dữ liệu và phục hồi sau thảm họa.

🚀 Use Cases phổ biến

Use Case Mô tả
Web Server Cluster Nhiều EC2 chia sẻ chung mã nguồn hoặc file người dùng.
Machine Learning Training Dữ liệu huấn luyện được chia sẻ giữa nhiều node.
ECS/EKS Shared Storage Dùng EFS làm storage backend cho container.
Data Analytics Chia sẻ dữ liệu giữa các job xử lý lớn.
Content Management Systems (CMS) Hỗ trợ WordPress, Joomla hoặc Drupal trên nhiều server.

🧠 Best Practices

  1. Chọn Performance Mode phù hợp:

    • General Purpose cho latency thấp.
    • Max I/O cho khối lượng truy cập lớn.
  2. Sử dụng Lifecycle Policy: Tự động chuyển dữ liệu ít truy cập sang EFS Infrequent Access (EFS-IA) để tiết kiệm chi phí.

  3. Mã hóa dữ liệu: Bật encryption at restin transit để bảo vệ dữ liệu.

  4. Quản lý quyền truy cập: Dùng Security GroupsIAM policies để kiểm soát kết nối.

  5. Sử dụng cùng với AWS Backup: Để dễ dàng sao lưu và khôi phục toàn bộ hệ thống file.


🔍 So sánh AWS EFS với các dịch vụ tương tự

Dịch vụ Loại lưu trữ Đặc điểm nổi bật Trường hợp sử dụng
Amazon EFS File Storage (chia sẻ) Mount được nhiều EC2, hỗ trợ NFS Web/App cluster, container
Amazon EBS Block Storage Hiệu suất cao, gắn 1:1 với EC2 Database, OS volume
Amazon S3 Object Storage Lưu trữ dữ liệu dạng object, tích hợp tốt với dịch vụ AWS khác Backup, Data Lake
Amazon FSx Managed File System (Windows/Lustre) Tối ưu cho môi trường Windows hoặc HPC File server, HPC workload

🧩 Ví dụ thực tế

Tình huống: Một công ty triển khai ứng dụng web sử dụng nhiều EC2 instance chạy song song để tăng khả năng chịu tải. Để đảm bảo tất cả instance truy cập cùng một thư mục upload, họ sử dụng EFS làm storage chung.

Kết quả:

  • Dữ liệu đồng bộ giữa các EC2.
  • Hệ thống mở rộng dễ dàng khi tăng số lượng server.
  • Không cần cấu hình replication thủ công.

🏁 Kết luận

Amazon EFS là giải pháp lưu trữ file linh hoạt, hiệu suất cao, và dễ sử dụng cho hạ tầng AWS. Với khả năng tự động mở rộng, bảo mật tích hợp, và hỗ trợ nhiều ứng dụng, EFS đặc biệt phù hợp cho các ứng dụng web, container, và ML workloads.

👉 Nếu bạn cần shared file system trong môi trường AWS — EFS là lựa chọn hàng đầu nhờ tính đơn giản và đáng tin cậy.