AWS EFS – Elastic File System
EFS is an acronym for elastic file system. AWS EFS is a network file system which is managed and is able to be mounted on more than one ec2 instance
Elastic file system is available to many ec2 instances in one or more Availability Zones and therefore allows multiple EC2 instances to share data.
AWS EFS is scalable, highly available but more expensive than EBS and you pay for what you use.
EFS has a security group attached to it and then the EFS will then be able to be attached to ec2 instances across multiple Availability Zones.
Is important to note EFS is only compatible with Linux AMI as it leverages the Linux POSIX file system and not Windows AMI.
The use cases for EFS are for web servers, contact management, data sharing and online blogs.
EFS uses NFSv4.1 protocol and requires a security group to control access to the EFS.
Encryption is provided using AWS-KMS and the file system is able to scale automatically so you do not have to reserve capacity
EFS performance and storage.
EFS is able to scale to use thousands of NFS clients and can grow to petabyte-scale automatically.
EFS is available in two modes:
Performance mode is set when you create the EFS.
There are two types of performance modes:
General Purpose which is more geared towards general purpose such as web servers, content management systems etc.
Maximum IO is available if you are trying to perform a Big Data workload on EFS. This mode comes at a cost of high latency but it does provide high throughput and is used in scenarios such as big data and media processing.
There are two types of Throughput modes:
Bursting which is set at 1 Terabyte = 50 Megabyte with a burst of up to 100 Megabytes per second
Provisioned is where you specify the throughput regardless of the storage size. As an example, where an EC2 instance has a very small filesystem and requires a very high throughput then use Provisioned Mode for EFS.
EFS supports storage tiers which is essentially a lifecycle management feature where you’re able to move files to a different tier after a set amount of days.
There are two modes of storage tiers:
- Standard which is used for frequently accessed files
- Infrequent access (EFS-IA) for files which are not accessed frequently. It will cost money to retrieve files but is much cost effective to store the files