AWS S3 Storage
AWS S3 - Simple Storage Service
AWS S3 (Simple Storage Service) is a scalable, durable, and secure cloud storage service by Amazon Web Services (AWS).
Key Features
- S3 is an object storage service.
- It allows uploading any type of file (documents, images, videos, backups, etc.).
- Unlimited storage capacity, but the maximum file size per object is 5 TB.
- Highly durable, storing data across multiple AWS data centers.
- Supports fine-grained access control using AWS Identity and Access Management (IAM) policies and bucket policies.
- Encryption options for secure data storage.
How AWS S3 Works?
AWS S3 stores data as objects inside buckets.
Each object consists of:
- Data – The actual content of the file.
- Metadata – Information about the file (size, type, last modified, etc.).
- Key – A unique identifier for the object inside a bucket.
A bucket is a container for storing objects and must have a globally unique name.
Users interact with S3 via:
- AWS Management Console
- AWS CLI (Command Line Interface)
- AWS SDKs for different programming languages
AWS S3 Storage Classes
AWS S3 offers multiple storage classes designed for different access patterns and cost optimizations:
1. S3 Standard
- Best for frequently accessed data.
- Stores data in at least three Availability Zones.
- High durability and availability.
2. S3 Standard-IA (Infrequent Access)
- Designed for data that is accessed less often but needs quick retrieval.
- Lower cost than S3 Standard, but retrieval costs are higher.
3. S3 One Zone-IA
- Stores data in one Availability Zone instead of three.
- Cheaper than Standard-IA but less durable.
4. S3 Intelligent-Tiering
- Automatically moves objects between Standard and Infrequent Access based on access patterns.
- Helps optimize costs for unpredictable access.
5. S3 Glacier
- Low-cost storage for long-term archiving.
- Retrieval time: minutes to hours.
6. S3 Glacier Deep Archive
- Lowest-cost storage class for archival data.
- Retrieval time: up to 12 hours.
Data Security & Access Control
- Bucket Policies & IAM Roles allow fine-grained permissions.
- Encryption (Server-side and Client-side) ensures data security.
- Versioning helps track changes and recover older versions of objects.
- Access Logs & Event Notifications provide monitoring and alerts.