DEV Community

Wakeup Flower
Wakeup Flower

Posted on

Aws S3 or EFS ?

The requirement is:

  1. Store less frequently accessed files.
  2. Files need to be concurrently accessed by hundreds of EC2 instances.
  3. Must provide immediate access (no retrieval delay).
  4. Must be cost-effective.

❓Why Amazon EFS is the right answer (and not Amazon S3):

Feature Amazon EFS (Elastic File System) Amazon S3 (Simple Storage Service)
Access Method File system (POSIX-compliant) – NFS Object storage – API-based (HTTP/HTTPS)
Concurrent EC2 Access ✅ Natively supports 1000s of EC2 instances ❌ Needs extra logic/tools (e.g., mounting via S3FS, not recommended)
Latency / Access Time Millisecond latency, immediate file access Millisecond latency, but not suitable for file system workloads
Designed For Shared file system for Linux apps Object storage, backup, archive, big data, etc.
Cost Efficiency for Infrequent Access ✅ EFS Infrequent Access (IA) tier is cost-effective ✅ S3 Standard-IA is cost-effective
POSIX Compliance ✅ Yes ❌ No

🔍 Key reason why it's not S3:

Even though S3 is cheaper in some cases (like backups), S3 is not a file system. It is object storage. While it can store .txt, .json, etc., it is not designed for:

  • Mounting directly to EC2 like a shared drive.
  • Concurrent read/write from hundreds of EC2s as if it's a shared disk.

Using tools like s3fs to mount S3 is not recommended in production due to:

  • Limited performance,
  • Lack of full POSIX compliance,
  • No file locking, and
  • Increased complexity.

Top comments (0)