Skip to content

Elastic File System

When to use EFS ?

Compared to block storage and object storage, file storage is ideal for use cases in which a large number of services and resources need to access the same data at the same time.

Amazon Elastic File System is a scalable file system used with AWS Cloud services and on-premises resources.

As you add and remove files, Amazon EFS grows and shrinks automatically. It can scale on demand to petabytes without disrupting applications.

  • Sun created NFS (which is a distributed File System). EFS is an implementation for NFS file share

  • EFS is designed to provide serverless, fully elastic file storage that lets you share file data without provisioning or managing storage capacity and performance

  • It is a great way of sharing the files between the two instances.

  • Unlike the EBS where we have to define/provision space, in the EFS we do not need to do that as they are backed by S3.

  • It can support thousands of concurrent EFS connections

  • Data is stored across multiple AZ’s in a region.

  • Read after write consistency.

Protocol support for Icon-Architecture/64/Arch_Amazon-EFS_64

Amazon EFS supports the Network File System version 4 (NFSv4.1 and NFSv4.0) protocol, so the applications and tools that you use today work seamlessly with Amazon EFS.

EFS is accessible across most types of Amazon Web Services compute instances, including Amazon EC2, Amazon ECS, Amazon EKS, AWS Lambda, and AWS Fargate.

Storage Classes 🎛️

  1. EFS: for Linux based systems that need the distributed storage.

  2. Amazon FSx for Windows: When you need storage for windows-based systems for Sharepoint, SQL Server, etc.

  3. Amazon FSx for Lustre: For HPC and ML in windows env. It can store data on S3.

AWS currently offers file storage using 5 different services. These services are divided into two categories - Amazon's own cloud native file storage - Amazon FSx file storage offerings: FSx stands for "file system X". These offering implement managed files storage using the commonly available file systems for on-premises solutions.

Each file service offers different feature sets to meet your requirements.

  1. Amazon Elastic File System (Amazon EFS) is a multi-Availability Zone file storage service that uses NFS access protocol.

  2. Amazon FSx for Lustre is built using the Lustre file system and is designed for high performance computing (HPC) and machine learning (ML) workloads. FSx for Lustre uses the Lustre client's POSIX-compliant access protocol.

  3. Amazon FSx for Windows File Server is built using Windows File Server. The access protocol is Server Message Block (SMB) and designed for your Microsoft applications and Windows workloads.

  4. Amazon FSx for NetApp ONTAP is built using the NetApp ONTAP operating system and is designed to provide both NetApp block and file storage. The access protocols are iSCSI for block storage, NFS and SMB for file storage.

  5. Amazon FSx for OpenZFS fully managed shared file storage built on the OpenZFS file system. With Amazon FSx for OpenZFS, you can migrate your on-premises OpenZFS storage to AWS with minimal effort. You can use the same access protocols now in the AWS Cloud.

Storage Types 📋

Regional file systems (recommended) store data redundantly across multiple geographically separated Availability Zones within the same AWS Region.

Storing data across multiple Availability Zones provides continuous availability to the data, even when one or more Availability Zones in an AWS Region are unavailable.

One Zone ⛳️

One Zone file systems store data within a single Availability Zone. Storing data in a single Availability Zone provides continuous availability to the data.

In the unlikely case of the loss or damage to all or part of the Availability Zone, however, data that is stored in these types of file systems might be lost.


Was this page helpful?
-->