Amazon S3

**Amazon S3** hoặc **Amazon Simple Storage Service** là một "dịch vụ lưu trữ đơn giản" được cung cấp bởi Amazon Web Services (AWS) cung cấp lưu trữ đối tượng thông qua giao diện dịch vụ web. Amazon S3 sử dụng cơ sở hạ tầng lưu trữ có thể mở rộng tương tự mà Amazon.com sử dụng để chạy mạng thương mại điện tử toàn cầu của mình.

Amazon S3 có thể được sử dụng để lưu trữ bất kỳ loại đối tượng nào cho phép sử dụng như lưu trữ cho các ứng dụng Internet, sao lưu và phục hồi, phục hồi thảm họa, lưu trữ dữ liệu, hồ dữ liệu để phân tích và lưu trữ đám mây hỗn hợp. Trong thỏa thuận cấp độ dịch vụ của mình, Amazon S3 đảm bảo 99,9% thời gian hoạt động hàng tháng, hoạt động trong thời gian ngừng hoạt động dưới 43 phút mỗi tháng.

AWS đã ra mắt Amazon S3 tại Hoa Kỳ vào ngày 14 tháng 3 năm 2006, sau đó tại Châu Âu vào tháng 11 năm 2007 

## Thiết kế
Mặc dù Amazon Web Services (AWS) không công khai cung cấp các chi tiết của thiết kế kỹ thuật S3 của, Amazon S3 quản lý dữ liệu với một lưu trữ đối tượng kiến trúc  nhằm cung cấp khả năng mở rộng, tính sẵn sàng cao, và độ trễ thấp với 99,999999999% độ bền và giữa 99,95% đến 99,99% khả dụng (mặc dù không có thỏa thuận cấp độ dịch vụ cho độ bền).

Các đơn vị lưu trữ cơ bản của Amazon S3 là các đối tượng được tổ chức thành các nhóm. Mỗi đối tượng được xác định bởi một khóa duy nhất, do người dùng gán. Các nhóm có thể được quản lý bằng bảng điều khiển do Amazon S3 cung cấp, lập trình bằng AWS SDK hoặc với giao diện lập trình ứng dụng (API) của Amazon S3 REST. Các đối tượng có thể được quản lý bằng SDK AWS hoặc với API Amazon S3 REST và có thể có kích thước tối đa năm terabyte với hai kilobyte siêu dữ liệu. Ngoài ra, các đối tượng có thể được tải xuống bằng giao diện HTTP GET và giao thức BitTorrent.

Các yêu cầu được ủy quyền sử dụng danh sách kiểm soát truy cập được liên kết với từng nhóm đối tượng và phiên bản hỗ trợ bị tắt theo mặc định. Tên và khóa của nhóm được chọn sao cho các đối tượng có thể truy cập được bằng URL HTTP:

* `s3.amazonaws.com/''bucket''/''key''` 
* ` ''bucket''.s3.amazonaws.com/''key''` 
* ` ''bucket''/''key''` (trong đó nhóm là bản ghi DNS CNAME trỏ đến bucket.s3.amazonaws.com)

Amazon S3 có thể được sử dụng để thay thế cơ sở hạ tầng lưu trữ web (tĩnh) đáng kể bằng các đối tượng khách hàng có thể truy cập HTTP. Cơ chế xác thực AWS của Amazon cho phép chủ sở hữu nhóm tạo một URL xác thực có hiệu lực trong một khoảng thời gian xác định.

Mọi mục trong thùng (bucket) cũng có thể được phục vụ dưới dạng nguồn cấp dữ liệu BitTorrent. Cửa hàng Amazon S3 có thể hoạt động như một máy chủ hạt giống cho một file torrent và bất kỳ ứng dụng khách BitTorrent nào cũng có thể truy xuất tệp. Điều này có thể làm giảm đáng kể chi phí băng thông cho việc tải xuống các đối tượng phổ biến. Mặc dù việc sử dụng BitTorrent không làm giảm băng thông, AWS không cung cấp giới hạn băng thông riêng và do đó, người dùng không có quyền truy cập vào kiểm soát chi phí tự động. Điều này có thể dẫn đến người dùng trên Amazon S3 miễn phí hoặc người dùng sở thích nhỏ, tích lũy các hóa đơn ấn tượng. Đại diện AWS đã tuyên bố rằng một tính năng giới hạn băng thông đã có trên bảng thiết kế từ năm 2006 đến 2010, nhưng năm 2011, tính năng này không còn được phát triển nữa.

Một bucket có thể được cấu hình để lưu thông tin nhật ký HTTP vào nhóm anh chị em; điều này có thể được sử dụng trong các hoạt động khai thác dữ liệu.

Có nhiều hệ thống tệp dựa trên Hệ thống tệp người dùng (FUSE) khác nhau dành cho các hệ điều hành giống Unix (như Linux) có thể được sử dụng để gắn một nhóm S3 như một hệ thống tệp như S3QL. Các ngữ nghĩa của hệ thống tệp Amazon S3 không phải là hệ thống tệp POSIX, vì vậy hệ thống tệp có thể không hoạt động hoàn toàn như mong đợi.

### Trang web lưu trữ
Amazon S3 cung cấp tùy chọn để lưu trữ các trang web HTML tĩnh với hỗ trợ tài liệu chỉ mục và hỗ trợ tài liệu lỗi. Hỗ trợ này đã được thêm vào do kết quả của các yêu cầu người dùng có niên đại ít nhất là năm 2006. Ví dụ: giả sử Amazon S3 được định cấu hình với các bản ghi CNAME để lưu trữ `http://subdomain.example.com/`. Trước đây, khách truy cập URL này sẽ chỉ tìm thấy danh sách các đối tượng được định dạng XML thay vì trang đích chung (ví dụ: index.html) để phù hợp với khách truy cập thông thường. Tuy nhiên, các trang web hiện được lưu trữ trên S3 có thể chỉ định một trang mặc định để hiển thị và một trang khác để hiển thị trong trường hợp URL không hợp lệ một phần, chẳng hạn như lỗi 404.

### Nhật ký Amazon S3
Amazon S3 cho phép người dùng kích hoạt hoặc vô hiệu hóa đăng nhập. Nếu được bật, nhật ký được lưu trữ trong các thùng Amazon S3 sau đó có thể được phân tích. Các nhật ký này chứa thông tin hữu ích như:

* Ngày và thời gian truy cập vào nội dung được yêu cầu 
* Giao thức được sử dụng (HTTP, FTP, v.v.) 
* Mã trạng thái HTTP 
* Thời gian quay vòng 
* Thông báo yêu cầu HTTP

Nhật ký có thể được phân tích và quản lý bằng các công cụ của bên thứ ba như S3Stat, Cloudlytics , Qloudstat , AWStats và Splunk.

### Công cụ Amazon S3
Amazon S3 cung cấp API cho nhà phát triển. Bảng điều khiển AWS cung cấp các công cụ để quản lý và tải lên các tệp nhưng nó không có khả năng quản lý các thùng lớn hoặc chỉnh sửa các tệp. Các trang web của bên thứ ba như S3edit.com  hoặc phần mềm như Cloudberry Explorer, ForkLift và WebDrive có khả năng chỉnh sửa tệp trên Amazon S3, tiện ích mở rộng trên trình duyệt Google Chrome : FileOn với giao diện dễ sử dụng và không cần cài đặt phức tạp.

## Tham khảo