[AWS] OBJECT LOCK S3
- Tháng Một 10, 2023
- Posted by: Huyền Khánh
- Category: Uncategorized
Amazon S3 (Simple Storage Service) không phải là một dịch vụ quá lạ lẫm với chúng ta, thậm chí, là một trong những dịch vụ cần phải biết đầu tiên khi bắt đầu học AWS và làm việc với AWS. Tuy nhiên theo thời gian, lượng các tính năng bổ sung cho S3 ngày càng nhiều, nhưng cũng có một vài thứ mà có thể chúng ta bỏ lỡ. Nhân có dự án cần sử dụng đến tính năng Object Lock của S3, mình sẽ viết một bài tổng hợp lại những gì chúng ta cần biết và cần sử dụng về tính năng này
S3 Object Lock sử dụng model WORM – Write Once, Read Many (Ghi một lần và đọc nhiều lần). Tính năng này được sử dụng trong trường hợp chúng ta bắt buộc không được thay đổi hoặc xóa object sau khi đã được đưa lên S3. Đây là một Use case có thể xuất hiện khi chúng ta sử dụng S3 làm nơi lưu trữ Log, các record history, hoặc các yêu cầu về lưu trữ dữ liệu cố định.
Các object có thể sử dụng tính năng S3 Object Lock một cách độc lập. Có nghĩa là chúng ta có thể set thời gian lưu trữ cho từng object một, chứ không phải cả bucket. Điều này giúp cho S3 Object Lock có một khả năng flexible hơn các loại dịch vụ Storage khác.
S3 Object có 3 chế độ như sau:
- Retention Period Governance mode: Ở chế độ này, chúng ta sẽ cần set một mốc thời điểm cụ thể sẽ mở Retention Period ra. Trước khi tới thời điểm này, Object sẽ bị Lock, và chúng ta chỉ có thể chỉnh sửa hay xóa object đã bị lock bằng cách sử dụng quyền IAM Permission: s3:BypassGovernanceRetention. Do phương án này Lock Object lại, nhưng vẫn có thể cho phép một vài người có một số quyền đặc biệt truy cập và chỉnh sửa những thiết lập này, và dẫn tới kết quả là có thể xóa được những object đã bị lock.
- Retention Period Compliance Mode: Là một chế độ tương tự như Retention Period Governance mode, tuy nhiên ở chế độ này, người dùng hoàn toàn không có cách nào để xóa được những Object đã bị Lock vào trước thời hạn cho phép. Khi sử dụng chế độ này cần cực kỳ lưu ý, do những file lớn, không thể xóa được có thể gây ra lãng phí hoặc tốn kém không cần thiết. Chúng ta chỉ nên sử dụng chế độ này khi có yêu cầu.
- Legal Hold: Về tính năng, Legal Hold tương tự như Retention Period. Tuy nhiên, Legal Hold đưa object về trạng thái Lock chừng nào mà chúng ta chưa đưa object ra khỏi trạng thái Lock. Chúng ta có thể sử dụng Legal Hold mãi mãi, hoặc tới một thời gian nào đó mà chúng ta chưa xác định được.
Để sử dụng S3 Object Lock, chúng ta sẽ cần:
1. Bật tính năng Object Lock trên Bucket lên.
2. Tạo default retention period
3. Đưa object vào bucket và bật tính năng retention period lên.
S3 Bucket cho phép chúng ta setup Retention Date (do áp dụng cho nhiều object), nên chúng ta có thể setup sử dụng Retention Date trong bao nhiêu ngày, thay vì setup một ngày cụ thể như Retention Object. Việc này sẽ giúp chúng ta đỡ phải set từng object mỗi khi up lên, sẽ tốn khá nhiều gian.
Trên đây là một số giới thiệu sơ lược về tính năng Object Lock. Đây không phải là một chức năng được nhắc đến nhiều, nhưng trong một số trường hợp có thể hữu dụng.
Khi tham gia vào khóa học AWS Cơ bản tại CodeStar, học viên sẽ được cung cấp đầy đủ lí thuyết và làm các bài thực hành trực tiếp trên S3. Thông tin chi tiết về khóa học AWS Cơ bản mời các bạn tham khảo: https://codestar.vn/product/aws-co-ban/
Bên cạnh đó thì trong các đề thi chứng chỉ AWS-Solution Arrchitect Associate sẽ có một số câu hỏi về S3 và chứa những nội dung này. Nếu bạn đang có nhu cầu ôn thi chứng chỉ AWS-SAA thì mời mọi người tham khảo khóa học Luyện thi chứng chỉ AWS-SAA-C03: https://codestar.vn/product/luyen-thi-aws-solution-architect-associate/
Ngoài ra các khóa học về DevOps hay K8s cũng đều thực hành trực tiếp trên AWS nên chắc chắn nội dung này cũng rất quan trọng. Link chi tiết về các khóa học khác mọi người tham khảo ở đây nhé:
DevOps on AWS: https://codestar.vn/product/devops-on-aws/
DevOps on K8s: https://codestar.vn/product/khoa-hoc-kubernetes-fundamentals-k8s/
Hi vọng sẽ được gặp mọi người trong các lớp học ở CodeStar. See u soon ^^