Amazon S3 Overview
Amazon S3 is a scalable, object-based storage service with a variety of features and configurations designed for durability, security, and performance.
Key Features
- Object-based storage with unlimited capacity.
- Maximum object size of up to 5TB.
- Buckets are private by default.
- Access Controls: Object ACLs, bucket policies, and MFA for write operations.
- Provides HTTP status codes for operations.
- Amazon S3 scales automatically on-demand.
S3 Example JSON Response
{
"Bucket": "example-bucket",
"Region": "ap-southeast-5",
"StorageClass": "STANDARD"
}
S3 Storage Classes
Storage Class | SLA | Use Case | Description |
---|---|---|---|
Standard | 99.9% | Frequently accessed data | General-purpose storage for frequently accessed data. |
Standard-IA | 99.9% | Infrequent access data that requires high durability | Lower cost for data that’s accessed less frequently but requires rapid access when needed. |
One Zone-IA | 99.5% | Infrequent access within a single AZ | Low-cost storage for infrequent access, stored in a single Availability Zone. |
Glacier Flexible Retrieval | 99.99% | Long-term archival with minutes-to-hours retrieval | Archival storage with flexible retrieval options ranging from minutes to hours. |
Glacier Deep Archive | 99.99% | Long-term archival with infrequent access | Lowest-cost storage, suitable for long-term data retention with retrieval times of up to 12 hours. |
Intelligent Tiering | 99.9% | Data with unpredictable access patterns | Automatically moves data between tiers based on usage to optimize costs. |
Glacier Instant Retrieval | 99.99% | Archive storage with instant retrieval | Archive storage with instant retrieval for rarely accessed data that still needs quick access. |
S3 Storage Class Example
{
"StorageClass": "INTELLIGENT_TIERING",
"Transition": {
"Days": 30,
"StorageClass": "GLACIER"
}
}
Source: Amazon S3 SLA and Storage Classes
Data Management and Security
- Versioning: Supports object versioning to maintain multiple object versions.
- Cannot disable once enabled on a bucket.
- Lifecycle policies available to manage versions and optimize storage costs.
- S3 Object Lock for compliance and data immutability (WORM – Write Once, Read Many).
- Governance Mode: Special permissions required to delete.
- Compliance Mode: Immutable; no one can alter or delete data.
S3 Versioning provides object protection but must be used with caution as it cannot be disabled once activated.
Additional Features
- Server-Side Encryption with KMS: Secure objects with AWS KMS, although subject to encryption limits.
- Byte-Range Fetches: Allows segmented downloads to improve download speeds for large files.
- Multi-Part Uploads: Allows segmented uploads.
Multi-Part Uploads are highly recommended for large files, especially when the file size exceeds 100MB. For files larger than 5GB, they are compulsory.