Amazon S3¤
S3 là gì?¤
S3 (Simple Storage Service) là dịch vụ lưu trữ object của AWS. Bạn lưu file (object) vào bucket (tương tự thư mục gốc).
Điểm quan trọng:
- S3 trông có vẻ là global, nhưng bucket thực ra được tạo ở một region cụ thể
- Tên bucket phải unique toàn cầu (across all accounts, all regions)
- Không có khái niệm "thư mục con" thực sự – chỉ là key có dấu
/trong tên
Object & Key¤
- Key = đường dẫn đầy đủ, ví dụ:
s3://my-bucket/folder/file.txt - Key = prefix + object name
- Object size tối đa: 5 TB, nếu upload > 5 GB phải dùng multi-part upload
- Object có thể đính kèm: Metadata, Tags (tối đa 10), Version ID
S3 Security¤
| Loại | Mô tả |
|---|---|
| IAM Policy | Gắn vào user/role, kiểm soát quyền gọi API |
| Bucket Policy | JSON policy gắn vào bucket, dùng cho public access hoặc cross-account |
| ACL (Object/Bucket) | Kiểm soát chi tiết hơn, ít dùng hơn |
Nguyên tắc truy cập: IAM cho phép HOẶC Bucket Policy cho phép → được truy cập, TRỪ KHI có explicit DENY.
Block Public Access: Bật mặc định để ngăn data leak. Nên để ON nếu bucket không cần public.
S3 Bucket Policy – cấu trúc JSON¤
{
"Effect": "Allow" | "Deny",
"Principal": "*" | "arn:aws:iam::...",
"Action": ["s3:GetObject"],
"Resource": ["arn:aws:s3:::bucket-name/*"]
}
Dùng khi: cấp public access, force encrypt khi upload, grant cross-account access.
S3 Versioning¤
- Bật ở bucket level
- Cùng một key upload lại → tạo version mới (1, 2, 3…)
- File tồn tại trước khi bật versioning → version = null
- Suspend versioning không xóa version cũ
- Lợi ích: khôi phục file bị xóa nhầm, rollback
S3 Replication¤
Phải bật versioning ở cả source lẫn destination.
| Loại | Mô tả | Use case |
|---|---|---|
| CRR (Cross-Region) | Replication sang region khác | Compliance, giảm latency |
| SRR (Same-Region) | Replication trong cùng region | Log aggregation, dev/prod sync |
Copying là asynchronous, cần cấp IAM permission phù hợp.
S3 Storage Classes¤
| Storage Class | Availability | Đặc điểm | Use case |
|---|---|---|---|
| Standard | 99.99% | Latency thấp, throughput cao | Big data, gaming, CDN |
| Standard-IA | 99.9% | Truy cập không thường xuyên, cheaper | Backup, DR |
| One Zone-IA | 99.5% | Chỉ 1 AZ, mất data nếu AZ die | Backup thứ cấp, data có thể tái tạo |
| Glacier Instant | - | Retrieve millisecond, min 90 ngày | Data truy cập ~1 lần/quý |
| Glacier Flexible | - | Expedited 1-5 phút / Standard 3-5h / Bulk 5-12h | Archive |
| Glacier Deep Archive | - | Standard 12h / Bulk 48h, min 180 ngày | Long-term archive |
| Intelligent-Tiering | - | Tự động chuyển tier, không mất phí retrieve | Data có pattern truy cập thay đổi |
Durability: Tất cả class đều là 99.999999999% (11 nines) – dùng chung cho tất cả.
S3 Object Lock & Glacier Vault Lock¤
- WORM model = Write Once Read Many → không ai sửa/xóa được trong thời gian quy định
- Object Lock: khóa version cụ thể trong một khoảng thời gian
- Glacier Vault Lock: khóa policy, không thể thay đổi policy sau khi lock → dùng cho compliance
S3 Websites¤
Host static website trên S3. URL dạng: bucket-name.s3-website-[region].amazonaws.com
Nếu gặp lỗi 403 Forbidden → kiểm tra bucket policy có cho phép public read chưa.
S3 Access Logs¤
- Log toàn bộ request đến S3 (kể cả denied) → ghi vào một S3 bucket khác
- Dùng để audit, debug, phát hiện pattern bất thường
AWS Snow Family¤
Dùng khi transfer qua network mất hơn 1 tuần → dùng thiết bị vật lý.
| Thiết bị | Storage | Use case |
|---|---|---|
| Snowcone | 8 TB | Môi trường chật hẹp, khắc nghiệt |
| Snowball Edge Storage Optimized | 80 TB | Migration lớn |
| Snowball Edge Compute Optimized | 42 TB + GPU | ML/video processing tại edge |
| Snowmobile | 100 PB/xe | > 10 PB, exabyte-scale migration |
Edge Computing với Snow: chạy được EC2, Lambda (qua AWS IoT Greengrass) – dùng ở nơi không có internet ổn định.
OpsHub: GUI desktop app để quản lý Snow devices (thay vì CLI).
AWS Storage Gateway¤
Cầu nối giữa on-premises và S3 trên cloud → giải pháp hybrid cloud storage.
3 loại: File Gateway, Volume Gateway, Tape Gateway (không cần nhớ chi tiết cho CLF-02).
Shared Responsibility Model – S3¤
| AWS chịu trách nhiệm | Bạn chịu trách nhiệm |
|---|---|
| Infrastructure, durability, availability | Versioning, Bucket Policy, Replication setup |
| Config & vulnerability analysis | Logging, Monitoring, Storage Class |
| Compliance validation | Encryption at rest & in transit |
Những điểm hay ra đề CLF-02¤
- Bucket name phải globally unique
- Max object size 5 TB, upload > 5 GB dùng multi-part
- Durability 11 nines – giống nhau cho tất cả storage class
- Glacier Deep Archive = rẻ nhất, retrieve chậm nhất (12–48h)
- Intelligent-Tiering = không mất phí retrieve, tự động chuyển tier
- Cần bật versioning trước khi dùng Replication
- Block Public Access = tính năng bảo vệ cấp account
- Snow Family dùng khi data migration > 1 tuần qua mạng
- Snowmobile khi data > 10 PB