Tại sao tôi không nên sử dụng Amazon S3 để lưu trữ trang web tĩnh


11

Tôi nhớ đã đọc ở đâu đó rằng có một cạm bẫy nghiêm trọng khi sử dụng Amazon S3 để lưu trữ một trang web tĩnh. Tôi quên mất nó là gì mặc dù. Đối với tôi, S3 dường như là một lựa chọn hoàn hảo. Siêu nhanh, siêu mở rộng và trả tiền khi bạn đi.

Những tiêu cực của việc sử dụng S3 để lưu trữ một trang web tĩnh là gì?


Nói tóm lại, các câu trả lời dưới đây không nêu bất kỳ lý do chính đáng nào để không sử dụng S3. Chuyển hướng www bây giờ dễ dàng để giải quyết.
John ALLen

Câu trả lời:


11

Tôi vẫn sốc khi biết rằng mọi người cho rằng Mạng phân phối nội dung đắt tiền, hầu hết chỉ tính phí 0,20c mỗi GB.

Việc phục vụ các trang web tĩnh trên CDN thật đáng kinh ngạc - bạn có được hiệu suất của một máy chủ chuyên dụng mà không phải trả tiền cho nó, cộng với việc bạn có một máy chủ ở tất cả các khu vực chính trên thế giới rất hiệu quả so với một máy chủ chuyên dụng về tốc độ và khả năng mở rộng.

Có một vài nhược điểm lớn khi lưu trữ trên CDN và đó là:

Không có tệp PHP

Hỗ trợ PHP (Bạn cần sử dụng biểu mẫu liên hệ qua Ajax để truy xuất contact.php từ nơi khác, phương thức HTML rất hấp dẫn - nếu bạn không cần biểu mẫu liên hệ, thì (tuyệt vời!) Cho những thứ như nhận xét bạn có thể sử dụng Disqus, đó là JavaScript.)

Các vấn đề về CNAME

Đáng buồn thay, hầu hết các CDN không hỗ trợ các CNAME không có www nên bạn không thể giải quyết tên miền khi ai đó quên www, không phải là vấn đề lớn nhưng có nhiều cách giải quyết vấn đề này. Bạn thiết lập EC2 hoặc lưu trữ chia sẻ và bạn để nó xử lý phi www với chuyển hướng. Vì vậy, bất cứ khi nào ai đó quên www, nó sẽ liên lạc với máy chủ, sau đó chuyển hướng đến CDN một cách chính xác. Một phương pháp khác là bạn chọn một CDN hỗ trợ điều này - tôi tin rằng Limelight có, nhưng Amazon và Rackspace thì không. Tôi đã nghe Limelight lưu trữ DNS và chỉnh sửa thủ công trên hệ thống của họ, tôi chưa bao giờ tự mình thực hiện việc này vì vậy tôi không thể xác nhận họ làm hay không.

Cập nhật nội dung

Mặt khác, bạn cần phải lọc nội dung hoặc tệp mà bạn chỉnh sửa, ví dụ như bạn thực hiện một số bổ sung cho index.html bạn cần phải thiết lập một khoảng thời gian ngắn trên bộ chứa hoặc lọc thủ công tệp đó bộ nhớ cache để nó cập nhật trên toàn thế giới.

Tóm lược

Lưu trữ một trang web tĩnh trên CDN là cuồng tín - Tôi điều hành một số ít các trang web tĩnh trên CDN và họ rất cuồng nhiệt, tôi chỉ sử dụng 1-2 GB trên mỗi trang web và tôi nhận được hóa đơn với giá 0,24p cho mỗi trang web, rẻ hơn chia sẻ lưu trữ và cung cấp cho bạn hiệu suất của một máy chủ chuyên dụng. Nếu bạn định thiết lập một VPS nhỏ khác với EC2 để chuyển hướng thì bất kỳ VPS nào có dung lượng 128mb cũng sẽ làm được. Bạn có thể nhận được một cái giá rẻ như $ 1 một tháng. Chỉ cần Google 128mb VPS hoặc VPS dưới 5 đô la một tháng - có hàng trăm công ty làm VPS thông số kỹ thuật thấp cho đậu phộng sẽ thực hiện thủ thuật này.


1
Cloudflare không có vấn đề với cname không có www. Ngoài ra, cấp miễn phí cũng không tệ
elssar

Amazon có một dịch vụ dns có tên Tuyến 53 có thể được sử dụng để định tuyến tld đến tên miền phụ www.
băng đảng

Cụ thể AWS Route 53 có các bản ghi ALIAS nơi bạn đặt tên máy chủ khác (giống như bạn làm với CNAME), nhưng máy chủ DNS thực hiện tra cứu định kỳ (giây) và phục vụ bản ghi với địa chỉ IP (Bản ghi).
Stephen Ostermiller

2

Vấn đề là ở phần "trả tiền khi bạn đi".

Nếu bạn nhận được rất nhiều lưu lượng truy cập (ví dụ: một cuộc tấn công DOS hoặc một bài đăng hoặc tệp blog rất phổ biến), bạn sẽ TRẢ TIỀN cho nó.

AFAIK vẫn không có một tính năng để đặt giới hạn cho những gì bạn phải trả. Bạn có thể đặt thông báo thanh toán, nhưng nếu thanh toán của bạn đạt đến ngân sách tối đa, tùy chọn duy nhất bạn có là tắt trang web hoặc bạn sẽ thanh toán cho tất cả lưu lượng truy cập bạn nhận được.


Một vài điều cần suy nghĩ: Heroku cho phép bạn chỉ trả tiền bao nhiêu tùy ý, nhưng cuối cùng bạn có thể mất một số khách truy cập không thể truy cập trang web. Mặt khác, AWS cho phép bạn đảm bảo bạn nắm bắt được tất cả khách truy cập, nhưng bạn sẽ phải trả tiền cho nó. Tùy thuộc vào việc bạn đã thiết lập quảng cáo / một số hình thức chuyển đổi nhấp chuột khác thành tiền mặt, các yêu cầu của bạn đối với thanh toán khi bạn đi có thể khác nhau; một ứng dụng web nhỏ thú vị chẳng hạn, có thể được hưởng lợi từ Heroku (hoặc một dịch vụ tương tự).
Abhishek Divekar

2

S3 không có nghĩa là công cụ DUY NHẤT từ AWS cho lưu trữ trang web tĩnh. Cách tiếp cận được đề xuất là đặt CloudFront trước phiên bản S3 để CloudFront có thể xử lý bộ đệm. Tôi tin rằng điều này cũng sẽ loại bỏ vấn đề của bạn khi trả một loạt để tăng lưu lượng truy cập vì CloudFront sẽ sử dụng bộ đệm của nó để phục vụ các tệp và không nhấn S3. Tất nhiên, bạn phải trả tiền cho CloudFront, nhưng chi phí sẽ ít hơn (tôi nghĩ vậy).

Đây là một bài viết về việc thêm CloudFront vào trang web S3 của bạn:

http://docs.aws.amazon.com/gettingstarted/latest/swh/getting-started-create-cfdist.html


1

Nó thực sự hơi quá so với băng thông. Cho đến gần đây, họ cũng gặp phải một vấn đề là bạn không thể ánh xạ cả bản ghi @ và www của bạn vào trang web của bạn (vì vậy bạn có thể truy cập mydomain.com hoặc www.mydomain.com). Điều này tuy nhiên đã được sửa trong một bản cập nhật rất gần đây.

Cá nhân, tôi nghĩ rằng họ hơi quá so với bạn và bạn đang thiếu rất nhiều tính năng hay (chuyển hướng, htaccess, v.v.). S3 không hoạt động tốt để lưu trữ các tệp lớn và hình ảnh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.