Day 3: Deep Dive into Amazon EFS (Elastic File System) – Shared Storage in AWS

AkankshaAkanksha
3 min read

Today was all about learning and implementing Amazon EFS β€” a fully managed, scalable, and serverless file system offered by AWS. This was one of the most interesting parts of my DevOps journey so far because it ties directly into real-world infrastructure where high availability and scalability are critical.


What is Amazon EFS?

Amazon EFS (Elastic File System) is a cloud-native, NFS-based file system that you can mount to multiple EC2 instances across different Availability Zones. It’s designed for scalability, shared access, and automatic storage management.

Unlike EBS (Elastic Block Store), which can be attached to only one EC2 instance at a time, EFS allows concurrent access from multiple EC2s, making it perfect for applications like:

  • Web servers (e.g., WordPress)

  • Shared CMS platforms

  • Scalable file-based workloads

  • Container storage (Kubernetes volumes)


πŸ“Š EBS vs EFS: My Key Learnings

FeatureEBSEFS
TypeBlock StorageFile Storage (NFS)
Instance AttachmentSingle EC2Multiple EC2s
ScalabilityManualAutomatic
PerformanceBased on volume size/typeGeneral Purpose / Max I/O
Use CasesDatabases, boot volumesWeb content, media, shared apps
AccessOne AZMulti-AZ

πŸ”‘ Conclusion: Use EFS when you need shared access, and EBS when you need high-speed single-instance performance (like databases).


πŸ—οΈ Hands-on Lab – Creating and Mounting EFS

Here’s what I did step-by-step using AWS Free Tier:

βœ… Step 1: Created an EFS File System

  • Navigated to the EFS section in the AWS Console

  • Chose default VPC and enabled mount targets across 2 AZs

βœ… Step 2: Launched Two EC2 Instances

  • Used Amazon Linux 2 AMIs

  • Placed both in the same VPC and AZs as the EFS

βœ… Step 3: Installed NFS Utilities

sudo yum install -y nfs-utils

βœ… Step 4: Mounted the EFS on Each EC2

sudo mkdir /mnt/efs
sudo mount -t nfs4 -o nfsvers=4.1 fs-xxxxxx.efs.ap-south-1.amazonaws.com:/ /mnt/efs

βœ… Step 5: Verified Shared Access

  • Created a file from Instance A

  • It instantly appeared in Instance B β€” super cool to see shared storage in real time!


🧠 What I Learned

  • EFS is ideal for shared, distributed file systems

  • Mount Targets must be created in each Availability Zone

  • NFS protocol runs on port 2049 β€” your security group must allow it

  • Throughput can be bursting or provisioned, depending on workload


πŸ’Ό Why It Matters to My DevOps Career

This was more than just a lab β€” it gave me insight into:

  • Real production design patterns

  • Using Linux + AWS together efficiently

  • How shared infrastructure works for scalable apps

As someone actively working toward a role in Cloud/DevOps Engineering, mastering EFS gives me the confidence to talk about high-availability architectures and even design them from scratch.


If you’re a recruiter or engineer looking for DevOps talent who is serious, hands-on, and documenting every step of the journey, I’d love to connect!

Thanks for reading! Let’s keep building β€” one service at a time.

1
Subscribe to my newsletter

Read articles from Akanksha directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Akanksha
Akanksha