Amazon EFS is an implementation of the Network File System (NFSv4) delivered as a service. File systems can be created and mounted on multiple Linux instances at the same time. Use EFS when you need a “file system” that can be accessed from multiple instances (e.g., shared media, home folders, documentation, shared logs).
1. Highly available, scalable file system:
- Spans multiple Availability Zones
- Throughput for parallel workloads: Big Data, Analytics, Media Processing, Content Management, Web Serving
2. Shared data store that can be mounted to multiple EC2 instances or on-premises servers:
- For on-premises servers, use AWS Direct Connect or AWS VPN
3. Linux-only; Windows is not supported
4. Two performance modes:
- General Purpose – the default and suitable for 99% of needs)
- Max I/O – designed for when a large number of instances [as in, hundreds] need to access the file system. Scales throughput and IOPS (slightly higher latencies)
- Burst to 100 MiB/s for any size file system
- Larger than 1 TiB = bursting 100 MiB/s per TiB of data stored
- Credit system: Earns credits at 50 MiB/s per TiB of data stored
6. Security groups should be used to control NFS traffic
- Use the EC2 security group as the source
7. Supports encryption at rest and in transit
8. Storage classes and lifecycle management:
- Infrequent Access (IA)
- Lifecycle management automatically moves files to IA not accessed for 30 days
- Its base entity is a file system.
- The file system is accessed via “mount targets” that are placed in subnets inside a VPC and have an IP address. The file system is “mounted” on Linux instances
- File systems are accessible from a VPC or from on-premises locations via a VPN or Direct Connect.
EFS metric data is sent to CloudWatch at one-minute intervals and retained for 15 months.