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ạiMô tả
IAM PolicyGắn vào user/role, kiểm soát quyền gọi API
Bucket PolicyJSON 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ạiMô tảUse case
CRR (Cross-Region)Replication sang region khácCompliance, giảm latency
SRR (Same-Region)Replication trong cùng regionLog aggregation, dev/prod sync

Copying là asynchronous, cần cấp IAM permission phù hợp.


S3 Storage Classes

Storage ClassAvailabilityĐặc điểmUse case
Standard99.99%Latency thấp, throughput caoBig data, gaming, CDN
Standard-IA99.9%Truy cập không thường xuyên, cheaperBackup, DR
One Zone-IA99.5%Chỉ 1 AZ, mất data nếu AZ dieBackup thứ cấp, data có thể tái tạo
Glacier Instant-Retrieve millisecond, min 90 ngàyData truy cập ~1 lần/quý
Glacier Flexible-Expedited 1-5 phút / Standard 3-5h / Bulk 5-12hArchive
Glacier Deep Archive-Standard 12h / Bulk 48h, min 180 ngàyLong-term archive
Intelligent-Tiering-Tự động chuyển tier, không mất phí retrieveData 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ịStorageUse case
Snowcone8 TBMôi trường chật hẹp, khắc nghiệt
Snowball Edge Storage Optimized80 TBMigration lớn
Snowball Edge Compute Optimized42 TB + GPUML/video processing tại edge
Snowmobile100 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-premisesS3 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ệmBạn chịu trách nhiệm
Infrastructure, durability, availabilityVersioning, Bucket Policy, Replication setup
Config & vulnerability analysisLogging, Monitoring, Storage Class
Compliance validationEncryption 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