Services at a glance
| Category | Services |
|---|---|
| Object | Amazon S3, S3 Glacier |
| Block | Amazon EBS, EC2 Instance Store |
| File | Amazon EFS (Linux), Amazon FSx (Windows, Lustre, NetApp, OpenZFS) |
| Backup / hybrid | AWS Backup, Storage Gateway, DataSync, Transfer Family, Snow Family |
| Relational | Amazon RDS, Amazon Aurora |
| NoSQL | DynamoDB, DocumentDB (Mongo), Keyspaces (Cassandra), Neptune (graph) |
| In-memory | ElastiCache (Redis / Memcached), MemoryDB, DynamoDB DAX |
| Analytics | Redshift (warehouse), Athena (SQL on S3), EMR, Glue, Kinesis, QuickSight |
| Ledger / time series | QLDB, Timestream |
Amazon S3 (Simple Storage Service)
Deep dive: AWS S3 Deep Dive (storage classes, lifecycle, versioning and Object Lock, encryption, access control, replication, performance).
Object storage with virtually unlimited capacity. Objects (up to 5 TB) live in buckets; bucket names are globally unique, buckets are regional. Designed for 99.999999999% (11 nines) durability.
- Object = key (the "path"), data, metadata, version id
- Upload > 5 GB must use multipart upload (recommended > 100 MB)
- Strong read-after-write consistency
Storage classes
| Class | Use | Notes |
|---|---|---|
| Standard | Frequent access | Default |
| Intelligent-Tiering | Unknown / changing access | Moves objects automatically |
| Standard-IA | Infrequent, rapid access | Retrieval fee, min 30 days |
| One Zone-IA | Infrequent, re-creatable | Single AZ, cheaper |
| Glacier Instant Retrieval | Archive, ms access | |
| Glacier Flexible Retrieval | Archive, minutes to hours | |
| Glacier Deep Archive | Long-term, cheapest | 12 hour retrieval |
Lifecycle rules transition or expire objects by age.
Features
- Versioning: keep every version, protects against overwrite/delete; MFA delete
- Replication: CRR (cross-region) and SRR (same-region), needs versioning
- Static website hosting
- Event notifications to Lambda, SQS, SNS, EventBridge
- Pre-signed URLs: time-limited access to a private object
- Object Lock (WORM), Glacier Vault Lock
- S3 Select / Athena: query data in place
- Transfer Acceleration: faster uploads via edge locations
Security
- Buckets are private by default; Block Public Access at account/bucket level
- Access via IAM policies, bucket policies, ACLs (legacy), access points
- Encryption: SSE-S3 (default), SSE-KMS, SSE-C, client-side
- Access logs and CloudTrail data events
$ aws s3 mb s3://my-unique-bucket-12345
$ aws s3 cp ./report.pdf s3://my-unique-bucket-12345/reports/
$ aws s3 sync ./site s3://my-unique-bucket-12345/ --delete
$ aws s3 presign s3://my-unique-bucket-12345/reports/report.pdf --expires-in 3600
Block and File Storage
Amazon EBS
Network-attached block volumes for EC2, AZ-scoped, persist independent of the instance.
| Type | Use |
|---|---|
| gp3 / gp2 | General-purpose SSD |
| io2 / io1 | Provisioned IOPS SSD, databases |
| st1 | Throughput HDD, big sequential data |
| sc1 | Cold HDD |
- Snapshots are incremental, stored in S3, copy across regions/accounts; restore to a new volume
- Encryption with KMS, Multi-Attach for io1/io2
- Instance store: physically attached, very fast, lost when the instance stops or fails
Amazon EFS
Managed NFS file system, elastic, shared by many instances across multiple AZs. Linux only. Classes: Standard, IA.
Amazon FSx
Managed third-party file systems: FSx for Windows (SMB, AD), Lustre (HPC), NetApp ONTAP, OpenZFS.
Hybrid and migration
- Storage Gateway: File / Volume / Tape gateway connecting on-prem to cloud storage
- DataSync: automated online transfer
- Snow Family: Snowcone / Snowball / Snowmobile for offline transfer
Relational Databases
Amazon RDS
Managed relational engines: MySQL, PostgreSQL, MariaDB, Oracle, SQL Server, Db2. AWS handles patching, backups and failover; you cannot SSH to the host.
- Multi-AZ: synchronous standby in another AZ for high availability / failover (not for scaling reads)
- Read replicas: asynchronous, up to 15, for read scaling, can be cross-region, can be promoted
- Automated backups (point-in-time restore, 1 to 35 days) and manual snapshots
- RDS Proxy: pools connections, vital for Lambda
- Storage auto scaling, encryption at rest with KMS, IAM database authentication
Amazon Aurora
Cloud-native MySQL/PostgreSQL-compatible engine. Up to 5x MySQL / 3x PostgreSQL throughput claimed.
- Storage replicated 6 copies across 3 AZs, grows automatically to 128 TB
- Up to 15 read replicas, sub-30 s failover
- Aurora Serverless v2: capacity scales automatically
- Global Database: cross-region replication, <1 s lag
Relational concepts are in the Relational db Concepts notes under Databases.
NoSQL and Other Databases
DynamoDB
Serverless key-value / document database with single-digit ms latency at any scale.
- Primary key: partition key, or partition + sort key
- Capacity modes: On-demand (pay per request) or Provisioned (RCU / WCU, with auto scaling)
- 1 RCU = one strongly consistent read of up to 4 KB per second (2 eventually consistent)
- 1 WCU = one write of up to 1 KB per second
- Indexes: GSI (different keys, any time) and LSI (same partition key, created at table creation)
- DynamoDB Streams feed Lambda; TTL expires items; Global Tables multi-region active-active
- PITR and on-demand backups; DAX in-memory cache for microsecond reads
- Prefer
QueryoverScan
$ aws dynamodb put-item --table-name Orders \
--item '{"OrderId":{"S":"1001"},"Total":{"N":"99.5"}}'
$ aws dynamodb get-item --table-name Orders --key '{"OrderId":{"S":"1001"}}'
Other
| Service | Fits |
|---|---|
| ElastiCache | Cache to offload DB reads; Redis (rich types, persistence, replication) vs Memcached (simple, multi-threaded) |
| DocumentDB | MongoDB-compatible documents |
| Neptune | Graph relationships |
| Keyspaces | Cassandra-compatible |
| Timestream | Time series, IoT metrics |
| QLDB | Immutable ledger |
| Redshift | Data warehouse, columnar, petabytes |
| Athena | Serverless SQL over S3 |
Caching strategies
- Lazy loading (cache-aside): populate on a miss; can serve stale data
- Write-through: update cache on every write; no staleness, more writes
Backup and Disaster Recovery Aids
- AWS Backup: central policy-based backups across EBS, RDS, DynamoDB, EFS, S3 and more
- Snapshots and cross-region copies
- See 7. AWS Solutions Architecture for DR strategies