Tìm hiểu về S3 của AWS (Amazon Simple Storage Service)
Tìm hiểu về S3 của AWS (Amazon Simple Storage Service)
Simple Storage Service của Amazo là gì là câu hỏi mà khá nhiều người vẫn đang thắc mắc? Để giải đáp được những thông tin này Bizfly Cloud đã tổng hợp khái quát thông tin đến bạn đọc qua bài viết dưới đây nhé.
Nhu cầu về lưu trữ dữ liệu không ngừng gia tăng từng ngày, do đó việc xây dựng và duy trì một kho lưu trữ đáp ứng mọi nhu cầu phát triển của tổ chức có vẻ như là một công việc khá khó khăn vì dung lượng cần thiết trong tương lai là khó dự đoán.
Bạn có thể phải sử dụng quá mức đến nỗi gây lỗi ứng dụng vì không có đủ dung lượng hoặc cần phải mua các kho lưu trữ mà sau đó bạn lại không sử dụng đến nữa. Vì những lý do này mà Amazon đã đưa ra một dịch vụ lưu trữ được gọi là AWS S3.
Nội Dung Chính
AWS S3 là gì?
Simple Storage Service của Amazon (gọi tắt là S3) là một lưu trữ cho internet. Nó được thiết kế để cung cấp khả năng lưu trữ với dung lượng lớn, chi phí thấp trên nhiều vùng địa lý. Amazon S3 cung cấp cho các nhà phát triển khả năng lưu trữ an toàn, bền bỉ và có khả năng mở rộng cao. S3 an toàn bởi các lý do sau:
– S3 an toàn vì AWS cung cấp:
Mã hóa dữ liệu mà bạn lưu trữ. Nó có thể xảy ra theo 2 cách:
Mã hóa ở client side
Mã hóa ở server side
Nhiều bản copy được duy trì giúp phục hồi dữ liệu trong trường hợp dữ liệu gặp sự cố.
Versioning, trong đó mỗi bản chỉnh sửa đều được lưu trữ để sử dụng khi cần thiết.
– S3 bền bỉ bởi các lý do sau:
S3 thường xuyên xác minh tính toàn vẹn của dữ liệu bằng cách sử dụng checksum: Nếu S3 phát hiện có bất kì trục trặc dữ liệu nào, nó sẽ sửa chữa ngay lập tức với sự trợ giúp của các dữ liệu được sao chép.
Ngay cả trong khi dữ liệu đang được lưu trữ hoặc quá trình truy xuất dữ liệu, S3 sẽ kiểm tra lưu lượng mạng đến cho bất kì gói dữ liệu bị hỏng nào.
– S3 có khả năng mở rộng cao vì nó tự động tăng dung lượng lưu trữ của bạn theo yêu cầu và bạn chỉ trả tiền cho phần bộ nhớ mà bạn sử dụng.
S3 có thể lưu trữ những loại data nào?
Bạn có thể lưu trữ bất kì loại data với bất kỳ loại format nào với S3. Số lượng của đối tượng có thể lưu trữ trên S3 là không có giới hạn, bao gồm data, key và metadata.
Có 2 loại:
– Dữ liệu truy cập thường xuyên.
– Dữ liệu truy cập không thường xuyên.
AMAZON đưa ra 3 lớp lưu trữ để cung cấp cho khách hàng một trải nghiệm sử dụng tốt nhất với chi phí hợp lý nhất.
1. Amazon S3 Standard sử dụng cho việc truy cập những dữ liệu thường xuyên
Phù hợp với các trường hợp sử dụng liên quan đến hiệu suất, độ trễ phải được giữ ở mức thấp nhất có thể. Ví dụ như bệnh viện, dữ liệu của bệnh nhân sẽ thường xuyên được truy cập, dữ liệu này cần được truy xuất một cách nhanh chóng nhất.
2. Amazon S3 Standard sử dụng cho việc truy cập dữ liệu không thường xuyên
Phù hợp với trường hợp mà dữ liệu cần được lưu trữ trong khoảng thời gian dài và ít được truy cập thường xuyên. Ví dụ trong bệnh viện, những bệnh nhân đã được xuất viện, dữ liệu về hồ sơ của họ sẽ không cần truy cập hàng ngày nhưng nếu họ quay trở lại tái khám, thì hồ sợ của họ vẫn cần được truy xuất một cách nhanh chóng.
3. Amazon Glacier
Phù hợp với các trường hợp không có nhu cầu cao về hiệu suất, dịch vụ này có chi phí thấp hơn so với 2 dịch vụ phía trên. Ví dụ: Trong bệnh viện các báo cáo test, scan, các đơn thuốc… có tuổi đời hơn 1 năm sẽ không cần thiết phải sử dụng hàng ngày, ngay cả khi cần truy xuất thì tốc độ truy xuất cũng không cần thiết phải nhanh chóng.
S3 tổ chức dữ liệu như thế nào?
Tất cả các dữ liệu trên S3 sẽ được tổ chức dưới dạng bucket.
– Mỗi Bucket là một đơn vị lưu trữ logic trong S3.
– Bucket chứa các đối tượng bao gồm dữ liệu và siêu dữ liệu.
Trước khi thêm vào bất kỳ dữ liệu nào lên S3, chúng ta cần tạo 1 bucket, đây là nơi được sử dụng để lưu trữ dữ liệu.
Dữ liệu được lưu trữ ở đâu ở phương diện địa lý?
Bạn có thể tự chọn nơi dữ liệu được lưu trữ. Đưa ra quyết định khu vực (region) nào là nơi lưu trữ dữ liệu của mình là rất quan trọng, vì vậy hãy lên kế hoạch thật tốt.
Có 4 chỉ số giúp chọn ra được vùng lưu trữ tối ưu và hiệu quả, đó là:
– Pricing (Giá)
– User/Customer Location (Nơi khách hàng sử dụng dịch vụ)
– Latency (Độ trễ)
– Service Availability (Tính khả dụng dịch vụ)
Hãy cùng xét ví dụ cụ thể sau đây:
Giả sử, công ty A phải khởi chạy dịch vụ lưu trữ cho website khách hàng ở Hoa Kỳ và Ấn Độ. Sau đây là chi tiết các yêu cầu của khách hàng đó:
Với các thông số trên có thể xác định N Virginia là region tốt nhất cho công ty này bởi nó có độ trễ và chi phí thấp. Tuy nhiên, bạn có chọn bất kỳ khu vực nào phù hợp với yêu cầu vì bạn luôn có thể truy cập vào S3 bucket từ khắp mọi nơi.
Nói về region, hãy xem khả năng backup trong một số region khả dụng khác hoặc bạn có thể muốn chuyển dữ liệu của mình sang 1 số region khác.
Cross-region Replication
Sao chép vùng chéo cho phép sao chép hoặc truyền dữ liệu tới 1 vị trí khác mà không gặp khó khăn nào.
Dữ liệu được truyền tải ra sao?
Bên cạnh các phương thức truyền thống qua internet. AWS có 2 cách cung cấp truyền dữ liệu an toàn với tốc độ cao: Transfer Acceleration và Snowball.
– Transfer Acceleration cho phép truyền tải nhanh chóng, dễ dàng và an toàn qua các khoảng cách dài bằng cách khai thác công nghệ sử dụng CloudFront của Amazon. CloudFront là một dịch vụ lưu trữ bởi AWS, trong đó dữ liệu từ trang web của khách hàng sẽ được chuyển đến vị trí gần nhất và từ đó dữ liệu được chuyển đến AWS S3 của bạn thông qua một đường dẫn mạng được tối ưu hóa.
– Snowball là cách chuyển dữ liệu vật lý. Amazon sẽ gửi 1 thiết bị đến cơ sở của tổ chức, bạn có thể tải dữ liệu qua đó. Khi dữ liệu được hoàn tất trên Snowball thì phải thay đổi địa chỉ về trụ sở AWS.
Chi phí
AWS không hề có bất kỳ dịch vụ nào là miễn phí. Bạn có thể sử dụng AWS Free Usage Tier nếu muốn dùng thử miễn phí. Sau khi hoàn thành đăng ký, khách hàng AWS mới nhận được 5GB dung lượng với 20000 get request và 2000 pull request và 15GB chuyển dữ liệu mỗi tháng trong 1 năm.
Cách tính phí của S3?
S3 hoạt động dựa trên Pay Per Use, tức là bạn chỉ phải trả cho những gì bạn sử dụng. Dưới đây và 1 ví dụ cụ thể cho 1một khu vực cụ thể.
Cross Region Replication được tính tiền theo cách: Nếu nhân bản 1000GB (1000 1GB object) giữa các region bạn sẽ phải chịu 1 khoản phí yêu cầu là $0.005 (1000 request X $0.005 mỗi 1,000 requests), để nhân bản 1,000 objects và phải trả $20 ($$.020 per GB transferred x 1,000 GB) để chuyển đổi dữ liệu liên vùng. Sau khi nhân bản, 1000GB sẽ phải chịu phí lưu trữ dựa trên vùng đích.
Snowball chi phí như sau:
– Snowball 50 TB : 200$$
– Snowball 80 TB: 250$$
Transfer Acceleration giá sẽ được tính theo bảng sau đây:
Hướng dẫn cách tạo một static Website trên S3
Bước 1: Tạo bucket
Để tạo Bucket, vào S3 trong AWS Management Console và chọn Create Bucket.
Điền tên và region.
Nếu bạn sử dụng domain/ sub-domain thì hãy sử dụng nó làm bucket name.
Bước 2: Xác minh Bucket đã được tạo.
Bước 3: Kích hoạt Website Hosting
Bước 4: Tạo một file Html
Hãy bắt đầu với 1 file html đơn giản bạn muốn hiển thị trên web của mình. Đặt tên là index.html với content:
<!doctype html> <html> <head> <title> Hello, S3! </title> <meta name=”description” content=”My first S3 website”> <meta charset=”utf-8″> </head> <body> <h2>My first S3 website</h2> <p>I can’t believe it was that easy!</p> </body> </html>
Bước 5: Upload file lên Bucket bạn vừa tạo
Bước 6: Html File ở chế độ Public
Chọn index.html trên console và xem Properties tab:
Bước 7: Xác minh kết quả
Click vào link trong Properties ta sẽ nhìn thấy những gì trong file index.html
Vậy là bạn đã hoàn thành các bước xây dựng một html website trên AWS sử dụng S3.
Tham khảo: viblo.asia