Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hiểu về amazon s3

    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)
    S3 không phải database, nhưng là nơi tốt nhất để lưu file. 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ểu


    S3 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ặn
    Ngoà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 Bucket


    Bucket 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
    Dùng khi muốn:
    • 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 Access


    AWS 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ĩnh


    S3 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ự động


    Có 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
    Ứng dụng:
    • Compliance
    • Dự phòng thảm họa
    • Đồng bộ dữ liệu giữa Production và Test
    Lưu ý:
    • 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 S3


    Hiể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
    Tư duy nhớ nhanh:
    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àng


    S3 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ẬN


    Nế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
    S3 là nền tảng của AWS — không hiểu S3 thì không thể trở thành Cloud Engineer.
Working...
X