- It is a managed NFS (network file system). It can be mounted on many EC2 instances
- EFS works with EC2 instances from multiple AZs
- Highly available, scalable
- It is expansive compared to EBS (3x gp2). It is pay per use, we only pay for what we use
- A security group should be attached to an EFS instance
- Multiple EC2 instances can access the files from an EFS instance in the same time
- Use cases for EFS: content management, web serving, data sharing
- Uses NFSv4.1 protocol
- EFS is only compatible with Linux based AMIs!
- EFS has a POSIX file system (because of Linux), that has a standard file API
- The EFS file system scales automatically, no capacity planning is required
- Encryption at rest for EFS is using KMS
- EFS Scale:
- EFS is designed for thousands of NFS clients for reading and writing content at the same time
- It provides 10+ GB/s throughput
- It can grow to petabyte of storage
- Performance modes (should be set at the time of creation)
- General purpose (default): used for latency-sensitive uses cases (web server, CMS)
- Max I/O - higher latency, higher throughput, recommended for highly parallel workflows (big data, media processing)
- Storage Tiers
- Standard: should be used for frequently accessed files
- Infrequent Access (EFS-IA): should be used for less frequently accessed files. Has lower price for storage, but imposes some additional costs if a file is accessed
- EFS provides a lifecycle management feature for the files (similar to S3)