AWS Storage Services
Objects, blocks and files — the storage trinity
S3 for objects, EBS for instance disks, EFS/FSx for shared files, Glacier for archive. Picking the right store is about granularity, latency, durability and price.
What you will learn
- Map storage models (object/block/file/archive) to workloads
- Explain S3 durability and availability semantics
- Design tiering and lifecycle policies
S3 is unlimited durable objects you key by name; EBS is a virtual disk attached to a VM; EFS is a shared network filesystem; Glacier is ultra-cheap long-term archive with slow retrieval.
What is this?
S3 (Simple Storage Service) stores objects (data + metadata) in buckets, designed for high durability (11 nines) with versioning and lifecycle tiers. EBS provides network-attached block volumes for EC2 with types for IOPS (gp3/io2) or throughput (st1/sc1). EFS and FSx offer filesystems shared across instances/AZ. S3 storage classes — Standard, Intelligent-Tiering, Standard-IA, OneZone-IA, Glacier, Deep Archive — trade cost for access latency.
Why do you need it?
- Object storage is the ingestion hub: logs, images, backups and data lakes all land in buckets.
- Block storage is where VMs and databases live — low latency, persistent, resizable.
- File storage serves shared estate that needs POSIX semantics (home dirs, shared configs).
- Lifecycle tiering quietly cuts archive bills 90%+ while keeping data retrievable.
Mental model
A filing cabinet of labeled boxes, a hard disk, and a shared library
S3, EBS, EFS
S3: put labeled box #123 in the cabinet (bucket) and fetch it by label anytime. EBS: the hard disk inside one PC — fast, attached, yours. EFS: the shared library shelf everyone uses, no personal drives needed.
How it works
- S3 buckets hold objects; each object has a key, ETag and metadata; S3 is strongly consistent for reads after writes.
- Versioning keeps prior object versions; lifecycle rules move or expire objects between classes automatically.
- EBS volumes attach to one EC2 instance at a time (unless multi-attach) and snapshot to S3 for backup/DR.
- EFS scales to thousands of NFS clients across AZs; FSx offers Windows (SMB) and Lustre flavors.
- Access control: bucket policies, IAM, ACLs, presigned URLs, and encryption at rest with SSE-S3/SSE-KMS/SSE-C.
AWS storage models mapped to use cases.
In production
- A data lake stores raw Parquet in S3 Standard-IA with a 90-day lifecycle to Glacier, cutting storage spend 75%.
- An EKS cluster mounts EFS for shared read-write between replicas; each pod's stateful DB uses EBS.
- A media pipeline ingests uploads to S3, transcodes via Lambda, and serves originals via CloudFront with signed URLs.
Best practices
- Encrypt everything at rest and set versioning + lifecycle from day one.
- Separate public/private buckets structurally — never put objects in a public bucket 'temporarily'.
- Choose EBS types by IOPS/latency for databases and throughput for analytics; use snapshots for backup, not as a tier.
- Use transition rules for cold data and be careful with deleted-marker lifecycle gotchas.
Common mistakes
- Using S3 as a hot filesystem — it's object storage with higher latency and no POSIX.
- Putting a database's data on default EBS without sizing IOPS, then hitting latency walls.
- Forgetting egress: S3 → internet costs money; host consumers in-region or use CloudFront.
- Enabling versioning only after a deletion incident — enable it before.
Common issues
Object 'not found' after a versioned overwriteYou're reading a deleted clock or a non-latest version
List versions; restore the last-good version or implement object lock / no-delete markers.
EFS mount hangs after an AZ changeMount target in the removed AZ is gone; DNS walk stopped
Use the EFS DNS name that resolves across AZs and keep mount targets in surviving AZs.
Volume resized in console but OS still shows old sizeThe filesystem/partition wasn't extended after volume resize
Grow the partition (growpart) and filesystem (resize2fs) while attached and online.
Debugging tips
- Object missing? Check versions, the bucket/object policy for the identity, and lifecycle deletion events.
- Slow S3 downloads? Benchmark in-region vs out-region and check large-key multi-part GET behavior.
- EBS full? Monitor volume utilization and auto-expand, or add volumes behind LVM.
- 'NFS server not responding' on EFS → check mount target security groups in every AZ.
Interview checkpoint
Hands-on lab
- Create and version an S3 bucket
- Demonstrate strong consistency on read-after-write
- Define a lifecycle rule and preview its steps
Prove S3 Consistency and Lifecycle Behavior
30 min · intermediate
Quick quiz
Which AWS storage service attaches to exactly one EC2 instance at a time with the lowest latency?
Where do you put a 7-year archive of rarely-read payment records?