Trang chủ/Chương 06

Chương 06: S3 & Storage Solutions

Tổng Quan

Amazon S3 (Simple Storage Service) là dịch vụ object storage vô hạn của AWS. Bạn đã quen thuộc S3 — chương này bổ sung những chi tiết nâng cao mà SAA đòi hỏi: storage classes, lifecycle, encryption, replication, và performance.


1. S3 Cơ Bản

1.1 Khái niệm

  • Buckets: Container lưu trữ objects. Tên bucket unique toàn cầu.
  • Objects: File + metadata. Key = đường dẫn đầy đủ (VD: s3://my-bucket/folder/file.jpg).
  • Max object size: 5TB. Upload từ 5GB+ phải dùng Multi-Part Upload.
  • S3 là dịch vụ global nhưng buckets thuộc 1 Region cụ thể.

1.2 Versioning

  • Bật ở bucket level.
  • Mọi thay đổi tạo version mới, version cũ vẫn tồn tại.
  • Xóa file = thêm Delete Marker (không xóa thật, có thể khôi phục).
  • Best practice: Luôn bật versioning cho bucket quan trọng.

2. S3 Storage Classes

Storage ClassĐặc điểmMin DurationUse case
S3 Standard99.99% availability, 11 9's durabilityKhôngTruy cập thường xuyên
S3 Standard-IARẻ hơn Standard, tính phí retrieval30 ngàyTruy cập không thường xuyên (backup)
S3 One Zone-IAChỉ 1 AZ, rẻ nhất cho IA30 ngàyData có thể tạo lại (thumbnails)
S3 Intelligent-TieringTự động chuyển tier theo access patternKhôngKhông biết trước access pattern
S3 Glacier InstantRẻ, retrieval milliseconds90 ngàyArchive cần truy cập nhanh
S3 Glacier FlexibleRẻ hơn, retrieval 1-12 giờ90 ngàyArchive backup
S3 Glacier Deep ArchiveRẻ nhất180 ngàyLong-term archive (compliance 7-10 năm)

Tất cả classes đều có 11 9's durability (99.999999999%). Khác biệt chính là availabilityretrieval time/cost.

Glacier Retrieval Options:

Glacier FlexibleGlacier Deep Archive
Expedited1-5 phútN/A
Standard3-5 giờ12 giờ
Bulk5-12 giờ48 giờ

3. S3 Lifecycle Rules

Tự động chuyển objects giữa các storage classes hoặc xóa theo thời gian.

Loại ActionMô tảVí dụ
TransitionChuyển sang storage class khácSau 30 ngày → Standard-IA, sau 90 ngày → Glacier
ExpirationXóa objectsXóa logs sau 365 ngày
S3 Standard ──(30 ngày)──▶ Standard-IA ──(90 ngày)──▶ Glacier ──(365 ngày)──▶ Delete

4. S3 Replication

CRR (Cross-Region)SRR (Same-Region)
Mục đíchDisaster Recovery, giảm latencyLog aggregation, live replication
Yêu cầuVersioning phải BẬT ở cả 2 bucketsVersioning phải BẬT
ScopeToàn bucket hoặc prefix cụ thểToàn bucket hoặc prefix

Lưu ý: Replication chỉ áp dụng cho objects mới sau khi bật. Objects cũ cần dùng S3 Batch Replication.


5. S3 Encryption

5.1 Server-Side Encryption (SSE)

LoạiKey quản lý bởiĐặc điểm
SSE-S3AWS (S3 managed keys)Mặc định, AES-256, đơn giản nhất
SSE-KMSAWS KMSAudit trail (CloudTrail), kiểm soát key rotation
SSE-CCustomer (bạn tự quản lý key)Gửi key cùng mỗi request, HTTPS bắt buộc

5.2 Client-Side Encryption

  • Bạn mã hóa data trước khi upload lên S3.
  • AWS không biết encryption key của bạn.

💡 Exam Tip: Nếu đề bài yêu cầu "audit who accessed the encryption key" → SSE-KMS (vì tích hợp CloudTrail).

5.3 Encryption In-Transit

  • Dùng HTTPS (SSL/TLS).
  • Có thể enforce bằng Bucket Policy: Deny nếu aws:SecureTransport = false.

6. S3 Access Control

6.1 Bucket Policy (Phổ biến nhất)

  • JSON policy gắn ở bucket level.
  • Dùng để: cho phép public access, cross-account access, enforce encryption.
{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Principal": "*",
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::my-bucket/*"
  }]
}

6.2 S3 Access Points

  • Tạo endpoint riêng cho từng ứng dụng/team với policy riêng.
  • Đơn giản hóa quản lý policy khi bucket có nhiều access patterns.

6.3 Block Public Access

  • Cài đặt ở account level hoặc bucket level.
  • Mặc định: BẬT (chặn public access).
  • Override tất cả bucket policies và ACLs.

7. S3 Performance

7.1 Baseline Performance

  • 3,500 PUT/COPY/POST/DELETE per second per prefix.
  • 5,500 GET/HEAD per second per prefix.
  • Không giới hạn số prefixes.

7.2 Tối ưu Performance

Kỹ thuậtMô tả
Multi-Part UploadUpload song song nhiều phần. Bắt buộc cho file >5GB, khuyến khích >100MB.
S3 Transfer AccelerationUpload qua CloudFront Edge Location → AWS backbone network. Có phí thêm.
S3 Byte-Range FetchesDownload song song từng phần file. Tăng tốc download / chỉ lấy 1 phần file.
S3 SelectDùng SQL để lọc data trước khi download. Giảm data transfer.

8. S3 Event Notifications

  • Trigger khi có sự kiện: s3:ObjectCreated:*, s3:ObjectRemoved:*...
  • Gửi đến: SQS, SNS, Lambda, EventBridge.
  • Use case: Upload ảnh → trigger Lambda → resize → lưu vào bucket khác.

9. Các Dịch Vụ Storage Khác

9.1 EFS (Elastic File System)

  • Network file system (NFS) có thể mount nhiều EC2 cùng lúc.
  • Hoạt động cross-AZ (khác EBS chỉ 1 AZ).
  • Tự động scale (không cần provision capacity).
  • Đắt hơn EBS nhưng linh hoạt hơn.
  • Chỉ hoạt động với Linux (không hỗ trợ Windows).

9.2 So sánh EBS vs EFS vs S3

EBSEFSS3
LoạiBlock storageFile storageObject storage
Gắn vào1 EC2 (hoặc multi-attach io1/io2)Nhiều EC2Truy cập qua API/SDK
AZ1 AZCross-AZCross-Region
ScaleProvision trướcTự độngVô hạn
Use caseBoot volume, databaseShared file system, CMSStatic assets, backup, archive

9.3 AWS Storage Gateway

  • Kết nối on-premises với cloud storage (hybrid).
  • 3 loại:
    • S3 File Gateway: On-prem access S3 qua NFS/SMB.
    • FSx File Gateway: On-prem access FSx.
    • Volume Gateway: iSCSI block volumes backup lên S3.
    • Tape Gateway: Thay thế physical tape backup.

9.4 AWS Snow Family

  • Di chuyển huge data (terabytes → petabytes) khi network quá chậm.
DeviceCapacityUse case
Snowcone8-14 TBEdge computing, nhỏ gọn
Snowball Edge80 TB (Storage) / 42 TB (Compute)Data migration, edge computing
Snowmobile100 PBDi chuyển data center (xe tải!)

Exam Tips 💡

  1. S3 Standard-IA vs One Zone-IA: Data quan trọng → Standard-IA (multi-AZ). Data tạo lại được → One Zone-IA.
  2. Glacier Deep Archive = Rẻ nhất cho archive dài hạn (compliance).
  3. Lifecycle Rule: Tự động chuyển tier → tiết kiệm chi phí (câu hỏi Cost Optimization).
  4. SSE-KMS khi cần audit. SSE-S3 khi cần đơn giản.
  5. Cross-Region Replication cho DR. Same-Region Replication cho compliance/log aggregation.
  6. EBS = 1 AZ, 1 EC2. EFS = Multi-AZ, nhiều EC2. S3 = Object, vô hạn.
  7. Transfer Acceleration cho upload nhanh từ xa. Multi-Part Upload cho file lớn.

Câu Hỏi Ôn Tập 📝

Câu 1: Công ty cần lưu trữ compliance data trong 7 năm, truy cập rất hiếm (1-2 lần/năm). Storage class nào rẻ nhất?

Xem đáp án

S3 Glacier Deep Archive. Rẻ nhất, phù hợp archive dài hạn. Retrieval mất 12-48 giờ nhưng phù hợp vì truy cập rất hiếm.

Câu 2: Nhiều EC2 instances ở các AZ khác nhau cần truy cập cùng 1 tập file. Dùng gì?

Xem đáp án

Amazon EFS. Network file system hỗ trợ mount từ nhiều EC2 instances cross-AZ. EBS chỉ gắn được 1 instance trong 1 AZ.

Câu 3: Cần di chuyển 50TB data vào S3 nhưng bandwidth chỉ 100 Mbps. Cách nhanh nhất?

Xem đáp án

AWS Snowball Edge. Upload 50TB qua 100 Mbps network mất ~46 ngày. Snowball Edge gửi qua bưu điện nhanh hơn rất nhiều.


⬅️ Chương 05: ELB & Auto Scaling | Chương 07: Databases ➡️