Skip to main content

01. S3 Overview

Amazon S3 (Simple Storage Service) is one of the core building blocks of AWS. It provides infinitely scalable object storage, used for data backup, hosting, analytics, and integrations with other AWS services.

Amazon S3 is a managed storage service that allows you to store and retrieve any amount of data from anywhere.


Key Features:

  • High durability and availability
  • Virtually unlimited scalability
  • Integration with other AWS services

🌍 Common Use Cases

Use CaseDescription
🗂️ Backup & StorageStore files and data backups reliably.
🌀 Disaster RecoveryReplicate data across regions for failover protection.
🏛️ Archival StorageStore infrequently accessed data using S3 Glacier.
🔗 Hybrid Cloud StorageExtend on-premises storage to AWS.
🧠 Data LakeCentralized data repository for analytics and machine learning.
🌐 Static Website HostingHost static sites directly from S3.
📦 Software DeliveryDistribute software updates or binaries.
🎥 Media HostingStore and serve images, videos, and documents.

🪣 Buckets in Amazon S3

All files in Amazon S3 are stored in buckets, which act like top-level directories.

Key Points

  • Amazon S3 allows people to store objects (files) in “buckets” (directories).
  • Bucket names must be globally unique across all AWS accounts and regions.
  • S3 looks like a global service but buckets are created in specific AWS region

Bucket Naming Rules

Rule
No uppercase letters or underscores (_)
3-63 characters long
Not an IP
Must start with a lowercase letter or number
Allowed characters: lowercase letters, numbers, and hyphens

📦 Objects and Keys

An S3 Object is the fundamental data entity stored in Amazon S3.

Each object consists of:

  • Key – the unique identifier (like a file path)
  • Value – the data/content
  • Metadata – system or user-defined info
  • Tags – key-value pairs for classification
  • Version ID – unique ID for each version (if versioning is enabled)

🔑 Object Keys

  • Each object in a bucket has a unique key (its full path):
    • s3://my-bucket/my_file.txt
    • s3://my-bucket/my_folder1/another_folder/my_file.txt
  • The key = prefix + object name
    • Prefix: my_folder1/another_folder/
    • Object name: my_file.txt
  • No real directories exist, S3 uses flat storage.
  • The AWS Console simulates folders using / in object keys.

📦 Object / Values

  • The value is the content (object iteself) of the file.
  • Maximum Object Size: 5 TB (5000 GB)
  • Single PUT upload limit: 5 GB
  • For larger files → use Multi-Part Upload (uploads in parts for reliability and speed).

🚀 Summary

ConceptDescription
BucketContainer for objects
KeyFull path name of an object
ObjectFile content + metadata
RegionBuckets exist in a specific AWS region
Use CasesBackup, data lake, static hosting, archival, analytics, etc.

🧠 Key Takeaways

  • S3 provides scalable, durable, and flexible object storage.
  • Buckets are regional but names are globally unique.
  • Objects are stored and accessed using keys (paths).
  • Use Multipart Upload for files larger than 5 GB.
  • S3 supports metadata, tagging, and versioning for efficient management.