Amazon S3 Overview
S3 stands for Simple Storage Service.
Amazon’s object-based storage service is designed for uploading data files. It’s not suitable for installing operating systems, but works well for applications like Dropbox that store various file types in cloud-based filesystems.
Storage capacity is effectively unlimited, supporting files from 0 bytes to 5 terabytes. Amazon continues expanding backend storage capacity as needed.
When uploading files to S3, they’re saved in a Bucket — similar to a folder or repository containing subfolders and files. Because S3 operates as a worldwide namespace, each bucket name must be globally unique.
URL format: https://s3-<region>.amazonaws.com/<bucketname>
Example: https://s3-eu-west-2.amazonaws.com/mybucketname
Reading and writing data to and from S3
New uploads have Read-after-Write consistency — files are instantly accessible worldwide once successfully written.
Updates or deletions have Eventual consistency — changes may take time to propagate. If your S3 file is cached on edge sites, updates or deletions may not appear immediately depending on your location.
Data in S3 uses one of 4 storage classes:
- Standard S3 — most durable; for regularly accessed data requiring quick retrieval.
- S3 Infrequently Accessed — for files accessed infrequently but still needed.
- S3 Reduced Redundancy Storage — for replicable data like thumbnails or auto-generated documents where loss isn’t critical.
- Glacier — low-cost archival storage; data access takes 3–5 hours.
Files store with these attributes:
- Key — the filename.
- Value — the file data.
- Version ID — tracks current versions if versioning is enabled; stores all versions (even deleted ones) for backups; works with MFA.
- Metadata — information about upload times, last access, etc.
Data lifecycle management
Configure older S3 data to move through storage classes for cost savings. Old, unread data can be archived to Glacier.
Current and past file versions are managed through lifecycle policies. After at least 30 days, migrate files to S3 IA, then to Glacier after another 30 days in IA. These timeframes are user-configurable but must be at least 30 days each — files require a minimum of 60 days in S3 + IA before moving to Glacier.