DEV Community

Le Huy Ho
Le Huy Ho

Posted on

Learning AWS - DVA - Day 4: EFS (Elastic File System)

What is Amazon EFS - Elastic File System?

Elastic File System is a managed NFS (Network File System). And because it's a network file system, it can be mounted on many EC2 instances.

EFS works with EC2 instances in multi-AZ => that's the whole power of EFS.

So it's highly available, scalable. It's expensive (about 3x the cost of gp2 EBS volume) and you pay per use.

Amazon EFS supports the Network File System version 4 (NFSv4.1 and NFSv4.0) protocol.

Amazon EFS provides file-system-access semantics, such as strong data consistency and file locking. Amazon EFS also supports controlling access to your file systems through Portable Operating System Interface (POSIX) permissions (~Linux) => *Compatible with Linux based (not Windows) *

We uses security groups to control access to EFS. NFS client access to EFS is controlled by both AWS Identity and **Access Management (IAM) **policies and network security policies, such as security groups.

Amazon EFS supports two forms of encryption for file systems: encryption in transit **and encryption at **rest. You can enable encryption at rest when creating an Amazon EFS file system. If you do, all of your data and metadata is encrypted. You can enable encryption in transit when you mount the file system.


EFS - Performance

EFS Scale

You can get 1000s of concurrent NFS clients and >10GB/s thoughput.

And you can grow to Petabyte-scle network file system automatically.

Performance Mode

You can also set Performance Mode at the EFS creation time and you have several options:

  • General Purpose (default) - for latency-sensitive use case such as Web Server, CMS, ...

  • Max I/O - higher latency, throughput, highly parallel such as Big Data, Media Processing.

Througput Mode

We have different options:

  • Bursting - 1TB = 50MB/s + burst of up to 100MB/s

  • Provisioned - when you want to set your throughput regardless of storage size, ex: 1GB/s for 1TB storage

  • Elastic - To make things a little bit simpler, you have Elastic Throughput Mode to automatically scale the throughput up and down based on your workloads. => Used for unpredictable workloads


EFS - Storage Classes

Storage Tiers (lifecycle management feature - move file after N days):

  • Standard: for frequently accessed files/

  • Infrequent access (EFS-IA): cost to retrieve files, lower price to store.

  • Archive: rarely accessed data (few times each year), 50% cheaper.

Implement lifecycle policies to move file between storage tiers

Avalability and Durability:

  • Standard: Multi-AZ, great for production applications.

  • One ZOne: One AZ, greate for development, backup enabled by default, compatible with IA (EFS One Zone - IA)

Top comments (0)