AWS Storage Types: Object, Block, and File Storage Characteristics
Storage types with associated characteristics (for example, object, file, block)
AWS Storage Types: Object, Block, and File Storage Characteristics
This guide explores the fundamental storage architectures available in the cloud, specifically mapping them to AWS services like Amazon EBS, S3, and EFS/FSx. Understanding these characteristics is critical for the SAA-C03 exam.
Learning Objectives
After studying this guide, you should be able to:
- Differentiate between block, file, and object storage architectures.
- Identify the appropriate AWS service (EBS, EFS, FSx, S3) for specific technical requirements.
- Analyze workloads to determine if they require low-latency (block), shared-hierarchy (file), or massive-scale (object) storage.
- Map access protocols (NFS, SMB, HTTP, iSCSI) to their respective storage types.
Key Terms & Glossary
- Block Storage: Data is broken into fixed-size chunks (blocks) without metadata; managed by an Operating System (OS).
- Object Storage: Data is stored as discrete units (objects) in a flat address space, including the data, metadata, and a unique identifier.
- File Storage: Data is organized in a hierarchical structure of folders and files.
- IOPS (Input/Output Operations Per Second): A performance metric for block storage measuring how many reads/writes occur per second.
- POSIX: A set of standards for maintaining compatibility between operating systems, often required for file-level storage.
- NFS (Network File System): A protocol used primarily by Linux for shared file access.
The "Big Idea"
In AWS, the choice of storage is a trade-off between performance (latency), access patterns (shared vs. local), and scalability (cost/capacity). Block storage is like a raw hard drive attached to one computer; File storage is like a shared network folder for a team; Object storage is like a massive, infinite digital warehouse where every item has a unique barcode.
Formula / Concept Box
| Feature | Block (EBS) | File (EFS/FSx) | Object (S3) |
|---|---|---|---|
| Unit of Storage | Data Blocks | Files in Folders | Objects in Buckets |
| Access Pattern | Single Instance (mostly) | Multiple Instances | Web API (HTTP/HTTPS) |
| Latency | Ultra-low (Microseconds) | Low (Milliseconds) | Moderate |
| Scalability | Manual/Elastic Volumes | Auto-scaling (Elastic) | Virtually Infinite |
| Common Use | Databases, Boot Volumes | Shared User Home Directories | Media Hosting, Backups |
Hierarchical Outline
- I. Block Storage (Amazon EBS)
- Structure: Divided into blocks; requires a filesystem (NTFS/ext4) to be usable by an OS.
- Connectivity: Low-latency, high-performance; usually attached to one EC2 instance at a time.
- Volume Types: SSD (IOPS intensive) and HDD (Throughput intensive).
- II. File Storage (Amazon EFS & FSx)
- Structure: Hierarchical directory tree; supports concurrent access from many instances.
- Protocols: EFS uses NFS (Linux); FSx for Windows uses SMB.
- Characteristics: POSIX-compliant; data is stored across multiple Availability Zones for durability.
- III. Object Storage (Amazon S3)
- Structure: Flat hierarchy using Buckets and Keys; no "folders" (prefixes are used to simulate them).
- Metadata: Each object can have up to 2KB of metadata (system and user-defined).
- Access: Accessed via REST API (GET/PUT); globally accessible via URL.
Visual Anchors
Storage Selection Decision Tree
Conceptual Architecture
\begin{tikzpicture}[scale=0.8] % Block Storage \draw[thick] (0,3) rectangle (3,4) node[midway] {\small Block 1}; \draw[thick] (0,2) rectangle (3,3) node[midway] {\small Block 2}; \draw[thick] (0,1) rectangle (3,2) node[midway] {\small Block 3}; \node at (1.5,4.5) {\textbf{Block (EBS)}};
% File Storage \draw[thick] (5,4) -- (4,3); \draw[thick] (5,4) -- (6,3); \draw[thick] (4,3) -- (3.5,2); \draw[thick] (4,3) -- (4.5,2); \node[draw,circle,inner sep=1pt] at (5,4) {\tiny root}; \node at (5,4.5) {\textbf{File (EFS)}};
% Object Storage \draw[thick, fill=gray!20] (9,2.5) circle (1.2); \node at (9,2.8) {\tiny Data}; \node at (9,2.2) {\tiny Metadata}; \node at (9,4.5) {\textbf{Object (S3)}}; \end{tikzpicture}
Definition-Example Pairs
- Metadata: Data about data. Example: An S3 object for an image might contain metadata specifying the camera model used and the date the photo was taken.
- Shared File System: A storage system that allows multiple servers to read/write simultaneously. Example: 10 different web servers all accessing the same 'images' folder to display product photos on a website via EFS.
- Ephemeral Storage: Non-persistent storage that is lost if an instance is stopped. Example: EC2 Instance Store used for temporary buffers and caches.
Worked Examples
Scenario 1: High-Performance Database
Requirement: You are running a PostgreSQL database on an EC2 instance that requires sub-millisecond latency for transaction logs. Solution: Amazon EBS (Provisioned IOPS SSD).
- Why? Databases require block-level access to manage their own data structures and need the lowest possible latency which only block storage provides.
Scenario 2: Massive Media Archive
Requirement: A company needs to store 500 TB of video files that are rarely accessed but must be available within minutes if requested. Solution: Amazon S3 (S3 Glacier Instant Retrieval).
- Why? S3 provides the scale needed for 500 TB without managing volumes, and Glacier tiers offer significant cost savings for infrequently accessed data.
Checkpoint Questions
- Which storage type uses a REST API (HTTP) for data retrieval instead of a local filesystem mount?
- True or False: Amazon EFS can be accessed by both Linux and Windows instances using the NFS protocol.
- What is the maximum size of metadata that can be attached to an S3 object?
- If you need to share a file system between multiple EC2 instances using the SMB protocol, which service should you use?
▶Click to see answers
- Object Storage (Amazon S3).
- False. EFS is for Linux (NFS). For Windows (SMB), use Amazon FSx.
- 2 KB.
- Amazon FSx for Windows File Server.