Logo Zephyrnet

10 lỗi AWS S3 thường gặp

Ngày:

Bài báo này đã được xuất bản như một phần của Blogathon Khoa học Dữ liệu.

Giới thiệu

Các lỗi AWS S3 phổ biến

10 lỗi AWS S3 bạn nên tránh và cách khắc phục?

  1. Không thiết lập phiên bản cho nhóm S3 của bạn

Một trong những lỗi AWS S3 phổ biến nhất mà mọi người mắc phải là không thiết lập phiên bản cho bộ chứa của họ. Lập phiên bản cho phép bạn lưu giữ, truy xuất và khôi phục các phiên bản trước đó của các đối tượng trong bộ chứa của bạn. Điều này có thể đặc biệt hữu ích nếu bạn vô tình xóa một đối tượng hoặc muốn truy xuất phiên bản cũ hơn của đối tượng.

Để thiết lập phiên bản cho bộ chứa S3 của bạn, hãy làm theo các bước sau:

  1. Mở bảng điều khiển S3 và nhấp vào tên của bộ chứa mà bạn muốn bật lập phiên bản.
  2. Nhấp vào tab “Thuộc tính” và sau đó nhấp vào tab phụ “Phiên bản”.
  3. Nhấp vào nút "Chỉnh sửa" và sau đó chọn tùy chọn "Bật phiên bản".
  4. Nhấp vào nút "Lưu" để lưu các thay đổi của bạn.

Dưới đây là ví dụ về cách sử dụng CLI để kích hoạt lập phiên bản cho bộ chứa S3:

aws s3api put-bucket-versioning --bucket my-bucket --versioning-configuration Trạng thái=Đã bật

Trong ví dụ này, nhóm “my-bucket” sẽ được đặt để kích hoạt lập phiên bản. Điều này có nghĩa là bất kỳ đối tượng mới nào được thêm vào bộ chứa sẽ được tạo phiên bản và các phiên bản trước đó của đối tượng sẽ được giữ nguyên khi đối tượng đó bị ghi đè hoặc xóa.

Điều quan trọng cần lưu ý là sau khi đã bật tính năng lập phiên bản cho một nhóm, thì nó không thể bị tạm dừng hoặc tắt. Tuy nhiên, bạn có thể tạm dừng lập phiên bản trên các đối tượng riêng lẻ trong nhóm.

Ưu điểm:

  • Cho phép bạn lưu giữ, truy xuất và khôi phục các phiên bản trước đó của các đối tượng trong bộ chứa của bạn
  • Có thể ngăn việc vô tình hoặc cố ý xóa các đối tượng
  • Có thể cho phép bạn truy xuất các phiên bản cũ hơn của đối tượng

Điểm yếus :

  • Có thể tăng chi phí lưu trữ cho bộ chứa S3 của bạn (nếu bạn có nhiều phiên bản đối tượng)
  • Có thể tăng độ phức tạp của việc quản lý bộ chứa S3 của bạn (nếu bạn có nhiều phiên bản đối tượng)
  1. Không sử dụng lớp lưu trữ chính xác cho các đối tượng của bạn

Các lỗi AWS S3 phổ biến cần tránh
Nguồn – pexels.com

Lỗi tiếp theo trong danh sách các lỗi AWS S3 phổ biến là không sử dụng đúng lớp lưu trữ cho các đối tượng S3 của bạn. S3 cung cấp một loạt các loại lưu trữ, mỗi loại có các tính năng và mô hình định giá riêng. Việc chọn loại lưu trữ phù hợp có thể giúp bạn tiết kiệm tiền và cải thiện hiệu suất của bộ chứa S3.

Để chọn lớp lưu trữ phù hợp cho các đối tượng của bạn, hãy xem xét các yếu tố sau:

  • Tần suất bạn truy cập các đối tượng trong nhóm của mình
  • Khoảng thời gian bạn muốn lưu trữ các đối tượng
  • Loại dữ liệu bạn đang lưu trữ (ví dụ: tiêu chuẩn, truy cập không thường xuyên hoặc Glacier)

Dưới đây là các lớp lưu trữ khác nhau mà S3 cung cấp và thời điểm sử dụng chúng:

  • Tiêu chuẩn: Đây là lớp lưu trữ mặc định cho S3. Nó tốt nhất cho các đối tượng được truy cập thường xuyên và mang lại hiệu suất cao nhất.
  • Tiêu chuẩn – Truy cập không thường xuyên (SIA): Lớp lưu trữ này tương tự như Tiêu chuẩn nhưng rẻ hơn một chút. Nó tốt nhất cho các đối tượng được truy cập ít thường xuyên hơn, nhưng vẫn cần có sẵn nhanh chóng.
  • Glacier: Đây là lớp lưu trữ rẻ nhất mà S3 cung cấp. Nó tốt nhất cho các đối tượng hiếm khi được truy cập và có thể chịu được thời gian truy xuất lâu hơn (ví dụ: bản sao lưu hoặc kho lưu trữ dài hạn).

Để thay đổi lớp lưu trữ của một đối tượng, hãy làm theo các bước sau:

  1. Mở bảng điều khiển S3 và nhấp vào tên của nhóm chứa đối tượng.
  2. Bấm vào tên của đối tượng mà bạn muốn thay đổi lớp lưu trữ.
  3. Nhấp vào nút “Hành động” và sau đó chọn tùy chọn “Thay đổi lớp lưu trữ”.
  4. Chọn lớp lưu trữ mà bạn muốn sử dụng cho đối tượng và sau đó nhấp vào nút “Thay đổi”.

Đây là một ví dụ về cách sử dụng lệnh này để thay đổi lớp lưu trữ của một đối tượng:

aws s3api put-object-storage-class --bucket my-bucket --key my-object --storage-class REDUCED_REDUNDANCY

Trong ví dụ này, đối tượng có tên “my-object” trong bộ chứa “my-bucket” sẽ được thay đổi để có lớp lưu trữ “REDUCED_REDUNDANCY”.

Điều quan trọng cần lưu ý là lệnh này chỉ hoạt động đối với các đối tượng được lưu trữ trong S3. Nó không hoạt động đối với các đối tượng được lưu trữ trong các dịch vụ lưu trữ khác do AWS cung cấp, chẳng hạn như EBS hoặc EFS.

Ưu điểm:

  • Có thể giúp bạn tiết kiệm tiền cho chi phí lưu trữ
  • Có thể cải thiện hiệu suất của bộ chứa S3 của bạn
  • Có thể cho phép bạn chọn lớp lưu trữ phù hợp cho các loại đối tượng khác nhau

Điểm yếus :

  • Có thể cần thêm nỗ lực để thiết lập và quản lý các lớp lưu trữ khác nhau
  • Điều này có thể khiến việc truy cập các đối tượng được lưu trữ trong lớp lưu trữ S3 Glacier trở nên khó khăn hơn (do thời gian truy xuất lâu hơn)
  1. Không thiết lập kiểm soát truy cập cho bộ chứa S3 của bạn

Lỗi tiếp theo trong danh sách các lỗi AWS S3 mà mọi người thường mắc phải với AWS S3 là không thiết lập quyền kiểm soát truy cập thích hợp cho bộ chứa của họ. Kiểm soát truy cập cho phép bạn kiểm soát ai có thể truy cập các đối tượng trong bộ chứa của bạn và những hành động họ có thể thực hiện trên các đối tượng đó. Điều này rất quan trọng vì lý do bảo mật và tuân thủ.

Để thiết lập kiểm soát truy cập cho bộ chứa S3 của bạn, hãy làm theo các bước sau:

  1. Mở bảng điều khiển S3 và nhấp vào tên của bộ chứa mà bạn muốn thiết lập kiểm soát truy cập.
  2. Nhấp vào tab “Quyền” và sau đó nhấp vào tab phụ “Chính sách nhóm”.
  3. Nhấp vào nút “Chỉnh sửa” rồi nhập chính sách mà bạn muốn sử dụng cho nhóm.

Đây là một ví dụ về chính sách nhóm cho phép truy cập chỉ đọc vào các đối tượng trong nhóm:

{ "Phiên bản": "2012-10-17", "Câu lệnh": [ { "Sid": "AllowPublicRead", "Effect": "Allow", "Principal": "*", "Action": ["s3 :GetObject"], "Resource": ["arn:aws:s3:::my-bucket/*"] } ] }

Bạn cũng có thể thiết lập kiểm soát truy cập bằng AWS CLI. Để làm điều này, sử dụng lệnh sau:

Dưới đây là ví dụ về cách sử dụng AWS CLI để cấp quyền truy cập đọc và ghi vào tài khoản AWS cụ thể cho bộ chứa S3:

aws s3api put-bucket-acl --bucket my-bucket --grant-read 'id=1234abcd1234abcd1234abcd' --grant-write 'id=1234abcd1234abcd1234abcd'

Trong ví dụ này, bộ chứa “my-bucket” sẽ được đặt để cho phép tài khoản AWS có ID “1234abcd1234abcd1234abcd” đọc và ghi các đối tượng trong bộ chứa. Bạn có thể thay ID này bằng ID của tài khoản AWS mà bạn muốn cấp quyền truy cập.

Điều quan trọng cần lưu ý là aws s3api put-bucket-acl lệnh thay thế chính sách kiểm soát truy cập hiện có cho bộ chứa bằng chính sách được chỉ định trong lệnh. Nếu bạn muốn thêm các khoản trợ cấp bổ sung vào chính sách hiện có, bạn có thể sử dụng aws s3api put-bucket-acl lệnh nhiều lần, hoặc bạn có thể sử dụng aws s3api get-bucket-acl để truy xuất chính sách hiện có và sửa đổi nó trước khi sử dụng aws s3api put-bucket-acl lệnh để áp dụng chính sách cập nhật.

Ưu điểm:

  • Có thể cải thiện tính bảo mật của bộ chứa S3 của bạn
  • Có thể ngăn truy cập trái phép vào các đối tượng của bạn
  • Có thể cho phép bạn kiểm soát ai có thể truy cập các đối tượng của bạn và những hành động họ có thể thực hiện trên các đối tượng đó

Điểm yếus :

  • Có thể yêu cầu nỗ lực bổ sung để thiết lập và quản lý các chính sách kiểm soát truy cập
  • Có thể khiến người dùng được ủy quyền khó truy cập các đối tượng của bạn hơn (nếu bạn có các chính sách hạn chế quá mức)
  1. Không kích hoạt tính năng Xóa MFA cho Bộ chứa S3 của bạn

Lỗi tiếp theo trong danh sách các lỗi AWS S3 phổ biến là không cho phép xóa MFA cho bộ chứa S3 của bạn. Xóa MFA là một tính năng bảo mật yêu cầu người dùng cung cấp mã MFA hợp lệ trước khi họ có thể xóa vĩnh viễn các đối tượng khỏi bộ chứa của bạn. Điều này có thể giúp ngăn việc vô tình hoặc cố ý xóa các đối tượng trong bộ chứa của bạn.

Để bật tính năng xóa MFA cho bộ chứa S3 của bạn, hãy làm theo các bước sau:

  1. Mở bảng điều khiển S3 và nhấp vào tên của bộ chứa mà bạn muốn bật tính năng xóa MFA.
  2. Nhấp vào tab “Quyền” và sau đó nhấp vào tab phụ “Xóa MFA”.
  3. Nhấp vào nút “Chỉnh sửa” và sau đó chọn tùy chọn “Bật Xóa MFA”.
  4. Nhấp vào nút "Lưu" để lưu các thay đổi của bạn.

Bạn cũng có thể kích hoạt tính năng xóa MFA bằng AWS CLI. Để làm điều này, sử dụng lệnh sau:

aws s3api put-bucket-versioning --bucket my-bucket --versioning-configuration Status=Đã bật,MFADelete=Đã bật

Trong ví dụ này, bộ chứa “my-bucket” sẽ được đặt để bật lập phiên bản và bật xóa MFA. Điều này có nghĩa là bất kỳ đối tượng mới nào được thêm vào bộ chứa sẽ được tạo phiên bản và các phiên bản trước đó của đối tượng sẽ được giữ nguyên khi đối tượng đó bị ghi đè hoặc xóa. Điều đó cũng có nghĩa là cần có mã thông báo MFA hợp lệ để xóa vĩnh viễn một đối tượng khỏi nhóm.

Điều quan trọng cần lưu ý là chỉ có thể bật xóa MFA nếu lập phiên bản cũng được bật cho bộ chứa. Ngoài ra, sau khi đã bật tính năng xóa MFA cho một bộ chứa, thì không thể tạm dừng hoặc tắt tính năng này.

Ưu điểm:

  • Có thể ngăn hành vi xóa đối tượng do vô tình hoặc cố ý trong bộ chứa S3 của bạn
  • Có thể cải thiện tính bảo mật của bộ chứa S3 của bạn
  • Có thể cho phép bạn yêu cầu xác thực bổ sung trước khi có thể xóa các đối tượng

Điểm yếus :

  • Có thể cần thêm nỗ lực để thiết lập và quản lý xóa MFA
  • Có thể khiến người dùng được ủy quyền khó xóa các đối tượng trong bộ chứa S3 của bạn hơn (nếu họ không có quyền truy cập vào thiết bị MFA)
  1. Không thiết lập quy tắc vòng đời cho bộ chứa S3 của bạn

Lỗi tiếp theo trong danh sách các lỗi AWS S3 phổ biến mà mọi người thường mắc phải là không thiết lập quy tắc vòng đời cho bộ chứa của họ. Quy tắc vòng đời cho phép bạn tự động hóa việc quản lý các đối tượng trong bộ chứa của mình. Ví dụ: bạn có thể sử dụng các quy tắc vòng đời để di chuyển các đối tượng sang một lớp lưu trữ khác sau một số ngày nhất định hoặc để xóa vĩnh viễn các đối tượng sau một số ngày nhất định.

Để thiết lập quy tắc vòng đời cho bộ chứa S3 của bạn, hãy làm theo các bước sau:

  1. Mở bảng điều khiển S3 và nhấp vào tên của bộ chứa mà bạn muốn thiết lập quy tắc vòng đời.
  2. Nhấp vào tab “Quản lý” và sau đó nhấp vào tab phụ “Vòng đời”.
  3. Nhấp vào nút “Thêm quy tắc” rồi nhập thông tin chi tiết về quy tắc mà bạn muốn tạo.

Dưới đây là ví dụ về quy tắc vòng đời di chuyển các đối tượng sang lớp lưu trữ SIA sau 30 ngày và xóa chúng vĩnh viễn sau 90 ngày:

{ "Hết hạn": { "Ngày": 90 }, "ID": "MoveToSIA", "Tiền tố": "", "Trạng thái": "Đã bật", "Chuyển đổi": [ { "Ngày": 30, "StorageClass ": "STANDARD_IA" } ] }

Dưới đây là ví dụ về cách sử dụng AWS CLI để thiết lập quy tắc vòng đời chuyển các đối tượng sang lớp lưu trữ “GLACIER” sau 30 ngày và xóa chúng vĩnh viễn sau 90 ngày:

aws s3api put-bucket-lifecycle-configuration --bucket my-bucket --lifecycle-configuration '{ "Quy tắc": [ { "ID": "Chuyển sang GLACIER", "Tiền tố": "", "Trạng thái": " Đã bật", "Chuyển tiếp": [ { "Ngày": 30, "StorageClass": "GLACIER" } ] }, { "ID": "Xóa sau 90 ngày", "Tiền tố": "", "Trạng thái": " Đã bật", "Hết hạn": { "Ngày": 90 } } ] }'

Trong ví dụ này, bộ chứa “my-bucket” sẽ được đặt thành hai quy tắc vòng đời. Quy tắc đầu tiên chuyển bất kỳ đối tượng nào trong bộ chứa sang lớp lưu trữ “GLACIER” sau 30 ngày. Quy tắc thứ hai sẽ xóa vĩnh viễn mọi đối tượng trong nhóm sau 90 ngày.

Điều quan trọng cần lưu ý là aws s3api put-bucket-lifecycle-configuration lệnh thay thế cấu hình vòng đời hiện tại cho bộ chứa bằng cấu hình được chỉ định trong lệnh. Nếu bạn muốn thêm các quy tắc bổ sung vào cấu hình hiện tại, bạn có thể sử dụng aws s3api put-bucket-lifecycle-configuration lệnh nhiều lần, hoặc bạn có thể sử dụng aws s3api get-bucket-lifecycle-configuration lệnh để truy xuất cấu hình hiện có và sửa đổi nó trước khi sử dụngaws s3api get-bucket-lifecycle-configuration lệnh để truy xuất cấu hình hiện có, thêm các quy tắc mới vào cấu hình đó, sau đó sử dụng aws s3api put-bucket-lifecycle-configuration lệnh để áp dụng cấu hình cập nhật.

Ưu điểm:

  • Có thể tự động hóa việc quản lý các đối tượng trong bộ chứa S3 của bạn
  • Có thể giúp bạn tiết kiệm chi phí lưu trữ (bằng cách di chuyển các đối tượng sang các lớp lưu trữ rẻ hơn hoặc xóa chúng sau một số ngày nhất định)
  • Có thể cải thiện hiệu suất của bộ chứa S3 của bạn (bằng cách di chuyển các đối tượng được truy cập thường xuyên sang các lớp lưu trữ nhanh hơn)

Điểm yếus :

  • Việc không thiết lập quy tắc vòng đời có thể dẫn đến chi phí lưu trữ không cần thiết nếu dữ liệu không được truy cập thường xuyên và được lưu giữ vô thời hạn.
  • Việc không thiết lập các quy tắc vòng đời có thể dẫn đến việc tăng mức sử dụng dung lượng lưu trữ và các hạn chế về dung lượng lưu trữ tiềm ẩn.
  • Việc không thiết lập quy tắc vòng đời có thể dẫn đến mất dữ liệu nếu dữ liệu không được sao lưu hoặc chuyển sang lớp lưu trữ khác trước khi bị xóa do hết hạn.
  1. Không mã hóa các đối tượng S3 của bạn

Các lỗi AWS S3 phổ biến cần tránh
Nguồn – pexels.com

Lỗi tiếp theo trong danh sách các lỗi AWS S3 phổ biến là không mã hóa các đối tượng trong bộ chứa S3 của bạn. Mã hóa rất quan trọng để bảo vệ dữ liệu nhạy cảm mà bạn lưu trữ trong bộ chứa S3 của mình. S3 cung cấp một số tùy chọn để mã hóa các đối tượng của bạn, bao gồm mã hóa phía máy chủ và mã hóa phía máy khách.

Để mã hóa các đối tượng S3 của bạn bằng mã hóa phía máy chủ, hãy làm theo các bước sau:

  1. Mở bảng điều khiển S3 và nhấp vào tên của bộ chứa mà bạn muốn mã hóa.
  2. Nhấp vào tab “Thuộc tính” và sau đó nhấp vào tab phụ “Mã hóa phía máy chủ”.
  3. Nhấp vào nút “Chỉnh sửa” rồi chọn tùy chọn mã hóa mà bạn muốn sử dụng (ví dụ: AES-256).
  4. Nhấp vào nút "Lưu" để lưu các thay đổi của bạn.

Dưới đây là một ví dụ về cách sử dụng lệnh này để mã hóa một đối tượng bằng thuật toán mã hóa AES256:

aws s3api put-object --bucket my-bucket --key my-object --mã hóa phía máy chủ AES256 --body my-file.txt

Trong ví dụ này, đối tượng “my-object” trong vùng chứa “my-bucket” sẽ được mã hóa bằng thuật toán AES256. Tệp “my-file.txt” sẽ được sử dụng làm nội dung của đối tượng.

Điều quan trọng cần lưu ý là aws s3api put-object lệnh chỉ mã hóa đối tượng khi nó được tải lên S3. Nếu bạn muốn mã hóa một đối tượng hiện có, bạn có thể sử dụng aws s3api copy-object lệnh sao chép đối tượng vào chính nó và chỉ định các tùy chọn mã hóa trong lệnh.

Ưu điểm:

  • Có thể bảo vệ dữ liệu nhạy cảm mà bạn lưu trữ trong bộ chứa S3 của mình
  • Có thể tuân thủ các quy định về quyền riêng tư dữ liệu (ví dụ: GDPR, HIPAA)
  • Có thể cải thiện tính bảo mật của bộ chứa S3 của bạn

Điểm yếus :

  • Có thể cần thêm nỗ lực để thiết lập và quản lý mã hóa cho các đối tượng S3 của bạn
  • Có thể làm giảm hiệu suất của bộ chứa S3 của bạn (nếu bạn sử dụng mã hóa phía máy khách)
  1. Không thiết lập Sao chép liên khu vực cho nhóm S3 của bạn

Lỗi tiếp theo trong danh sách các lỗi AWS S3 phổ biến mà mọi người thường mắc phải là không thiết lập sao chép liên khu vực cho bộ chứa của họ. Sao chép liên khu vực cho phép bạn tự động sao chép các đối tượng trong bộ chứa S3 sang một khu vực khác. Điều này có thể cung cấp dự phòng bổ sung và cải thiện tính khả dụng của dữ liệu của bạn.

Để thiết lập sao chép liên vùng cho bộ chứa S3 của bạn, hãy làm theo các bước sau:

  1. Mở bảng điều khiển S3 và nhấp vào tên của bộ chứa mà bạn muốn thiết lập sao chép.
  2. Nhấp vào tab “Quản lý” và sau đó nhấp vào tab phụ “Sao chép”.
  3. Nhấp vào nút “Thêm quy tắc” và sau đó nhập thông tin chi tiết về quy tắc sao chép mà bạn muốn tạo.

Dưới đây là một ví dụ về quy tắc sao chép để sao chép các đối tượng từ vùng chứa “my-bucket” trong vùng “us-east-1” sang vùng chứa “my-bucket-replica” trong vùng “eu-west-1”:

{ "Destination": { "Bucket": "arn:aws:s3:::my-bucket-replica", "StorageClass": "STANDARD" }, "ID": "MyReplicationRule", "Prefix": "", "Trạng thái": "Đã bật" }

Bạn cũng có thể thiết lập sao chép liên khu vực bằng AWS CLI. Để làm điều này, sử dụng lệnh sau:

aws s3api create-replication-configuration --replication-configuration '{ "Vai trò": "arn:aws:iam::123456789012:role/my-replication-role", "Quy tắc": [ { "ID": "Sao chép tất cả đối tượng", "Tiền tố": "", "Trạng thái": "Đã bật", "Đích": { "Nhóm": "arn:aws:s3:::my-destination-bucket" } } ] }'

Trong ví dụ này, bộ chứa “my-bucket” sẽ được thiết lập để sao chép tất cả các đối tượng vào bộ chứa “my-destination-bucket” ở một khu vực khác. Quá trình sao chép sẽ được thực hiện bằng cách sử dụng vai trò IAM được chỉ định trong trường “Vai trò”.

Điều quan trọng cần lưu ý là aws s3api create-replication-configuration lệnh chỉ thiết lập cấu hình sao chép cho nhóm nguồn. Nó không tự động kích hoạt sao chép cho các đối tượng hiện có trong nhóm. Để sao chép các đối tượng hiện có, bạn có thể sử dụng aws s3api put-bucket-replication lệnh để kích hoạt sao chép cho nhóm, sau đó sử dụng aws s3 sync lệnh sao chép các đối tượng vào thùng đích.

Ưu điểm:

  • Có thể cung cấp dự phòng bổ sung cho bộ chứa S3 của bạn
  • Có thể cải thiện tính khả dụng của dữ liệu của bạn
  • Có thể cho phép bạn sử dụng bộ chứa S3 ở các khu vực khác nhau cho các mục đích khác nhau (ví dụ: một khu vực dành cho lưu trữ chính và một khu vực khác để khắc phục thảm họa)

Điểm yếus :

  • Có thể yêu cầu nỗ lực bổ sung để thiết lập và quản lý sao chép liên khu vực
  • Có thể tăng chi phí lưu trữ cho bộ chứa S3 của bạn (nếu bạn sao chép các đối tượng sang nhiều vùng)
  • Có thể làm giảm hiệu suất của bộ chứa S3 của bạn (nếu bạn sao chép các đối tượng sang các vùng ở xa)
  1. Không sử dụng Tăng tốc truyền S3

Lỗi AWS S3 - Không sử dụng Tăng tốc truyền S3
Nguồn - Unsplash

Lỗi tiếp theo trong danh sách các lỗi AWS S3 phổ biến là không sử dụng Tăng tốc truyền S3. Tăng tốc truyền S3 sử dụng mạng biên Amazon CloudFront để tăng tốc quá trình truyền các đối tượng lớn đến và từ bộ chứa S3 của bạn. Điều này có thể cải thiện đáng kể hiệu suất của bộ chứa S3, đặc biệt nếu bạn có người dùng ở các khu vực khác nhau.

Để bật Tăng tốc truyền S3 cho bộ chứa S3 của bạn, hãy làm theo các bước sau:

  1. Nhấp vào tab “Properties” và sau đó nhấp vào tab phụ “Transfer Acceleration”.
  2. Nhấp vào nút “Chỉnh sửa” và sau đó chọn tùy chọn “Bật tăng tốc chuyển”.
  3. Nhấp vào nút "Lưu" để lưu các thay đổi của bạn.

Bạn cũng có thể bật Tăng tốc truyền S3 bằng AWS CLI. Để làm điều này, sử dụng lệnh sau:

aws s3api put-bucket-accelerate-configuration --bucket my-bucket --accelerate-configuration Trạng thái=Đã bật,AccelerationRate=Đầy đủ

Trong ví dụ này, bộ chứa “my-bucket” sẽ được đặt để sử dụng Tăng tốc truyền S3 ở tốc độ tối đa (nghĩa là “Đầy”). Điều này có nghĩa là các đối tượng trong bộ chứa sẽ được chuyển đến và từ bộ chứa bằng cách sử dụng mạng Amazon S3 Edge, mạng này có thể cung cấp tốc độ truyền nhanh hơn so với Internet tiêu chuẩn.

Điều quan trọng cần lưu ý là Tăng tốc truyền S3 chỉ khả dụng cho các đối tượng trong các lớp lưu trữ S3 Tiêu chuẩn và S3 Thông minh theo bậc. Tính năng này không khả dụng cho các đối tượng trong các lớp lưu trữ khác, chẳng hạn như S3 Glacier hoặc S3 Truy cập không thường xuyên một vùng.

Ưu điểm:

  • Có thể cải thiện đáng kể hiệu suất truyền các đối tượng lớn đến và từ bộ chứa S3 của bạn
  • Có thể cho phép bạn chuyển các đối tượng đến và từ bộ chứa S3 của mình nhanh hơn, ngay cả khi bạn có người dùng ở các khu vực khác nhau
  • Có thể giảm thời gian và chi phí chuyển các đối tượng lớn đến và từ bộ chứa S3 của bạn

Điểm yếus :

  • Có thể cần thêm nỗ lực để thiết lập và bật tính năng Tăng tốc truyền S3
  • Có thể tăng chi phí sử dụng S3 (nếu bạn sử dụng S3 Transfer Acceleration thường xuyên)
  • Chỉ có thể được sử dụng để chuyển các đối tượng đến và từ bộ chứa S3 của bạn (không dành cho các hoạt động S3 khác)
  1. Không sử dụng S3 Intelligent-Tiering

Lỗi tiếp theo trong danh sách các lỗi AWS S3 phổ biến mà mọi người thường mắc phải là không sử dụng S3 Intelligent-Tiering. S3 Intelligent-Tiering là một lớp lưu trữ mới tự động di chuyển các đối tượng của bạn giữa các lớp lưu trữ S3 Tiêu chuẩn và S3 SIA dựa trên các mẫu truy cập của chúng. Điều này có thể giúp bạn tiết kiệm tiền cho chi phí lưu trữ mà không làm giảm hiệu suất.

Để bật Phân tầng thông minh S3 cho bộ chứa S3 của bạn, hãy làm theo các bước sau:

  1. Mở bảng điều khiển S3 và nhấp vào tên của bộ chứa mà bạn muốn bật Phân tầng thông minh.
  2. Nhấp vào tab “Management” và sau đó nhấp vào tab phụ “Intelligent-Tiering”.
  3. Nhấp vào nút “Chỉnh sửa” và sau đó chọn tùy chọn “Bật phân tầng thông minh”.
  4. Nhấp vào nút "Lưu" để lưu các thay đổi của bạn.

Bạn cũng có thể bật Phân tầng thông minh S3 bằng AWS CLI. Để làm điều này, sử dụng lệnh sau:

aws s3api put-bucket-intelligent-tiering-configuration --bucket my-bucket --intelligent-tiering-configuration '{ "Id": "MyIntelligentTieringConfiguration", "Filter": { "Prefix": "", "Tag": { "Key": "", "Value": "" } }, "Status": "Enabled", "Tierings": [ { "AccessTier": "Standard" 

Trong ví dụ này, bộ chứa “my-bucket” sẽ được đặt để sử dụng S3 Intelligent Tiering với cấu hình mặc định. Điều này có nghĩa là các đối tượng trong bộ chứa sẽ tự động được di chuyển giữa các bậc truy cập “Tiêu chuẩn” và “Phân bậc thông minh” dựa trên các mẫu truy cập của chúng mà không cần bất kỳ cấu hình bổ sung nào.

Điều quan trọng cần lưu ý là S3 Intelligent Tiing chỉ khả dụng cho các đối tượng trong lớp lưu trữ S3 Tiêu chuẩn. Tính năng này không khả dụng cho các đối tượng trong các lớp lưu trữ khác, chẳng hạn như S3 Glacier hoặc S3 Truy cập không thường xuyên một vùng.

Ưu điểm:

  • Có thể tự động di chuyển các đối tượng của bạn giữa các lớp lưu trữ S3 Tiêu chuẩn và S3 SIA dựa trên các mẫu truy cập của chúng
  • Có thể giúp bạn tiết kiệm tiền cho chi phí lưu trữ mà không làm giảm hiệu suất
  • Có thể cho phép bạn sử dụng đúng lớp lưu trữ cho các loại đối tượng khác nhau

Điểm yếus :

  • Có thể cần thêm nỗ lực để thiết lập và kích hoạt S3 Intelligent-Tiering
  • Có thể tăng độ phức tạp của việc quản lý bộ chứa S3 của bạn (nếu bạn có một số lượng lớn đối tượng được lưu trữ trong các lớp lưu trữ khác nhau)
  • Chỉ có thể được sử dụng cho các đối tượng được lưu trữ trong các lớp lưu trữ S3 Tiêu chuẩn và S3 SIA (không dành cho các đối tượng được lưu trữ trong các lớp lưu trữ khác)
  1. Không sử dụng S3 Select và S3 Glacier Select

Lỗi cuối cùng mà chúng tôi sẽ đề cập là không sử dụng S3 Select và S3 Glacier Select. S3 Select cho phép bạn chỉ truy xuất dữ liệu bạn cần từ các đối tượng S3 một cách nhanh chóng và hiệu quả. Điều này có thể cải thiện hiệu suất và giảm chi phí vận hành S3 của bạn. S3 Glacier Select tương tự như S3 Select nhưng được tối ưu hóa để sử dụng với lớp lưu trữ S3 Glacier.

Để sử dụng S3 Select, bạn cần kích hoạt nó cho bộ chứa S3 của mình, sau đó sử dụng cú pháp giống như SQL để truy vấn các đối tượng trong bộ chứa của bạn. Đây là một truy vấn ví dụ chỉ truy xuất các trường “tên” và “tuổi” từ các đối tượng trong bộ chứa “my-bucket”:

CHỌN tên, tuổi TỪ s3object s WHERE s.bucket = 'my-bucket'

Bạn có thể sử dụng AWS CLI để chạy truy vấn S3 Select. Để làm điều này, sử dụng lệnh sau:

aws s3api select-object-content --bucket my-bucket --expression "CHỌN tên, tuổi TỪ S3Object s WHERE s.bucket = 'my-bucket'" --input-serialization '{"JSON": {}}' --output-serialization '{"JSON": {}}'

Trong ví dụ này, các đối tượng trong bộ chứa “my-bucket” sẽ được truy vấn bằng cách sử dụng biểu thức SQL “SELECT name, age FROM S3Object s WHERE s.bucket = 'my-bucket'”. Các đối tượng sẽ được coi là ở định dạng JSON và kết quả truy vấn cũng sẽ được trả về dưới dạng các đối tượng JSON.

Điều quan trọng cần lưu ý là aws s3api select-object-content lệnh chỉ truy xuất kết quả truy vấn, nó không sửa đổi các đối tượng theo bất kỳ cách nào. Nếu bạn muốn sửa đổi các đối tượng dựa trên kết quả truy vấn, bạn có thể sử dụng aws s3api put-object lệnh cập nhật các đối tượng với dữ liệu đã sửa đổi.

Để sử dụng S3 Glacier Select, trước tiên bạn cần di chuyển các đối tượng mà bạn muốn truy vấn sang lớp lưu trữ S3 Glacier. Sau đó, bạn có thể sử dụng cùng một cú pháp giống như SQL để truy vấn các đối tượng trong bộ chứa của mình. Đây là một truy vấn ví dụ chỉ truy xuất các trường “tên” và “tuổi” từ các đối tượng trong bộ chứa “my-bucket”:

CHỌN tên, tuổi TỪ s3object s WHERE s.bucket = 'my-bucket'

Bạn có thể sử dụng AWS CLI để chạy các truy vấn S3 Glacier Select. Để làm điều này, sử dụng lệnh sau:

# Di chuyển các đối tượng đến lớp lưu trữ S3 Glacier aws s3api put-object --bucket my-bucket --key my-object --storage-class GLACIER # Truy vấn các đối tượng bằng S3 Glacier Select aws s3api select-object-content -- bucket my-bucket --expression "CHỌN tên, tuổi TỪ S3Object s WHERE s.bucket = 'my-bucket'" --input-serialization '{"JSON": {}}' --output-serialization '{"JSON ": {}}'

Trong ví dụ này, đối tượng “my-object” trong bộ chứa “my-bucket” sẽ được chuyển đến lớp lưu trữ S3 Glacier bằng cách sử dụng aws s3api put-object chỉ huy. Sau đó, các đối tượng trong nhóm sẽ được truy vấn bằng cách sử dụng biểu thức SQL “CHỌN tên, tuổi TỪ S3Object s WHERE s.bucket = 'my-bucket'” bằng cách sử dụng aws s3api select-object-content chỉ huy. Các đối tượng sẽ được coi là ở định dạng JSON và kết quả truy vấn cũng sẽ được trả về dưới dạng đối tượng JSON.

Điều quan trọng cần lưu ý là S3 Glacier Select chỉ khả dụng cho các đối tượng trong lớp lưu trữ S3 Glacier. Nó không khả dụng cho các đối tượng trong các lớp lưu trữ khác, chẳng hạn như S3 Tiêu chuẩn hoặc S3 Phân tầng thông minh.

Ưu điểm:

  • Chỉ có thể truy xuất nhanh chóng và hiệu quả dữ liệu mà bạn cần từ các đối tượng S3 của mình
  • Có thể cải thiện hiệu suất và giảm chi phí vận hành S3 của bạn
  • Có thể cho phép bạn truy vấn các đối tượng S3 của mình bằng cú pháp giống như SQL

Điểm yếus :

  • Có thể cần thêm nỗ lực để thiết lập và sử dụng S3 Select và S3 Glacier Select
  • Chỉ có thể được sử dụng cho các đối tượng được lưu trữ trong các lớp lưu trữ S3 Tiêu chuẩn, S3 SIA và S3 Glacier (không dành cho các đối tượng được lưu trữ trong các lớp lưu trữ khác)
  • Chỉ có thể được sử dụng cho các đối tượng ở định dạng được hỗ trợ (ví dụ: CSV, JSON, Parquet)

Nhìn chung, AWS S3 cung cấp nhiều tính năng mạnh mẽ có thể giúp bạn cải thiện hiệu suất, tính bảo mật và hiệu quả chi phí của bộ chứa S3. Tuy nhiên, điều quan trọng là phải tránh các lỗi phổ biến và sử dụng các phương pháp hay nhất khi làm việc với S3. Bằng cách làm theo các mẹo và thủ thuật trong bài đăng trên blog này, bạn có thể tránh và khắc phục những lỗi phổ biến nhất khi làm việc với S3.

Kết luận

Tóm lại, AWS S3 là một dịch vụ lưu trữ đám mây mạnh mẽ và giàu tính năng. Tuy nhiên, điều quan trọng là phải tránh những lỗi phổ biến khi làm việc với S3. Trong bài đăng trên blog này, chúng tôi đã đề cập đến 10 lỗi AWS S3 phổ biến và cách khắc phục chúng. Bằng cách làm theo các phương pháp hay nhất này, bạn có thể cải thiện hiệu suất, tính bảo mật và hiệu quả chi phí của bộ chứa S3.

Dưới đây là những điểm chính từ bài đăng trên blog này:

  • Thiết lập lập phiên bản cho bộ chứa S3 của bạn để lưu giữ, truy xuất và khôi phục các phiên bản trước đó của đối tượng.
  • Sử dụng lớp lưu trữ chính xác cho các đối tượng S3 của bạn để tiết kiệm chi phí lưu trữ và cải thiện hiệu suất.
  • Thiết lập con truy cập
  • Bật xóa MFA cho bộ chứa S3 của bạn để ngăn việc xóa các đối tượng do vô tình hoặc cố ý.
  • Thiết lập quy tắc vòng đời cho bộ chứa S3 của bạn để tự động hóa việc quản lý đối tượng và tiết kiệm tiền cho chi phí lưu trữ.
  • Mã hóa các đối tượng S3 của bạn để bảo vệ dữ liệu nhạy cảm và tuân thủ các quy định về quyền riêng tư dữ liệu.
  • Thiết lập sao chép liên vùng cho bộ chứa S3 của bạn để cung cấp thêm khả năng dự phòng và cải thiện tính khả dụng.
  • Sử dụng Tăng tốc truyền S3 để cải thiện hiệu suất truyền các đối tượng lớn đến và từ bộ chứa S3 của bạn.
  • Sử dụng Phân tầng thông minh S3 để tự động di chuyển các đối tượng của bạn giữa các lớp lưu trữ dựa trên các mẫu truy cập của chúng.
  • Sử dụng S3 Select và S3 Glacier Select để chỉ truy xuất dữ liệu bạn cần từ các đối tượng S3 một cách nhanh chóng và hiệu quả.

Bằng cách làm theo các phương pháp hay nhất này, bạn có thể tránh được các lỗi AWS S3 phổ biến và tận dụng tối đa AWS S3.

Cảm ơn vì đã đọc!🤗

Nếu bạn thích blog này, hãy cân nhắc theo dõi tôi trên Phân tích Vidhya, Trung bình, GitHubLinkedIn.

Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định riêng của Tác giả.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img