AWS Solution Architect
Associate Certification Training
– Module 9
9. EFS (Elastic File System)
What is EFS
Amazon Elastic File System (Amazon EFS) provides a simple, scalable, elastic file system for Linux-based
workloads for use with AWS Cloud services and on-premises resources. It is built to scale on demand to
petabytes without disrupting applications, growing and shrinking automatically as you add and remove
files, so your applications have the storage they need – when they need it. It is designed to provide
massively parallel shared access to thousands of Amazon EC2 instances, enabling your applications to
achieve high levels of aggregate throughput and IOPS with consistent low latencies. Amazon EFS is a
fully managed service that requires no changes to your existing applications and tools, providing access
through a standard file system interface for seamless integration. There is a Standard and an Infrequent
Access storage class available with Amazon EFS. Using Lifecycle Management, files not accessed for 30
days will automatically be moved to a cost-optimized Infrequent Access storage class, giving you a
simple way to store and access active and infrequently accessed file system data in the same file system
while reducing storage costs by up to 85%. Amazon EFS is a regional service storing data within and
across multiple Availability Zones (AZs) for high availability and durability. You can access your file
systems across AZs, regions, and VPCs and share files between thousands of Amazon EC2 instances and
on-premises servers via AWS Direct Connect or AWS VPN.
Amazon EFS is well suited to support a broad spectrum of use cases from highly parallelized, scale-out
workloads that require the highest possible throughput to single-threaded, latency-sensitive workloads.
Use cases such as lift-and-shift enterprise applications, big data analytics, web serving and content
management, application development and testing, media and entertainment workflows, database
backups, and container storage.
Important: Amazon EFS is not supported on Windows instances.
Benefits
Dynamic Elasticity
Amazon EFS automatically and instantly scales your file system storage capacity up or down as you add
or remove files without disrupting your applications, giving you the storage you need – when you need
it. You simply create your file system and start adding files with no need to provision storage in advance.
Scalable Performance
Amazon EFS is designed to provide the throughput, IOPS, and low latency needed for Linux workloads.
Throughput and IOPS scale as a file system grows and can burst to higher throughput levels for short
periods of time to support the unpredictable performance needs of file workloads. For the most
demanding workloads, Amazon EFS can support performance over 10 GB/sec and up to 500,000 IOPS.
Shared file storage
Amazon EFS provides secure access for thousands of connections. Amazon EC2 instances and on-
premises servers can simultaneously access a shared Amazon EFS file system using a traditional file
permissions model, file locking capabilities, and hierarchical directory structure via the NFSv4 protocol.
Amazon EC2 instances can access your file system across AZs and regions while on-premises servers can
access using AWS Direct Connect or AWS VPN.
Fully Managed
Amazon EFS is a fully managed service providing shared file system storage for Linux workloads. It
provides a simple interface allowing you to create and configure file systems quickly and manages the
file storage infrastructure for you, removing the complexity of deploying, patching, and maintaining the
underpinnings of a file system.
Cost-effective
With Amazon EFS storage, you pay only for what you use. There is no need to provision storage in
advance and there are no minimum commitments or up-front fees. With Lifecycle Management, you can
automatically move files that have not been accessed for 30 days to a cost-optimized storage class,
reducing storage costs by up to 85%.
Security and compliance
Amazon EFS allows you to securely access your files using your existing security infrastructure. Control
access to your Amazon EFS file systems with POSIX permissions, Amazon VPC, and AWS IAM. Secure
your data by encrypting your data at rest and in transit. Amazon EFS also meets many eligibility and
compliance requirements to help you meet your regulatory needs.
Pricing
Within your first 12 months on AWS, you can use up to 5 GB/month for free.
After first 12 months, below is the price for 1 region as an example
Points to know about EFS
When you have an application that requires multiple virtual machines to access the same file
system at the same time, AWS EFS is a tool that you can use.
Think of EFS as a managed Network File System (NFS), that is easily integrated with other AWS
services like EC2 or S3.
By the way, S3 could neither be an alternative to a Network File System nor a replacement for
EFS... S3 is not a file system.
Sometimes when you think about using a service like EFS, you may also think about “Cloud Lock”
and its negative sides on your business but to reduce the Time To Market, increase productivity
and costs, EFS could be a good choice.
What I liked the more about EFS is the extreme simplicity to use it.
Creating an EFS file system can be done easily using the console or the CLI.
The replication of files between multiple availability zones in a region is insured automatically by
EFS.
EFS support encryption.
EFS is SSD based storage and its storage capacity and pricing will scale in or out as needed, so
there is no need for the system administrator to do additional operations. It can grow to a
petabyte scale.
Throughput and IOPS (Input/output operations per second) will be scaled according to how
much your storage will grow/shrink.
It is possible to use your EFS from your in-premise data center and attach your storage directly
to EFS using Direct Connect.
EFS is expensive compared to EBS (probably 10x more EBS pricing).
EFS is not the magical solution for all your distributed FS problems, it can be slow in many cases.
Test, benchmark and measure to insure your if EFS is a good solution for your use case.
EFS is only compatible with Linux, if you’re using another OS, find another solution..
Amazon EFS Use Cases
Amazon EFS is designed to meet the performance needs of the following use cases.
Big Data and Analytics
Amazon EFS provides the scale and performance required for big data applications that require high
throughput to compute nodes coupled with read-after-write consistency and low-latency file
operations.
Media Processing Workflows
Media workflows like video editing, studio production, broadcast processing, sound design, and
rendering often depend on shared storage to manipulate large files. A strong data consistency model
with high throughput and shared file access can cut the time it takes to perform these jobs and
consolidate multiple local file repositories into a single location for all users.
Content Management and Web Serving
Amazon EFS provides a durable, high throughput file system for content management systems that store
and serve information for a range of applications like websites, online publications, and archives.
Home Directories
Amazon EFS can provide storage for organizations that have many users that need to access and share
common data sets. An administrator can use Amazon EFS to create a file system accessible to people
across an organization and establish permissions for users and groups at the file or directory level.