Amazon S3: Basics
Amazon Simple Storage Service (S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance. Transitioning from traditional block storage to object storage allows you to store and protect any amount of data for a range of use cases.
📦 Core Concepts: Buckets & Objects
Unlike a traditional file system with folders and files, S3 uses a flat structure of Buckets and Objects.
- Buckets: Fundamental containers for data. Bucket names are globally unique across all AWS accounts.
- Objects: The fundamental entities stored in S3. An object consists of data, a key (its unique identifier), and metadata.
- Keys: The full path to the object (e.g.,
uploads/images/profile.jpg).
⚡ S3 Storage Classes
Optimize your costs by choosing the right storage class based on how often you need to access your data.
| Storage Class | Use Case | Durability | Availability |
|---|---|---|---|
| S3 Standard | Frequently accessed data (Active data). | 99.999999999% | 99.99% |
| S3 Standard-IA | Infrequently accessed but needs rapid access. | 99.999999999% | 99.9% |
| S3 One Zone-IA | Non-critical, infrequent data (Cheaper). | 99.999999999% | 99.5% |
| S3 Glacier | Long-term archive (Retrieval in mins/hours). | 99.999999999% | 99.9% |
| S3 Glacier Deep Archive | Multi-year archiving (Retrieval in 12-48 hrs). | 99.999999999% | 99.9% |
| Intelligent-Tiering | Automatically moves data between tiers. | 99.999999999% | 99.9% |
đź’Ž Key Features of S3
1. Unmatched Durability
S3 is designed for "11 Nines" (99.999999999%) durability, meaning your data is redundantly stored across multiple devices in a minimum of three Availability Zones (AZs) within an AWS Region.
2. Versioning
Enabling Versioning allows you to keep multiple variants of an object in the same bucket. This provides a safety net against accidental deletions or overwrites.
3. Static Website Hosting
You can configure an S3 bucket to host a static website (HTML, CSS, JS, Images). This is a highly scalable and cost-effective alternative to running a web server.
4. Security & Access Control
- Block Public Access: A cluster-level setting to ensure no data is accidentally exposed.
- Bucket Policies: JSON-based access control rules.
- Encryption: Automatically encrypts data at rest via SSE-S3 or SSE-KMS.
[!NOTE] S3 is Region-Specific! While bucket names are global, the bucket itself lives in a specific AWS Region. Choose the region closest to your users for the lowest latency.