
AWS S3 (Simple Storage Service) là một dịch vụ lưu trữ đối tượng được cung cấp bởi Amazon Web Services. Đây là một trong những dịch vụ cốt lõi và phổ biến nhất của AWS. Hãy tìm hiểu chi tiết về AWS S3:
AWS S3 là gì?
AWS S3 là dịch vụ lưu trữ đối tượng có khả năng mở rộng cao, cung cấp khả năng lưu trữ và truy xuất dữ liệu từ bất kỳ đâu trên web. S3 được thiết kế để cung cấp độ bền 99,999999999% (11 số 9) và khả năng sẵn sàng 99,99% cho dữ liệu của bạn.
Đặc điểm chính của AWS S3:
-
Lưu trữ đối tượng: S3 lưu trữ dữ liệu dưới dạng đối tượng trong các “bucket”.
-
Khả năng mở rộng: Có thể lưu trữ và truy xuất bất kỳ lượng dữ liệu nào, bất kỳ lúc nào.
-
Độ bền cao: Được thiết kế để cung cấp độ bền 99,999999999%.
-
Bảo mật: Cung cấp nhiều tính năng bảo mật mạnh mẽ.
-
Linh hoạt: Hỗ trợ nhiều lớp lưu trữ khác nhau cho các nhu cầu khác nhau.
-
Quản lý dễ dàng: Cung cấp giao diện quản lý trực quan và API đa dạng.
Các khái niệm cơ bản trong S3:
-
Bucket: Là container chứa các đối tượng. Mỗi đối tượng được lưu trữ trong một bucket.
-
Object: Là đơn vị cơ bản của dữ liệu được lưu trữ trong S3. Mỗi object bao gồm dữ liệu và metadata.
-
Key: Là tên duy nhất được gán cho một object trong bucket.
-
Versioning: Cho phép lưu trữ nhiều phiên bản của cùng một object.
-
Storage Classes: Các lớp lưu trữ khác nhau cho các nhu cầu truy cập và chi phí khác nhau.
Các lớp lưu trữ S3:
- S3 Standard: Cho dữ liệu truy cập thường xuyên.
- S3 Intelligent-Tiering: Tự động tối ưu chi phí cho dữ liệu có mẫu truy cập không xác định.
- S3 Standard-IA: Cho dữ liệu truy cập ít thường xuyên.
- S3 One Zone-IA: Tương tự Standard-IA nhưng chỉ lưu trữ trong một AZ.
- S3 Glacier: Cho lưu trữ dài hạn với chi phí thấp.
- S3 Glacier Deep Archive: Cho lưu trữ dài hạn với chi phí cực thấp.
Ứng dụng phổ biến của S3:
- Lưu trữ và phân phối nội dung
- Backup và khôi phục dữ liệu
- Lưu trữ dữ liệu cho phân tích Big Data
- Lưu trữ log files
- Hosting website tĩnh
- Lưu trữ dữ liệu gốc cho các ứng dụng cloud-native
Tính năng bảo mật:
- Mã hóa phía máy chủ và phía khách hàng
- Quản lý quyền truy cập bằng IAM và bucket policies
- Versioning để bảo vệ khỏi xóa hoặc ghi đè ngoài ý muốn
- MFA Delete để ngăn chặn xóa dữ liệu không mong muốn
AWS S3 là một dịch vụ cực kỳ linh hoạt và mạnh mẽ, được sử dụng rộng rãi trong nhiều ứng dụng và giải pháp cloud. Hiểu rõ về S3 sẽ giúp bạn tận dụng tối đa khả năng lưu trữ và quản lý dữ liệu trong môi trường AWS.
Config S3
Task 1: Tạo Bucket trên S3
-
Truy cập Storage >> S3 từ menu Services
2. Tại giao diện của S3, nhấn chọn Create bucket và điền lần lượt vào các trường sau cho bucket details.
-
Bucket name: đặt tên cho bucket (S3 bucket name mang tính định danh trên tất cả các region của AWS nên phải duy nhất và không trùng lặp).
-
Region: Chọn Singapore (ap-southeast-1)
-
Object ownership: Chọn ACLs enabled
-
Object ownership: Chọn Object writer (anh em nhớ chọn Object Owner, ngược lại sẽ không có quyền chỉnh sửa bucket ACL)
-
Với thiết lập Block Public Access, để đơn giản anh em bỏ check và xác nhận vào mục acknowleadge nhé (thao tác này đồng nghĩa bật mode public cho bucket).
Những phần khác giữ nguyên như mặc đinh và nhấn Create bucket.
3. Sau khi quá trình taọ bucket hoàn tất, hệ thống sẽ tự động chuyển đến giao diện chứa danh sách tất cả các bucket đang có trong tài khoản AWS của bạn.
Task 2: Upload object lên S3 Bucket
-
Nhấn vào bucket name để, ngay tại tab Object, nhấn vào upload.
-
Tại giao diện kế tiếp, nhấn add file và chọn một hoặc nhiều file từ local và nhấn Upload.
3. Sau khi quá trình upload hoàn tất sẽ hiện thông báo kèm danh sách các object tương tự như ví dụ bên dưới.
Task 3: Thay đổi quyền trên Bucket
1. Từ danh sách các object đã tải lên ở phần trước, anh em thử nhấn vào một file bất kỳ, ví dụ Amazon-S3.png để xem chi tiết các thành phần của object này như owner, size, link, …
2. Anh em tìm và copy Object URL (đây là http endpoint của một đối tượng)
3. Tiếp theo, bạn thử mở tab trình duyệt khác và truy cập Object URL này sẽ nhận được thông báo AccessDenied như bên dưới.
Lý do khá đơn giản, mặc dù bucket đã được thiếp lập chế độ public lúc khởi tạo nhưng theo mặc định các object sau khi tải lên vẫn ở mode private.
4. Quay lại giao diện Object details của file Amazon-S3.png, chuyển sang tab Permissons, nhấn Edit để thực hiện chỉnh sửa quyền.
5. Tại đây, anh em có thể tùy biến quyền cho một số nhóm khác nhau. Ví dụ trong bài lab này mình sẽ gán quyền read only lên Object Amazon-S3.png cho tất cả (everyone).
Nhớ xác nhận vào checkbox I understand the effects of these changes on
this object, sau đó nhấn Save changes để cập nhật thay đổi.
6. Bây giờ, thử lại bước 3 – truy cập Object URL sẽ hiện được nội dung ảnh Amazon-S3.png từ trình duyệt web.
Task 4: Tạo Bucket Policy
Trong Task 3, anh em chỉ gán quyền cho một object nhất định. Trong phần này, nếu có nhu cầu gán quyền tương tự cho tất cả các đối tượng có trong bucket thì sẽ làm thế nào? Câu trả lời là ta sẽ tạo một Bucket policy.
1. Quay trở lại giao diện chứa danh sách bucket, nhấn chọn vào bucket name hiepsharing-saa-b-1, vẫn chuyển sang tab Permissions.
2. Kéo xuống tại mục Bucket policy, nhấn Edit để mở trình soạn thảo Bucket policy editor (dĩ nhiên trống không 😆 ).
Lưu ý: Bucket policy được trình bày dưới dạng ngôn ngữ JSON nên anh em có thể chủ động nghiên cứu thêm bằng 2 công cụ Policy examples hoặc Policy generator được AWS cung cấp.
Hoặc đơn giản trong bài lab này, anh em có thể copy và dán JSON bên dưới vào và thay thế phần Resources bằng chính Bucket ARN của anh em.
Với nội dung JSON trên, mình muốn tạo ra một bucket policy cho phép mọi người có quyền truy cập tất cả các object có trong bucket ras.vending
Xem kỹ lại cú pháp của JSON, nếu không có lỗi gì (Errors: 0), nhấn Save changes để tạo policy.
Task 5: Kiểm tra hoạt động của Bucket Policy
1. Sau khi thiết lập bucket policy thành công, quay lại danh sách các object đã tải lên ở phần trước, tick chọn vào file test_upload.txt (chưa cấu hình object permission trước đó), nhấn Copy URL.
2. Mở một tab trình duyệt khác và dán Object URL để truy cập vào nội dung file test_upload.txt trên bucket hiepsharing-saa-b-1. Kết quả như minh họa bên dưới chứng tỏ bucket policy chúng ta tạo ở phần trước thành công.
Danh mục
Bài viết liên quan

AWS Region
Author: | ADMIN |
---|

Auto Trigger Notification to Discord/Teams/Slack
Author: | ADMIN |
---|

Maintenance Mode
Author: | ADMIN |
---|

CI/CD Pipeline
Author: | ADMIN |
---|
Bài viết khác

Blade Basics
Author: | ADMIN |
---|

9 Mẹo Hữu Ích Khi Sử Dụng Blade Trong Laravel
Author: | ADMIN |
---|

Hiển thị giá trị trong Blade
Author: | ADMIN |
---|