Bắt đầu với Amazon Simple Storage Service (S3)

Share and Enjoy !

Shares

Mở đầu

Dù bạn là một quản trị hạ tầng AWS Cloud nhiều năm kinh nghiệm hay chỉ là tay mơ mới chập chỉnh bước vào hành trình lên mây thì chắc chắn phải nắm và làm việc với Amazon Simple Storage Service (S3) – một dịch vụ lưu trữ object với độ sẵn sàng, tính khả dụng, bộ bền và bảo mật top đầu.

Mọi loại hình dữ liệu dạng object (dữ liệu ứng dụng, log hệ thống, audit,…) dù có qua bao nhiêu tiến trình xử lý cuối cùng cũng được lưu trữ trên S3.

Vì đây là serie SAA Hands-on Labs nên trong nội dung bài viết này, mình chỉ cố gắng tập trung chia sẻ những thao tác cơ bản nhất với S3 trên giao diện AWS Console.

Lab steps

Đảm bảo bạn đăng nhập thành công vào giao diện AWS Web Console và chọn đúng region Singapore (ap-southeast-1)

Task 1: Tạo Bucket trên S3

1. 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

  1. Nhấn vào bucket name để, ngay tại tab Object, nhấn vào upload.

2. 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.

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::hiepsharing-saa-b-1/*"
}
]
}

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 hiepsharing-saa-b-1

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.

Lời kết

Như vậy là mình đã hoàn thành bài lab những thao tác cơ bản nhất với S3 trên giao diện AWS Web Console, tất nhiên đây chỉ là những bước đi chập chững ban đầu thôi :))).

Nếu có bất kỳ thắc mắc, góp ý về nội dung bài viết hoặc anh em có thêm những tip hay khác có thể chia sẻ dưới phần bình luận nhé.

Trong thời gian tới, mình sẽ cố gắng bổ sung nhiều lab khác về chủ để S3 vào serie SAA Hands-on Labs, anh em nhớ theo dõi nhé.

Share and Enjoy !

Shares
Giới thiệu Hiệp Phạm 135 bài viết
Hiệp hiện đang là thành viên nhóm tác giả của HIEPSHARING.COM. Thích tìm hiểu, nghiên cứu Ethical Hacking, SysAdmin, DevOps và những công nghệ mới. Phương châm sống của mình: "Chỉ cần bản thân không bỏ cuộc, chậm chút cũng không sao."

Hãy bình luận đầu tiên

Để lại một phản hồi

Thư điện tử của bạn sẽ không được hiện thị công khai.


*