Câu hỏi phỏng vấn lập trình viên php

Amazon Simple Storage Service (Amazon S3) là một dịch vụ lưu trữ đối tượng cung cấp khả năng mở rộng, tính sẵn có của dữ liệu, bảo mật và hiệu suất hàng đầu trong ngành. Khách hàng thuộc mọi quy mô và ngành nghề có thể sử dụng Amazon S3 để lưu trữ và bảo vệ mọi lượng dữ liệu cho nhiều trường hợp sử dụng, chẳng hạn như kho dữ liệu, trang web, ứng dụng di động, sao lưu và khôi phục, lưu trữ, ứng dụng doanh nghiệp, thiết bị IoT và dữ liệu lớn . Amazon S3 cung cấp các tính năng quản lý để bạn có thể tối ưu hóa, sắp xếp và định cấu hình quyền truy cập vào dữ liệu của mình nhằm đáp ứng các yêu cầu tuân thủ, tổ chức và kinh doanh cụ thể của bạn

Các tính năng của Amazon S3

lớp lưu trữ

Amazon S3 cung cấp một loạt các lớp lưu trữ được thiết kế cho các trường hợp sử dụng khác nhau. Ví dụ: bạn có thể lưu trữ dữ liệu sản xuất quan trọng trong S3 Tiêu chuẩn để truy cập thường xuyên, tiết kiệm chi phí bằng cách lưu trữ dữ liệu không thường xuyên truy cập trong S3 Tiêu chuẩn-IA hoặc S3 Một vùng-IA và lưu trữ dữ liệu với chi phí thấp nhất trong S3 Glacier Instant Retrieval,

Bạn có thể lưu trữ dữ liệu với các mẫu truy cập thay đổi hoặc không xác định trong S3 Intelligent-Tiering, giúp tối ưu hóa chi phí lưu trữ bằng cách tự động di chuyển dữ liệu của bạn giữa bốn bậc truy cập khi các mẫu truy cập của bạn thay đổi. Bốn bậc truy cập này bao gồm hai bậc truy cập có độ trễ thấp được tối ưu hóa cho truy cập thường xuyên và không thường xuyên, và hai bậc truy cập kho lưu trữ chọn tham gia được thiết kế để truy cập không đồng bộ đối với dữ liệu hiếm khi được truy cập

Để biết thêm thông tin, xem Sử dụng các lớp lưu trữ Amazon S3. Để biết thêm thông tin về Truy xuất linh hoạt trên S3 Glacier, hãy xem Hướng dẫn dành cho nhà phát triển Amazon S3 Glacier

Quản lý lưu trữ

Amazon S3 có các tính năng quản lý lưu trữ mà bạn có thể sử dụng để quản lý chi phí, đáp ứng các yêu cầu theo quy định, giảm độ trễ và lưu nhiều bản sao dữ liệu riêng biệt của bạn để đáp ứng các yêu cầu tuân thủ

  • Vòng đời S3 – Định cấu hình chính sách vòng đời để quản lý các đối tượng của bạn và lưu trữ chúng một cách hiệu quả trong suốt vòng đời của chúng. Bạn có thể chuyển các đối tượng sang các lớp lưu trữ S3 khác hoặc các đối tượng hết hạn sử dụng khi hết vòng đời của chúng

  • Khóa đối tượng S3 – Ngăn các đối tượng Amazon S3 bị xóa hoặc ghi đè trong một khoảng thời gian cố định hoặc vô thời hạn. Bạn có thể sử dụng Khóa đối tượng để giúp đáp ứng các yêu cầu quy định yêu cầu lưu trữ ghi một lần đọc nhiều (WORM) hoặc chỉ cần thêm một lớp bảo vệ khác chống lại các thay đổi và xóa đối tượng

  • Sao chép S3 – Sao chép các đối tượng cũng như thẻ đối tượng và siêu dữ liệu tương ứng của chúng vào một hoặc nhiều bộ chứa đích trong cùng Khu vực AWS hoặc các Khu vực AWS khác nhau để giảm độ trễ, tuân thủ, bảo mật và các trường hợp sử dụng khác

  • S3 Batch Operations – Quản lý hàng tỷ đối tượng trên quy mô lớn bằng một yêu cầu API S3 duy nhất hoặc một vài cú nhấp chuột trong bảng điều khiển Amazon S3. Bạn có thể sử dụng Batch Operations để thực hiện các thao tác như Sao chép, Gọi hàm AWS Lambda và Khôi phục trên hàng triệu hoặc hàng tỷ đối tượng

Quản lý truy cập

Amazon S3 cung cấp các tính năng để kiểm tra và quản lý quyền truy cập vào bộ chứa và đối tượng của bạn. Theo mặc định, bộ chứa S3 và các đối tượng trong đó là riêng tư. Bạn chỉ có quyền truy cập vào các tài nguyên S3 mà bạn tạo. Để cấp các quyền tài nguyên chi tiết hỗ trợ trường hợp sử dụng cụ thể của bạn hoặc để kiểm tra các quyền tài nguyên Amazon S3 của bạn, bạn có thể sử dụng các tính năng sau

  • S3 Block Public Access – Chặn quyền truy cập công khai vào các đối tượng và bộ chứa S3. Theo mặc định, cài đặt Chặn truy cập công cộng được bật ở cấp tài khoản và nhóm

  • AWS Identity and Access Management (IAM) – Tạo người dùng IAM cho tài khoản AWS của bạn để quản lý quyền truy cập vào tài nguyên Amazon S3 của bạn. Ví dụ: bạn có thể sử dụng IAM với Amazon S3 để kiểm soát loại quyền truy cập mà người dùng hoặc nhóm người dùng có đối với bộ chứa S3 mà tài khoản AWS của bạn sở hữu

  • Chính sách bộ chứa – Sử dụng ngôn ngữ chính sách dựa trên IAM để định cấu hình quyền dựa trên tài nguyên cho bộ chứa S3 của bạn và các đối tượng trong đó

  • Các điểm truy cập Amazon S3 – Định cấu hình các điểm cuối mạng được đặt tên với các chính sách truy cập chuyên dụng để quản lý quyền truy cập dữ liệu trên quy mô lớn cho các bộ dữ liệu được chia sẻ trong Amazon S3

  • Danh sách kiểm soát truy cập (ACL) – Cấp quyền đọc và ghi cho các nhóm và đối tượng riêng lẻ cho người dùng được ủy quyền. Theo nguyên tắc chung, chúng tôi khuyên bạn nên sử dụng các chính sách dựa trên tài nguyên S3 (chính sách nhóm và chính sách điểm truy cập) hoặc chính sách IAM để kiểm soát truy cập thay vì ACL. ACL là một cơ chế kiểm soát truy cập có trước các chính sách dựa trên tài nguyên và IAM. Để biết thêm thông tin về thời điểm bạn sử dụng ACL thay vì chính sách dựa trên tài nguyên hoặc chính sách IAM, hãy xem Nguyên tắc chính sách truy cập

  • Quyền sở hữu đối tượng S3 – Vô hiệu hóa ACL và giành quyền sở hữu mọi đối tượng trong bộ chứa của bạn, đơn giản hóa việc quản lý quyền truy cập đối với dữ liệu được lưu trữ trong Amazon S3. Bạn, với tư cách là chủ sở hữu bộ chứa, tự động sở hữu và có toàn quyền kiểm soát mọi đối tượng trong bộ chứa của mình và quyền kiểm soát quyền truy cập đối với dữ liệu của bạn dựa trên các chính sách

  • Trình phân tích truy cập cho S3 – Đánh giá và giám sát các chính sách truy cập bộ chứa S3 của bạn, đảm bảo rằng các chính sách chỉ cung cấp quyền truy cập dự kiến ​​vào các tài nguyên S3 của bạn

Xử lí dữ liệu

Để chuyển đổi dữ liệu và kích hoạt quy trình công việc nhằm tự động hóa nhiều hoạt động xử lý khác trên quy mô lớn, bạn có thể sử dụng các tính năng sau

  • Đối tượng S3 Lambda – Thêm mã của riêng bạn vào các yêu cầu S3 GET, HEAD và LIST để sửa đổi và xử lý dữ liệu khi dữ liệu được trả về ứng dụng. Lọc các hàng, tự động thay đổi kích thước hình ảnh, sắp xếp lại dữ liệu bí mật và hơn thế nữa

  • Thông báo sự kiện – Kích hoạt quy trình công việc sử dụng Amazon Simple Notification Service (Amazon SNS), Amazon Simple Queue Service (Amazon SQS) và AWS Lambda khi có thay đổi đối với tài nguyên S3 của bạn

Ghi nhật ký và giám sát lưu trữ

Amazon S3 cung cấp các công cụ giám sát và ghi nhật ký mà bạn có thể sử dụng để giám sát và kiểm soát cách tài nguyên Amazon S3 của bạn đang được sử dụng. Để biết thêm thông tin, hãy xem Công cụ giám sát

Công cụ giám sát tự động

  • Số liệu Amazon CloudWatch cho Amazon S3 – Theo dõi tình trạng hoạt động của tài nguyên S3 của bạn và định cấu hình cảnh báo thanh toán khi phí ước tính đạt đến ngưỡng do người dùng xác định

  • AWS CloudTrail – Ghi lại các hành động được thực hiện bởi người dùng, vai trò hoặc dịch vụ AWS trong Amazon S3. Nhật ký CloudTrail cung cấp cho bạn thông tin theo dõi API chi tiết cho các hoạt động ở cấp độ bộ chứa và cấp độ đối tượng của S3

Công cụ giám sát thủ công

  • Ghi nhật ký truy cập máy chủ – Nhận bản ghi chi tiết cho các yêu cầu được thực hiện đối với bộ chứa. Bạn có thể sử dụng nhật ký truy cập máy chủ cho nhiều trường hợp sử dụng, chẳng hạn như tiến hành kiểm tra truy cập và bảo mật, tìm hiểu về cơ sở khách hàng của bạn và hiểu hóa đơn Amazon S3 của bạn

  • AWS Trusted Advisor – Đánh giá tài khoản của bạn bằng cách sử dụng các kiểm tra phương pháp hay nhất của AWS để xác định các cách tối ưu hóa cơ sở hạ tầng AWS, cải thiện bảo mật và hiệu suất, giảm chi phí và theo dõi định mức dịch vụ. Sau đó, bạn có thể làm theo các đề xuất để tối ưu hóa các dịch vụ và tài nguyên của mình

Phân tích và thông tin chi tiết

Amazon S3 cung cấp các tính năng giúp bạn hiểu rõ hơn về mức sử dụng bộ nhớ của mình, giúp bạn hiểu rõ hơn, phân tích và tối ưu hóa bộ nhớ của mình trên quy mô lớn

  • Ống kính lưu trữ Amazon S3 – Hiểu, phân tích và tối ưu hóa dung lượng lưu trữ của bạn. S3 Storage Lens cung cấp hơn 29 chỉ số hoạt động và sử dụng cũng như bảng điều khiển tương tác để tổng hợp dữ liệu cho toàn bộ tổ chức, tài khoản cụ thể, Khu vực AWS, bộ chứa hoặc tiền tố của bạn

  • Phân tích lớp lưu trữ – Phân tích các mẫu truy cập bộ nhớ để quyết định thời điểm chuyển dữ liệu sang lớp lưu trữ hiệu quả hơn về chi phí

  • S3 Inventory với báo cáo Inventory – Kiểm tra và báo cáo về các đối tượng cũng như siêu dữ liệu tương ứng của chúng, đồng thời định cấu hình các tính năng khác của Amazon S3 để thực hiện hành động trong báo cáo Inventory. Ví dụ: bạn có thể báo cáo về trạng thái sao chép và mã hóa của các đối tượng của mình. Để biết danh sách tất cả siêu dữ liệu có sẵn cho từng đối tượng trong báo cáo Khoảng không quảng cáo, hãy xem

nhất quán mạnh mẽ

Amazon S3 cung cấp tính nhất quán đọc-sau-ghi mạnh mẽ cho các yêu cầu PUT và DELETE của các đối tượng trong bộ chứa Amazon S3 của bạn ở tất cả các Khu vực AWS. Hành vi này áp dụng cho cả việc ghi các đối tượng mới cũng như các yêu cầu PUT ghi đè lên các đối tượng hiện có và các yêu cầu XÓA. Ngoài ra, các thao tác đọc trên Amazon S3 Select, danh sách kiểm soát truy cập (ACL) của Amazon S3, Thẻ đối tượng Amazon S3 và siêu dữ liệu đối tượng (ví dụ: đối tượng HEAD) rất nhất quán. Để biết thêm thông tin, xem

Amazon S3 hoạt động như thế nào

Amazon S3 là dịch vụ lưu trữ đối tượng lưu trữ dữ liệu dưới dạng đối tượng trong bộ chứa. Một đối tượng là một tệp và bất kỳ siêu dữ liệu nào mô tả tệp. Một cái xô là một thùng chứa cho các đối tượng

Để lưu trữ dữ liệu của bạn trong Amazon S3, trước tiên bạn tạo một bộ chứa và chỉ định tên bộ chứa cũng như Khu vực AWS. Sau đó, bạn tải dữ liệu của mình lên bộ chứa đó dưới dạng đối tượng trong Amazon S3. Mỗi đối tượng có một khóa (hoặc tên khóa), là mã định danh duy nhất cho đối tượng trong nhóm

S3 cung cấp các tính năng mà bạn có thể định cấu hình để hỗ trợ trường hợp sử dụng cụ thể của mình. Ví dụ: bạn có thể sử dụng Lập phiên bản S3 để giữ nhiều phiên bản của một đối tượng trong cùng một nhóm, cho phép bạn khôi phục các đối tượng vô tình bị xóa hoặc ghi đè

Các nhóm và các đối tượng trong đó là riêng tư và chỉ có thể được truy cập nếu bạn cấp quyền truy cập một cách rõ ràng. Bạn có thể sử dụng các chính sách bộ chứa, chính sách AWS Identity and Access Management (IAM), danh sách kiểm soát truy cập (ACL) và Điểm truy cập S3 để quản lý quyền truy cập

Bộ chứa là nơi chứa các đối tượng được lưu trữ trong Amazon S3. Bạn có thể lưu trữ bất kỳ số lượng đối tượng nào trong một nhóm và có thể có tối đa 100 nhóm trong tài khoản của mình. Để yêu cầu tăng, hãy truy cập Bảng điều khiển hạn ngạch dịch vụ

Mỗi đối tượng được chứa trong một thùng. Ví dụ: nếu đối tượng có tên photos/puppy.jpg được lưu trữ trong bộ chứa DOC-EXAMPLE-BUCKET ở Khu vực Miền Tây Hoa Kỳ (Oregon), thì nó có thể được định địa chỉ bằng cách sử dụng URL https://DOC-EXAMPLE-BUCKET.s3.us-west-2.amazonaws.com/photos/puppy.jpg. Để biết thêm thông tin, hãy xem Truy cập một nhóm

Khi tạo bộ chứa, bạn nhập tên bộ chứa và chọn Khu vực AWS nơi bộ chứa sẽ cư trú. Sau khi bạn tạo một nhóm, bạn không thể thay đổi tên của nhóm hoặc Vùng của nó. Tên nhóm phải tuân theo quy tắc đặt tên nhóm. Bạn cũng có thể định cấu hình bộ chứa để sử dụng Phiên bản S3 hoặc các tính năng quản lý bộ nhớ khác

Xô cũng

  • Sắp xếp không gian tên Amazon S3 ở mức cao nhất

  • Xác định tài khoản chịu trách nhiệm về phí lưu trữ và truyền dữ liệu

  • Cung cấp các tùy chọn kiểm soát truy cập, chẳng hạn như chính sách bộ chứa, danh sách kiểm soát truy cập (ACL) và Điểm truy cập S3 mà bạn có thể sử dụng để quản lý quyền truy cập vào tài nguyên Amazon S3 của mình

  • Đóng vai trò là đơn vị tổng hợp cho báo cáo sử dụng

Để biết thêm thông tin về bộ chứa, hãy xem Tổng quan về bộ chứa

Các đối tượng

Đối tượng là các thực thể cơ bản được lưu trữ trong Amazon S3. Các đối tượng bao gồm dữ liệu đối tượng và siêu dữ liệu. Siêu dữ liệu là một tập hợp các cặp tên-giá trị mô tả đối tượng. Các cặp này bao gồm một số siêu dữ liệu mặc định, chẳng hạn như ngày sửa đổi lần cuối và siêu dữ liệu HTTP tiêu chuẩn, chẳng hạn như Content-Type. Bạn cũng có thể chỉ định siêu dữ liệu tùy chỉnh tại thời điểm đối tượng được lưu trữ

Một đối tượng được xác định duy nhất trong một nhóm bằng a và a (nếu Phiên bản S3 được bật trên nhóm). Để biết thêm thông tin về đối tượng, xem Tổng quan về đối tượng Amazon S3

chìa khóa

Khóa đối tượng (hoặc tên khóa) là mã định danh duy nhất cho một đối tượng trong nhóm. Mỗi đối tượng trong một nhóm có chính xác một khóa. Sự kết hợp của bộ chứa, khóa đối tượng và ID phiên bản tùy chọn (nếu Phiên bản S3 được bật cho bộ chứa) xác định duy nhất từng đối tượng. Vì vậy, bạn có thể coi Amazon S3 như một bản đồ dữ liệu cơ bản giữa "bộ chứa + khóa + phiên bản" và chính đối tượng đó

Mỗi đối tượng trong Amazon S3 có thể được xử lý duy nhất thông qua sự kết hợp của điểm cuối dịch vụ web, tên bộ chứa, khóa và tùy chọn, một phiên bản. Ví dụ: trong URL https://DOC-EXAMPLE-BUCKET.s3.us-west-2.amazonaws.com/photos/puppy.jpg, DOC-EXAMPLE-BUCKET là tên của bộ chứa và photos/puppy.jpg là khóa

Để biết thêm thông tin về các khóa đối tượng, hãy xem Tạo tên khóa đối tượng

Phiên bản S3

Bạn có thể sử dụng Lập phiên bản S3 để giữ nhiều biến thể của một đối tượng trong cùng một nhóm. Với Lập phiên bản S3, bạn có thể lưu giữ, truy xuất và khôi phục mọi phiên bản của mọi đối tượng được lưu trữ trong bộ chứa của mình. Bạn có thể dễ dàng phục hồi từ cả hành động ngoài ý muốn của người dùng và lỗi ứng dụng

Để biết thêm thông tin, hãy xem Sử dụng lập phiên bản trong bộ chứa S3

Mã phiên bản

Khi bạn bật Lập phiên bản S3 trong một bộ chứa, Amazon S3 sẽ tạo một ID phiên bản duy nhất cho từng đối tượng được thêm vào bộ chứa. Các đối tượng đã tồn tại trong bộ chứa tại thời điểm bạn kích hoạt lập phiên bản có ID phiên bản là null. Nếu bạn sửa đổi các đối tượng này (hoặc bất kỳ đối tượng nào khác) bằng các thao tác khác, chẳng hạn như CopyObject và PutObject, thì các đối tượng mới sẽ nhận được một ID phiên bản duy nhất

Để biết thêm thông tin, hãy xem Sử dụng lập phiên bản trong bộ chứa S3

Chính sách nhóm

Chính sách bộ chứa là chính sách AWS Identity and Access Management (IAM) dựa trên tài nguyên mà bạn có thể sử dụng để cấp quyền truy cập cho bộ chứa của mình và các đối tượng trong đó. Chỉ chủ sở hữu nhóm mới có thể liên kết chính sách với nhóm. Các quyền được gắn vào nhóm áp dụng cho tất cả các đối tượng trong nhóm thuộc sở hữu của chủ sở hữu nhóm. Chính sách nhóm được giới hạn ở kích thước 20 KB

Chính sách bộ chứa sử dụng ngôn ngữ chính sách truy cập dựa trên JSON là tiêu chuẩn trên AWS. Bạn có thể sử dụng chính sách nhóm để thêm hoặc từ chối quyền đối với các đối tượng trong nhóm. Chính sách nhóm cho phép hoặc từ chối yêu cầu dựa trên các yếu tố trong chính sách, bao gồm người yêu cầu, hành động S3, tài nguyên và các khía cạnh hoặc điều kiện của yêu cầu (ví dụ: địa chỉ IP được sử dụng để thực hiện yêu cầu). Ví dụ: bạn có thể tạo chính sách bộ chứa cấp quyền cho nhiều tài khoản để tải các đối tượng lên bộ chứa S3 trong khi vẫn đảm bảo rằng chủ sở hữu bộ chứa có toàn quyền kiểm soát các đối tượng đã tải lên. Để biết thêm thông tin, hãy xem ví dụ về chính sách nhóm

Trong chính sách bộ chứa của mình, bạn có thể sử dụng các ký tự đại diện trên Tên tài nguyên Amazon (ARN) và các giá trị khác để cấp quyền cho một tập hợp con các đối tượng. Ví dụ: bạn có thể kiểm soát quyền truy cập vào các nhóm đối tượng bắt đầu bằng phần mở rộng chung hoặc kết thúc bằng phần mở rộng nhất định, chẳng hạn như .html

Điểm truy cập S3

Điểm truy cập Amazon S3 được đặt tên là điểm cuối mạng với các chính sách truy cập chuyên dụng mô tả cách dữ liệu có thể được truy cập bằng cách sử dụng điểm cuối đó. Điểm truy cập được gắn vào bộ chứa mà bạn có thể sử dụng để thực hiện các thao tác đối tượng S3, chẳng hạn như GetObject và PutObject. Điểm truy cập đơn giản hóa việc quản lý quyền truy cập dữ liệu trên quy mô lớn cho các bộ dữ liệu dùng chung trong Amazon S3

Mỗi điểm truy cập có chính sách điểm truy cập riêng. Bạn có thể định cấu hình cài đặt Chặn truy cập công khai cho từng điểm truy cập. Để hạn chế quyền truy cập dữ liệu Amazon S3 vào mạng riêng, bạn cũng có thể định cấu hình bất kỳ điểm truy cập nào để chỉ chấp nhận yêu cầu từ đám mây riêng ảo (VPC)

Để biết thêm thông tin, hãy xem Quản lý quyền truy cập dữ liệu bằng điểm truy cập Amazon S3

Danh sách kiểm soát truy cập (ACL)

Bạn có thể sử dụng ACL để cấp quyền đọc và ghi cho người dùng được ủy quyền đối với các nhóm và đối tượng riêng lẻ. Mỗi nhóm và đối tượng có một ACL được đính kèm dưới dạng nguồn phụ. ACL xác định tài khoản hoặc nhóm AWS nào được cấp quyền truy cập và loại quyền truy cập. ACL là một cơ chế kiểm soát truy cập có trước IAM. Để biết thêm thông tin về ACL, hãy xem Tổng quan về danh sách kiểm soát truy cập (ACL)

Theo mặc định, khi một tài khoản AWS khác tải một đối tượng lên bộ chứa S3 của bạn, thì tài khoản đó (người viết đối tượng) sẽ sở hữu đối tượng, có quyền truy cập và có thể cấp cho người dùng khác quyền truy cập vào đối tượng đó thông qua ACL. Bạn có thể sử dụng Quyền sở hữu đối tượng để thay đổi hành vi mặc định này để ACL bị vô hiệu hóa và bạn, với tư cách là chủ sở hữu bộ chứa, sẽ tự động sở hữu mọi đối tượng trong bộ chứa của mình. Do đó, quyền kiểm soát quyền truy cập đối với dữ liệu của bạn dựa trên các chính sách, chẳng hạn như chính sách IAM, chính sách bộ chứa S3, chính sách điểm cuối đám mây riêng ảo (VPC) và chính sách kiểm soát dịch vụ (SCP) của Tổ chức AWS

Phần lớn các trường hợp sử dụng hiện đại trong Amazon S3 không còn yêu cầu sử dụng ACL nữa và chúng tôi khuyên bạn nên tắt ACL trừ những trường hợp bất thường khi bạn cần kiểm soát quyền truy cập cho từng đối tượng riêng lẻ. Với Quyền sở hữu đối tượng, bạn có thể tắt ACL và dựa vào các chính sách để kiểm soát quyền truy cập. Khi tắt ACL, bạn có thể dễ dàng duy trì một nhóm chứa các đối tượng được tải lên bởi các tài khoản AWS khác nhau. Bạn, với tư cách là chủ sở hữu nhóm, sở hữu tất cả các đối tượng trong nhóm và có thể quản lý quyền truy cập vào chúng bằng các chính sách. Để biết thêm thông tin, hãy xem Kiểm soát quyền sở hữu đối tượng và vô hiệu hóa ACL cho bộ chứa của bạn

Vùng

Bạn có thể chọn Khu vực AWS địa lý nơi Amazon S3 lưu trữ các bộ chứa mà bạn tạo. Bạn có thể chọn một Khu vực để tối ưu hóa độ trễ, giảm thiểu chi phí hoặc giải quyết các yêu cầu theo quy định. Các đối tượng được lưu trữ trong Khu vực AWS không bao giờ rời khỏi Khu vực trừ khi bạn chuyển hoặc sao chép chúng sang Khu vực khác một cách rõ ràng. Ví dụ: các đối tượng được lưu trữ ở Khu vực Châu Âu (Ireland) không bao giờ rời khỏi nó

Bạn chỉ có thể truy cập Amazon S3 và các tính năng của nó trong Khu vực AWS được bật cho tài khoản của bạn. Để biết thêm thông tin về cách cho phép Khu vực tạo và quản lý tài nguyên AWS, hãy xem Quản lý khu vực AWS trong Tài liệu tham khảo chung về AWS

Để biết danh sách các Khu vực và điểm cuối của Amazon S3, hãy xem Khu vực và điểm cuối trong Tài liệu tham khảo chung về AWS

Mô hình nhất quán dữ liệu của Amazon S3

Amazon S3 cung cấp tính nhất quán đọc-sau-ghi mạnh mẽ cho các yêu cầu PUT và DELETE của các đối tượng trong bộ chứa Amazon S3 của bạn ở tất cả các Khu vực AWS. Hành vi này áp dụng cho cả việc ghi vào các đối tượng mới cũng như các yêu cầu PUT ghi đè lên các đối tượng hiện có và các yêu cầu XÓA. Ngoài ra, các thao tác đọc trên Amazon S3 Select, danh sách kiểm soát truy cập (ACL) của Amazon S3, Thẻ đối tượng Amazon S3 và siêu dữ liệu đối tượng (ví dụ: đối tượng HEAD) rất nhất quán

Cập nhật cho một khóa duy nhất là nguyên tử. Ví dụ: nếu bạn thực hiện yêu cầu PUT đối với khóa hiện có từ một luồng và thực hiện đồng thời yêu cầu GET trên cùng một khóa từ luồng thứ hai, bạn sẽ nhận được dữ liệu cũ hoặc dữ liệu mới, nhưng không bao giờ nhận được dữ liệu một phần hoặc dữ liệu bị hỏng

Amazon S3 đạt được tính sẵn sàng cao bằng cách sao chép dữ liệu trên nhiều máy chủ trong trung tâm dữ liệu AWS. Nếu yêu cầu PUT thành công, dữ liệu của bạn sẽ được lưu trữ an toàn. Mọi thao tác đọc (yêu cầu NHẬN hoặc LIST) được bắt đầu sau khi nhận được phản hồi PUT thành công sẽ trả về dữ liệu được ghi bởi yêu cầu PUT. Dưới đây là ví dụ về hành vi này

  • Một quy trình ghi một đối tượng mới vào Amazon S3 và ngay lập tức liệt kê các khóa trong bộ chứa của nó. Đối tượng mới xuất hiện trong danh sách

  • Một quá trình thay thế một đối tượng hiện có và ngay lập tức cố gắng đọc nó. Amazon S3 trả về dữ liệu mới

  • Một quá trình xóa một đối tượng hiện có và ngay lập tức cố gắng đọc nó. Amazon S3 không trả lại bất kỳ dữ liệu nào vì đối tượng đã bị xóa

  • Một quy trình xóa một đối tượng hiện có và ngay lập tức liệt kê các khóa trong nhóm của nó. Đối tượng không xuất hiện trong danh sách

  • Amazon S3 không hỗ trợ khóa đối tượng cho người viết đồng thời. Nếu hai yêu cầu PUT được thực hiện đồng thời cho cùng một khóa, thì yêu cầu có dấu thời gian mới nhất sẽ thắng. Nếu đây là sự cố, bạn phải xây dựng cơ chế khóa đối tượng vào ứng dụng của mình

  • Các bản cập nhật dựa trên khóa. Không có cách nào để thực hiện cập nhật nguyên tử trên các khóa. Ví dụ: bạn không thể thực hiện cập nhật một khóa phụ thuộc vào cập nhật của khóa khác trừ khi bạn thiết kế chức năng này vào ứng dụng của mình

Cấu hình nhóm có một mô hình nhất quán cuối cùng. Cụ thể, điều này có nghĩa là

  • Nếu bạn xóa một nhóm và ngay lập tức liệt kê tất cả các nhóm, thì nhóm đã xóa vẫn có thể xuất hiện trong danh sách

  • Nếu bạn bật lập phiên bản trên bộ chứa lần đầu tiên, có thể mất một khoảng thời gian ngắn để thay đổi được phổ biến đầy đủ. Chúng tôi khuyên bạn nên đợi 15 phút sau khi bật lập phiên bản trước khi thực hiện các thao tác ghi (yêu cầu PUT hoặc DELETE) trên các đối tượng trong bộ chứa

Phần này cung cấp các ví dụ về hành vi được mong đợi từ Amazon S3 khi nhiều máy khách đang ghi vào cùng một mục

Trong ví dụ này, cả W1 (ghi 1) và W2 (ghi 2) đều kết thúc trước khi bắt đầu R1 (đọc 1) và R2 (đọc 2). Bởi vì S3 rất nhất quán, R1 và R2 đều trả về color = ruby

Câu hỏi phỏng vấn lập trình viên php

Trong ví dụ tiếp theo, W2 không kết thúc trước khi bắt đầu R1. Do đó, R1 có thể trả về color = ruby hoặc DOC-EXAMPLE-BUCKET1. Tuy nhiên, vì W1 và W2 kết thúc trước khi bắt đầu R2 nên R2 trả về DOC-EXAMPLE-BUCKET1

Câu hỏi phỏng vấn lập trình viên php

Trong ví dụ trước, W2 bắt đầu trước khi W1 nhận được xác nhận. Do đó, những ghi này được coi là đồng thời. Amazon S3 sử dụng nội bộ ngữ nghĩa của người ghi cuối cùng để xác định cách ghi nào được ưu tiên. Tuy nhiên, không thể dự đoán thứ tự Amazon S3 nhận yêu cầu và thứ tự ứng dụng nhận xác nhận do nhiều yếu tố, chẳng hạn như độ trễ mạng. Ví dụ: W2 có thể được khởi tạo bởi một phiên bản Amazon EC2 trong cùng Khu vực, trong khi W1 có thể được khởi tạo bởi một máy chủ ở xa hơn. Cách tốt nhất để xác định giá trị cuối cùng là thực hiện đọc sau khi cả hai lần ghi đã được xác nhận

Câu hỏi phỏng vấn lập trình viên php

Sau khi tải dữ liệu của mình lên Amazon S3, bạn có thể sử dụng dữ liệu đó với các dịch vụ AWS khác. Sau đây là các dịch vụ mà bạn có thể sử dụng thường xuyên nhất

  • Amazon Elastic Compute Cloud (Amazon EC2)– Cung cấp khả năng tính toán an toàn và có thể mở rộng trong Đám mây AWS. Sử dụng Amazon EC2 giúp bạn không phải đầu tư trước vào phần cứng, nhờ đó bạn có thể phát triển và triển khai ứng dụng nhanh hơn. Bạn có thể sử dụng Amazon EC2 để khởi chạy nhiều hay ít máy chủ ảo tùy theo nhu cầu, định cấu hình bảo mật và kết nối mạng cũng như quản lý dung lượng lưu trữ

  • Amazon EMR– Giúp các doanh nghiệp, nhà nghiên cứu, nhà phân tích dữ liệu và nhà phát triển xử lý lượng dữ liệu khổng lồ một cách dễ dàng và tiết kiệm chi phí. Amazon EMR sử dụng khung Hadoop được lưu trữ chạy trên cơ sở hạ tầng quy mô web của Amazon EC2 và Amazon S3

  • AWS Snow Family– Giúp khách hàng cần vận hành các hoạt động trong môi trường nghiêm ngặt, không phải trung tâm dữ liệu và ở những địa điểm thiếu kết nối mạng nhất quán. Bạn có thể sử dụng các thiết bị AWS Snow Family để truy cập cục bộ và tiết kiệm chi phí vào bộ nhớ cũng như sức mạnh tính toán của Đám mây AWS ở những nơi không thể kết nối internet

  • AWS Transfer Family– Cung cấp hỗ trợ được quản lý hoàn toàn cho việc truyền tệp trực tiếp vào và ra khỏi Amazon S3 hoặc Amazon Elastic File System (Amazon EFS) bằng Giao thức truyền tệp Secure Shell (SSH) (SFTP), Giao thức truyền tệp qua SSL (FTPS) và

Truy cập Amazon S3

Bạn có thể làm việc với Amazon S3 theo bất kỳ cách nào sau đây

Bảng điều khiển quản lý AWS

Bảng điều khiển là giao diện người dùng dựa trên web để quản lý tài nguyên Amazon S3 và AWS. Nếu đã đăng ký tài khoản AWS, bạn có thể truy cập bảng điều khiển Amazon S3 bằng cách đăng nhập vào Bảng điều khiển quản lý AWS và chọn S3 từ trang chủ Bảng điều khiển quản lý AWS

Giao diện dòng lệnh AWS

Bạn có thể sử dụng các công cụ dòng lệnh AWS để ra lệnh hoặc xây dựng tập lệnh tại dòng lệnh của hệ thống để thực hiện các tác vụ AWS (bao gồm cả S3)

Giao diện dòng lệnh AWS (AWS CLI) cung cấp các lệnh cho một loạt các dịch vụ AWS. AWS CLI được hỗ trợ trên Windows, macOS và Linux. Để bắt đầu, hãy xem Hướng dẫn sử dụng giao diện dòng lệnh AWS. Để biết thêm thông tin về các lệnh dành cho Amazon S3, hãy xem s3apiand s3control trong AWS CLI Command Reference

SDK AWS

AWS cung cấp SDK (bộ công cụ phát triển phần mềm) bao gồm các thư viện và mã mẫu cho các nền tảng và ngôn ngữ lập trình khác nhau (Java, Python, Ruby,. NET, iOS, Android, v.v.). SDK AWS cung cấp một cách thuận tiện để tạo quyền truy cập theo chương trình vào S3 và AWS. Amazon S3 là một dịch vụ REST. Bạn có thể gửi yêu cầu tới Amazon S3 bằng thư viện AWS SDK. bao bọc API REST của Amazon S3 bên dưới và đơn giản hóa các tác vụ lập trình của bạn. Ví dụ: SDK đảm nhiệm các tác vụ như tính toán chữ ký, yêu cầu ký bằng mật mã, quản lý lỗi và tự động thử lại yêu cầu. Để biết thông tin về SDK AWS, bao gồm cách tải xuống và cài đặt chúng, hãy xem Công cụ dành cho AWS

Mọi tương tác với Amazon S3 đều được xác thực hoặc ẩn danh. Nếu bạn đang sử dụng AWS SDK, thư viện sẽ tính toán chữ ký để xác thực từ các khóa mà bạn cung cấp. Để biết thêm thông tin về cách gửi yêu cầu tới Amazon S3, hãy xem Tạo yêu cầu

API REST của Amazon S3

Kiến trúc của Amazon S3 được thiết kế để không phụ thuộc vào ngôn ngữ lập trình, sử dụng các giao diện được AWS hỗ trợ để lưu trữ và truy xuất các đối tượng. Bạn có thể truy cập S3 và AWS theo chương trình bằng cách sử dụng API REST của Amazon S3. API REST là giao diện HTTP cho Amazon S3. Với API REST, bạn sử dụng các yêu cầu HTTP tiêu chuẩn để tạo, tìm nạp và xóa các nhóm và đối tượng

Để sử dụng API REST, bạn có thể sử dụng bất kỳ bộ công cụ nào hỗ trợ HTTP. Bạn thậm chí có thể sử dụng trình duyệt để tìm nạp các đối tượng, miễn là chúng có thể đọc được một cách ẩn danh

API REST sử dụng các tiêu đề và mã trạng thái HTTP tiêu chuẩn để các trình duyệt và bộ công cụ tiêu chuẩn hoạt động như mong đợi. Ở một số khu vực, chúng tôi đã thêm chức năng vào HTTP (ví dụ: chúng tôi đã thêm tiêu đề để hỗ trợ kiểm soát truy cập). Trong những trường hợp này, chúng tôi đã cố gắng hết sức để thêm chức năng mới theo cách phù hợp với phong cách sử dụng HTTP tiêu chuẩn

Nếu bạn thực hiện lệnh gọi API REST trực tiếp trong ứng dụng của mình, bạn phải viết mã để tính toán chữ ký và thêm nó vào yêu cầu. Để biết thêm thông tin về cách gửi yêu cầu tới Amazon S3, hãy xem Tạo yêu cầu

Hỗ trợ API SOAP qua HTTP không được dùng nữa, nhưng nó vẫn khả dụng qua HTTPS. Các tính năng mới hơn của Amazon S3 không được hỗ trợ cho SOAP. Chúng tôi khuyên bạn nên sử dụng API REST hoặc SDK AWS

Thanh toán cho Amazon S3

Giá cho Amazon S3 được thiết kế để bạn không phải lập kế hoạch cho các yêu cầu lưu trữ của ứng dụng của mình. Hầu hết các nhà cung cấp dịch vụ lưu trữ đều yêu cầu bạn mua dung lượng lưu trữ và dung lượng truyền mạng được xác định trước. Trong trường hợp này, nếu bạn vượt quá dung lượng đó, dịch vụ của bạn sẽ bị tắt hoặc bạn bị tính phí quá cao. Nếu không vượt quá dung lượng đó, bạn trả tiền như đã sử dụng hết

Amazon S3 chỉ tính phí cho những gì bạn thực sự sử dụng, không có phí ẩn và không có phí quá cước. Mô hình này cung cấp cho bạn dịch vụ có chi phí biến đổi có thể phát triển cùng với doanh nghiệp của bạn đồng thời mang lại cho bạn lợi thế về chi phí của cơ sở hạ tầng AWS. Để biết thêm thông tin, hãy xem Giá của Amazon S3

Khi bạn đăng ký AWS, tài khoản AWS của bạn sẽ tự động được đăng ký cho tất cả các dịch vụ trong AWS, bao gồm cả Amazon S3. Tuy nhiên, bạn chỉ bị tính phí cho các dịch vụ mà bạn sử dụng. Nếu là khách hàng mới của Amazon S3, bạn có thể bắt đầu sử dụng Amazon S3 miễn phí. Để biết thêm thông tin, hãy xem Bậc miễn phí của AWS

Để xem hóa đơn của bạn, hãy truy cập Bảng điều khiển quản lý chi phí và lập hóa đơn trong bảng điều khiển Quản lý chi phí và lập hóa đơn AWS. Để tìm hiểu thêm về lập hóa đơn tài khoản AWS, hãy xem Hướng dẫn sử dụng AWS Billing. Nếu bạn có câu hỏi liên quan đến thanh toán AWS và tài khoản AWS, hãy liên hệ với Bộ phận hỗ trợ của AWS

Tuân thủ PCI DSS

Amazon S3 hỗ trợ người bán hoặc nhà cung cấp dịch vụ xử lý, lưu trữ và truyền dữ liệu thẻ tín dụng và đã được xác thực là tuân thủ Tiêu chuẩn bảo mật dữ liệu ngành thẻ thanh toán (PCI) (DSS). Để biết thêm thông tin về PCI DSS, bao gồm cả cách yêu cầu bản sao Gói tuân thủ AWS PCI, hãy xem PCI DSS Cấp 1