All guides
Practice now
D2 · Design for New Solutions

Advanced storage: S3, EBS, EFS and FSx

The SAP-C02 evaluates picking the right storage for each workload, including S3's advanced features (classes, replication, Object Lambda), EBS types, and when to use EFS vs FSx for shared file systems.

Icon-Architecture/48/Arch_Amazon-Simple-Storage-Service_48

Advanced S3 — storage classes and lifecycle management

ClassRetrieval latencyStorage costBest for
S3 Standardms$$$$Frequently accessed data. Websites, active apps.
S3 Standard-IAms$$$Infrequent access but needs fast retrieval. Recent backups.
S3 One Zone-IAms$$Infrequent access + tolerant of AZ loss. Data copies. 20% cheaper than Standard-IA.
S3 Intelligent-Tieringms – min$$$Unpredictable access patterns. Automatically moves between tiers with no overhead.
Glacier Instant Retrievalms$$Medical records, compliance data rarely accessed but needing ms latency.
Glacier Flexible Retrieval1–12h (Expedited: min)$Archives and backups with occasional access. Expedited for emergencies.
Glacier Deep Archive12–48h$ (cheapest)Long-term archiving (7-10 years). Compliance, historical data never accessed.
S3 Reduced Redundancy (legacy)ms$$$DEPRECATED — use Standard-IA. Only mentioned in older questions.

S3 Lifecycle Policies

Automatic transitions between classes and object expiration based on time or versions.

  • Transition: Standard → Standard-IA (min 30 days in Standard)
  • Transition: Standard-IA → Glacier (min 30 days in Standard-IA)
  • Expiration: delete objects after N days
  • Non-current versions: archive or delete previous versions
  • Incomplete multipart uploads: clean up abandoned parts (meaningful savings)

S3 Replication

CRR (Cross-Region Replication)Automatically replicates objects between buckets in DIFFERENT regions. For DR, reducing latency for global users, data compliance.
SRR (Same-Region Replication)Replicates between buckets in the SAME region. For log aggregation, test/prod sync, compliance requiring multiple copies in the same region.
Replication Time Control (RTC)Guarantees 99.99% of objects replicate within 15 minutes. With SLA and CloudWatch metrics. For strict RPO.
Batch ReplicationReplicates existing objects (not just new ones). For initial migration or re-sync.

S3 Object Lambda — transforms data on the fly

S3 Object Lambda intercepts S3 GET requests and calls a Lambda function to transform the object before returning it to the requester. No separate copies of the data. Use cases: redacting PII (card number → ****), converting formats (XML → JSON), enriching with DynamoDB metadata, resizing images on the fly.

Icon-Architecture/48/Arch_Amazon-Simple-Storage-Service_48

S3 Performance — advanced optimization

S3 Transfer Acceleration

Speeds up uploads to S3 using CloudFront's edge locations. The client uploads to the nearest edge, then the data travels over the AWS backbone (faster than the public internet) to S3.

  • • Up to 50-500% faster for uploads from global locations
  • • Different endpoint: bucket.s3-accelerate.amazonaws.com
  • • Extra cost per GB transferred
  • • Bigger benefit for distances >1000 km from the bucket

S3 Multipart Upload

Splits large objects into parts uploaded in parallel. Recommended for files over 100 MB, required for files over 5 GB.

  • • Up to 10,000 parts of 5 MB to 5 GB each
  • • Parallel part upload = higher throughput
  • • Retry only the failed part (not the whole object)
  • • S3 consolidates the parts after the upload completes
  • • Lifecycle policy to clean up incomplete parts (avoids costs)

S3 prefix performance — using many prefixes isn't an anti-pattern

S3 automatically scales to 3,500 PUT/COPY/POST/DELETE and 5,500 GET/HEAD requests per second PER PREFIX. If you have a bucket with millions of objects and need higher throughput, spreading objects across multiple prefixes gives N × 3,500/5,500 req/sec. The limit is per prefix, not per bucket.

Icon-Architecture/48/Arch_Amazon-Elastic-Block-Store_48

EBS — volume types for the SAP-C02

TypeMax IOPSMax throughputBest for
gp3 (general SSD)16,000 IOPS (independent of size)1,000 MB/sBoot volumes, general apps, dev/test. Replaces gp2. IOPS/throughput independently configurable.
gp2 (legacy SSD)3 IOPS/GB, max 16,000250 MB/sLegacy. Migrate to gp3 for lower cost and more flexibility.
io2 Block Express256,000 IOPS4,000 MB/sCritical databases needing sub-ms latency and high durability (99.9999%).
io1/io264,000 IOPS1,000 MB/sOracle, SQL Server, Cassandra DBs with high IOPS. Provisioned IOPS independent of size.
st1 (throughput HDD)500 IOPS500 MB/sData warehouses, log processing, streaming. High sequential throughput, low cost.
sc1 (cold HDD)250 IOPS250 MB/sInfrequently accessed data. Cheapest EBS option. Cold backups.

EBS Multi-Attach — io1/io2 only

EBS Multi-Attach lets an io1 or io2 volume attach to up to 16 EC2 instances in the SAME AZ simultaneously. The application must manage write concurrency (e.g., clustering with Oracle RAC). It doesn't work for sharing files between instances — use EFS for that.

Icon-Architecture/48/Arch_Amazon-EFS_48

Amazon EFS — shared NFS file system

Key features

  • NFS shared across thousands of EC2 instances and ECS/EKS containers simultaneously
  • Multi-AZ: data automatically distributed across multiple AZs
  • Elastic: scales automatically from GB to PB with no provisioning
  • Supports: Linux only (POSIX file system). No Windows.
  • Performance modes: General Purpose (low latency) and Max I/O (high throughput, higher latency)
  • Throughput modes: Bursting (scales with FS size), Enhanced/Provisioned (fixed throughput)
  • EFS Infrequent Access (IA): low-cost tier for rarely accessed files

EFS vs EBS — when to use each

Do multiple EC2 instances access the same filesystem?

→ EFS — native multi-instance sharing

Windows OS or Windows applications?

→ EBS or FSx for Windows (EFS is Linux only)

Boot volume for an EC2 instance?

→ EBS — EFS can't be a boot volume

Maximum disk performance (OLTP database)?

→ EBS io2 — lower latency and higher IOPS than EFS

Home directories shared across multiple AZs?

→ EFS — accessible from any AZ in the region

ECS Fargate containers with shared state?

→ EFS — the only shared storage option for Fargate

Icon-Architecture/48/Arch_Amazon-FSx_48

Amazon FSx — specialized file systems

FSx for Windows File Server

Managed SMB/CIFS, natively Windows-compatible. Active Directory integration. For Windows apps requiring file shares (DFS, SQL Server log shipping, Windows home directories).

  • • SMB protocol, NTFS filesystem
  • • Native AD integration (AWS Managed AD or on-prem AD)
  • • DFS replication support
  • • Multi-AZ with standby available

FSx for Lustre

High-performance file system for HPC, ML training and video processing. Native S3 integration for lazy loading of data.

  • • Sub-ms latency, hundreds of GB/s throughput
  • • S3 integration: data in S3 appears as files
  • • POSIX compliant (Linux)
  • • SSD or HDD depending on price/performance needs

FSx for NetApp ONTAP

Managed ONTAP features on AWS: NFS, SMB, iSCSI. Migrate on-premises NetApp workloads with no changes. Native Multi-AZ.

  • • NFS, SMB and iSCSI on the same filesystem
  • • SnapMirror for cross-region replication
  • • FlexClone for instant volume cloning
  • • Ideal for on-premises NetApp workloads → AWS

FSx for OpenZFS

Managed OpenZFS. Highly available NFS v3/v4 with native snapshotting, compression and deduplication. For Linux/Unix workloads using ZFS.

  • • Instant snapshots and clones
  • • Transparent compression and deduplication
  • • NFS v3/v4 protocol
  • • Migration of on-premises ZFS workloads
Icon-Architecture/48/Arch_Amazon-Simple-Storage-Service_48

Storage decision tree

Q1.

Unstructured objects with no directory structure (images, backups, data lake)?

→ S3

Q2.

Disk for a single EC2 instance (OS, database, app data)?

→ EBS (gp3 for general, io2 for high IOPS)

Q3.

Shared NFS filesystem across multiple Linux EC2/ECS?

→ EFS

Q4.

SMB/CIFS for Windows apps or Active Directory?

→ FSx for Windows File Server

Q5.

HPC, ML training, maximum filesystem throughput?

→ FSx for Lustre

Q6.

Migrating on-premises NetApp ONTAP workloads to AWS?

→ FSx for NetApp ONTAP

Q7.

Archiving very infrequently accessed data (7-10 years)?

→ S3 Glacier Deep Archive

Icon-Architecture/48/Arch_Amazon-Simple-Storage-Service_48

Common exam traps

Trap: "EFS works with Windows EC2"

Reality: FALSE. EFS only supports Linux/Unix (NFS protocol). For shared file systems on Windows, use FSx for Windows File Server.

Trap: "S3 Standard-IA charges for access — never use it for frequent data"

Reality: It does charge for retrieval, that's correct, but Standard-IA is perfect for data accessed less than once a month. If accessed more often, Standard is cheaper overall.

Trap: "EBS can be shared between instances in different AZs"

Reality: FALSE. EBS is zonal — it can only attach to instances in the same AZ. For sharing across AZs, use EFS. For sharing between instances in the same AZ, use EBS Multi-Attach (io1/io2 only).

Trap: "Glacier Deep Archive is the same as Glacier but just cheaper on storage"

Reality: The key difference is retrieval time: Glacier Instant Retrieval = ms, Glacier Flexible = 1-12h, Glacier Deep Archive = 12-48h. It's not just a price difference — it's a functional one.

Did you get this topic?

Test what you just learned

A company has a video rendering application running on 500 Linux EC2 instances in an Auto Scaling Group. All instances need simultaneous read/write access to the same video project files (several TB). Instances are frequently created and destroyed. What is the most appropriate storage solution?

Ready to test "Advanced Storage: S3, EBS, EFS and FSx"?

Put what you learned to the test with original SAP-C02 exam questions.

Start SAP-C02 mock exam

Unlimited mock exams with the Pro plan

Log in to track your progress.