Triển khai AWS EFS để share filesystem giữa hai EC2 Instance – Cuongquach.com | Bạn đã từng phải setup một filesystem share giữa các máy chủ Linux như NFS ?! Bạn ngại phải bỏ thời gian cấu hình và bảo trì 1 con EC2 làm nhiệm vụ NFS ? Vậy thì bạn có thể trải nghiệm dịch vụ AWS EFS của AWS. Nhưng mà mình khuyên là các bạn nên trải nghiệm thử vì tính năng AWS EFS chỉ có lợi khi bạn share dữ liệu dung lượng lớn, lúc này AWS mới mở limit đọc ghi IO cho EFS Share của bạn.
1. Khởi tạo AWS Elastic File System (EFS)
Trước tiên bạn nên quy hoạch tạo sẵn Security Group (SG) cho EFS của bạn. Gồm SG dành cho EFS Client, là SG dùng để apply phía dưới EC2 Instance.

Và SG dành cho AWS EFS Share, là SG dùng để apply phía AWS EFS.

Đăng nhập vào AWS Console , chọn dịch vụ Elastic File System (EFS). Chọn “Create file system” để khởi tạo một filesystem mới.
Bạn chọn các Subnet nằm ở các AZ khác nhau, bên cạnh đó là Security Group cho EC2 Instance giao tiếp NFS với dịch vụ EFS. Như vậy bạn nên quy hoạch trước đó các thông tin này.
Kế đến bạn sẽ khai báo các thông tin cấu hình cơ bản :
- Add tags : đặt một số tag thông tin mà bjan mong muốn.
Những phần còn lại bạn có thể sử dụng các option mặc định, hoặc tham khảo thông tin liên quan về option đó ở cùng dòng miêu tả chức năng.

Review thông tin EFS của bạn lần cuối, rồi chọn ‘Create File System‘.

Cuối cùng thì EFS Share của bạn đã được khởi tạo hoàn tất.

2. Cấu hình EC2 Instance mount EFS
Bạn sẽ cần cài đặt tool hỗ trợ kết nối mount NFS trên các OS EC2 Instance.
+ Amazon Linux
# yum install -y amazon-efs-utils
+ CentOS/RHEL
# yum install -y nfs-utils
+ Ubuntu
# apt-get install nfs-common
Sau khi cài đặt xong công cụ cần thiết thì chúng ta sẽ tiến hành mount EFS vào EC2 Instance. Bạn tạo một thư mục chứa mount point dành cho EFS, tuỳ ý thích của bạn.
# mkdir -p /mnt/efs/
Tiến hành mount AWS EFS với thông tin EFS DNS NAme hiển thị ở trang quản lý EFS vào thư mục ‘/mnt/efs/‘.
DNS Name EFS: fs-ec0d8xxx.efs.ap-southeast-1.amazonaws.com
# mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 fs-ec0d8xxx.efs.ap-southeast-1.amazonaws.com:/ /mnt/efs/
Kế đến bạn kiểm tra xem đã mount thành công hay chưa ? Như thông tin dưới là đã xong rồi nhé.
# df -h Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p1 100G 4.0G 97G 4% / devtmpfs 1.8G 0 1.8G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 193M 1.7G 11% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs 373M 0 373M 0% /run/user/1000 fs-ec0d8xxx.efs.ap-southeast-1.amazonaws.com:/ 8.0E 0 8.0E 0% /mnt/efs
Bạn cũng có thể cấu hình để khi EC2 Instance reboot sẽ tự động mount EFS.
# vi /etc/fstab fs-ec0d81ad.efs.ap-southeast-1.amazonaws.com:/ /mnt/efs/ nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 0 0
Nếu bạn gặp bất kì vấn đề với EFS và EC2 Client thì bạn có thể tham khảo tại : https://docs.aws.amazon.com/efs/latest/ug/troubleshooting.html
Nguồn: https://cuongquach.com/