HIỂU VỀ AMAZON S3
1. Amazon S3 là gì?Amazon S3 (Simple Storage Service) là dịch vụ lưu trữ đối tượng (object storage) của AWS.
Bạn có thể hình dung nó như một ổ cứng khổng lồ trên Internet, nơi bạn có thể lưu file, ảnh, video, tài liệu, backup… mà không bao giờ lo “đầy dung lượng”.
AWS quảng bá rằng S3 có thể mở rộng vô hạn, nghĩa là bạn muốn lưu bao nhiêu cũng được.
Đó là lý do hầu hết website lớn, dịch vụ cloud, AI, game, big data đều dùng S3.
Nhiều dịch vụ AWS khác cũng tích hợp trực tiếp với S3.Một số ví dụ thực tế trong file gốc:
Nasdaq lưu dữ liệu 7 năm trong S3 Glacier
Sysco dùng S3 để chạy phân tích dữ liệu lớn
2. S3 dùng làm gì?AWS liệt kê các use case phổ biến:
- Lưu trữ Backup và Restore
- Lưu trữ dự phòng (Disaster Recovery)
- Lưu trữ lâu dài (Archive / Glacier)
- Hybrid Storage (kết hợp lưu trữ on-premise + cloud)
- Lưu trữ dữ liệu cho ứng dụng / website
- Phân phối nội dung truyền thông (ảnh/video)
- Big Data và Data Lake
- Phân phối phần mềm
- Host website tĩnh (không cần server)
3. Bucket là gì?
Trong S3, bạn không lưu file trực tiếp, mà lưu vào Bucket.Bucket giống như một “thùng chứa” – một thư mục gốc.
Quy tắc của Bucket:
- Tên bucket phải duy nhất trên toàn thế giới, không trùng với ai khác.
- Được tạo trong một Region cụ thể, nhưng có thể truy cập từ mọi nơi.
- Không được chứa chữ in hoa, không được bắt đầu bằng ký tự đặc biệt, không phải địa chỉ IP.
4. Object là gì?Mỗi file bạn lưu vào S3 được gọi là Object
Object gồm:
- Key – chính là “đường dẫn” của file
Ví dụ:
s3://my-bucket/my-folder/file.pdf
Dù nhìn giống thư mục, nhưng S3 không có folder thật, đó chỉ là chuỗi ký tự chứa dấu “/”.
- Dung lượng tối đa: 5TB
- File trên 5GB phải upload theo kiểu multipart upload (chia nhỏ).
- Có Metadata (thông tin mô tả)
- Có Tags (để quản lý, phân quyền)
- Có Version ID nếu bật versioning
5. Bảo mật trong S3 – điều bắt buộc phải hiểuS3 có 2 cơ chế phân quyền: 1. IAM Policy (User-Based)
→ Quy định tài khoản nào có thể làm gì. 2. Resource-Based (Bucket Policy / ACL)
→ Gắn trực tiếp trên Bucket / Object
→ Cho phép quyền truy cập từ tài khoản khác hoặc public.
QUY TẮC VÀNG:
Một người chỉ truy cập được object nếu:
IAM Policy cho phép hoặc Bucket Policy cho phép
Không có DENY nào chặnNgoài ra còn có mã hóa dữ liệu để tăng bảo mật.
6. Bucket Policy – quyền truy cập ở cấp BucketBucket Policy là một JSON rule bao gồm:
- Resource (Bucket + Object cần áp dụng)
- Action (cho phép làm gì: GET, PUT…)
- Principal (người/tài khoản nào được phép)
- Effect: Allow hay Deny
- Cho phép truy cập public (website tĩnh)
- Bắt buộc mã hóa file khi upload
- Cho phép tài khoản AWS khác truy cập
7. Các cách truy cập S3 (ví dụ trong file)
Người dùng IAM → được phép nhờ IAM Policy
EC2 → truy cập thông qua IAM Role gán vào máy
Tài khoản ngoài AWS → dùng Bucket Policy cross-account
Public → nếu bucket policy mở
8. Block Public AccessAWS thêm chức năng này để ngăn rò rỉ dữ liệu, vì đã từng có nhiều công ty bị phơi 10 triệu records ra Internet chỉ vì mở public bucket.
Nếu bạn không bao giờ muốn bucket public, hãy bật Block Public Access.
Có thể bật ở mức Bucket hoặc mức toàn tài khoản.
9. S3 dùng làm Website tĩnhS3 có thể host website không cần server.
URL sẽ có dạng:
http://bucket-name.s3-website-region.amazonaws.com
Nếu bị lỗi 403 Forbidden → nghĩa là bạn chưa mở quyền đọc Public cho bucket.
Dùng nhiều cho:
- Landing Page
- Trang CV
- Web giới thiệu sản phẩm
10. Versioning (LƯU LỊCH SỬ FILE)Khi bật Versioning:
- Mỗi lần upload file trùng tên, S3 tạo version mới, không ghi đè lên version cũ.
- Có thể phục hồi lại phiên bản cũ.
- Nếu xóa nhầm → vẫn khôi phục được.
- Tắt versioning không làm mất version cũ.
11. Replication – sao chép tự độngCó 2 loại:
- CRR (Cross Region Replication) – sao chép khác vùng AWS
- SRR (Same Region Replication) – sao chép trong cùng vùng
- Compliance
- Dự phòng thảm họa
- Đồng bộ dữ liệu giữa Production và Test
- Phải bật Versioning ở cả 2 bucket
- Chỉ file mới được copy, file cũ phải dùng Batch Replication
12. Các loại Storage Class trong S3Hiểu cực đơn giản:
S3 không chỉ có 1 kiểu lưu trữ, mà có nhiều cấp để tối ưu chi phí.- S3 Standard → truy cập thường xuyên
- S3 Standard-IA → lưu ít truy cập nhưng cần lấy nhanh
- S3 One Zone-IA → chỉ 1 AZ, rẻ, rủi ro cao
- S3 Glacier / Deep Archive → cực rẻ, nhưng lấy file phải chờ hàng giờ
- Intelligent-Tiering → tự chuyển cấp lưu trữ dựa vào tần suất truy cập
File đang dùng hàng ngày → Standard
Backup khẩn cấp, lâu lâu xem → Standard-IA
File để đó 5 năm → Glacier
Không biết lưu kiểu gì → chọn Intelligent-Tiering
13. Độ bền và độ sẵn sàngS3 có độ bền 11 số 9 (99.999999999%), nghĩa là lưu 10 triệu file → mất 1 file sau… 10.000 năm.
Độ sẵn sàng (khả năng hoạt động liên tục) tùy Storage Class, ví dụ:
- S3 Standard: 99.99% uptime → downtime tối đa 53 phút/năm
KẾT LUẬNNếu bạn hiểu bài này, thì bạn đã nắm 90% kiến thức về S3 dùng trong:
- AWS Solutions Architect
- DevOps
- Data Engineering
- Backend Cloud Storage
- Serverless