Dlaczego nie powinienem używać Amazon S3 do obsługi statycznej strony internetowej?

11

Pamiętam, że czytałem gdzieś, że istniała poważna pułapka przy używaniu Amazon S3 do utrzymywania statycznej strony internetowej. Zapomniałem, co to było. Dla mnie S3 wydaje się idealną opcją. Superszybki, superskalowalny i płać za każdym razem.

Jakie są minusy używania S3 do hostowania statycznej strony internetowej?

Kyle
źródło
Krótko mówiąc, poniższe odpowiedzi nie podają żadnych dobrych powodów, aby nie używać S3. Przekierowanie www jest teraz łatwe do rozwiązania.
JohnAllen

Odpowiedzi:

11

Nadal jestem zszokowany, gdy czytam, że ludzie uważają, że sieci dostarczania treści są drogie, a większość kosztuje zaledwie 0,20 cca za GB.

Obsługa statycznych stron internetowych w sieciach CDN jest niesamowita - uzyskujesz wydajność serwera dedykowanego, nie płacąc za niego, a ponadto masz serwer we wszystkich głównych regionach świata, więc jest on tak skuteczny, że jest lepszy niż serwer dedykowany pod względem szybkości i skalowalności.

Podczas hostowania w sieciach CDN występuje kilka poważnych problemów, a są to:

Brak plików PHP

Obsługa PHP (musisz użyć formularzy kontaktowych za pośrednictwem Ajaxa, aby pobrać contact.php z innego miejsca, metody HTML są do kitu - jeśli nie potrzebujesz formularza kontaktowego, to (świetnie!) Dla takich rzeczy jak komentarze, możesz użyć Disqus, który jest JavaScript.)

Problemy z CNAME

Niestety większość CDN nie obsługuje CNAME innych niż www, więc nie można rozwiązać domeny, gdy ktoś zapomni www, co nie jest poważnym problemem, ale istnieją sposoby na obejście tego. Konfigurujesz EC2 lub hosting współdzielony i pozwalasz na obsługę non-www z przekierowaniem. Kiedy więc ktoś zapomni www, komunikuje się z serwerem, a następnie poprawnie przekierowuje do CDN. Alternatywną metodą jest wybranie CDN, który to obsługuje - wierzę, że Limelight tak, ale Amazon i Rackspace nie. Słyszałem, że Limelight hostuje DNS i ręcznie wprowadza zmiany w swoim systemie, sam nigdy tego nie zrobiłem, więc nie mogę potwierdzić, że robią lub nie.

Aktualizacja treści

Drugi problem polega na tym, że musisz wyczyścić zawartość lub pliki, które edytujesz, więc powiedzmy na przykład, że wprowadzasz pewne uzupełnienia do pliku index.html, że musisz albo ustawić krótką datę ważności w kontenerze, albo ręcznie usunąć ten plik z pamięć podręczna, więc aktualizuje się na całym świecie.

streszczenie

Hostowanie strony statycznej na CDN jest fanatyczne - prowadzę garść stron statycznych na CDN i są fanatyczne, używam tylko 1-2 GB na każdej stronie i otrzymuję rachunki za 0,24 GBP za każdą stronę, co jest tańsze niż hosting współdzielony i daje wydajność serwera dedykowanego. Jeśli zamierzasz skonfigurować mały VPS inny niż EC2 do przekierowania, zrobi to dowolny VPS o pojemności 128 MB. Możesz dostać tani za około 1 $ miesięcznie. Tylko Google 128 MB VPS lub VPS poniżej 5 USD miesięcznie - setki firm wykonują VPS o niskiej specyfikacji dla orzeszków ziemnych, co załatwi sprawę.

Simon Hayter
źródło
1
Cloudflare nie ma problemów z nazwą inną niż www. Plus, wolny poziom też nie jest zły
elssar
Amazon ma usługę dns o nazwie Route 53, której można użyć do przekierowania tld do subdomeny www.
gang
W szczególności AWS Route 53 ma rekordy ALIAS, w których wpisujesz inną nazwę hosta (tak jak w przypadku CNAME), ale serwer DNS dokonuje okresowego wyszukiwania (sekundy) i obsługuje rekord z adresem IP (rekord A).
Stephen Ostermiller
2

Problem tkwi w części „pay as you go”.

Jeśli otrzymasz mnóstwo ruchu (np. Atak DOS lub bardzo popularny post na blogu lub plik), zapłacisz za to.

AFAIK nie ma jeszcze opcji, która pozwala ograniczyć wysokość płatności. Możesz ustawić alerty rozliczeniowe, ale jeśli rozliczenia osiągną maksymalny budżet, jedyną dostępną opcją jest zamknięcie witryny lub zapłacisz za cały ruch, który uzyskasz.

peterlozano
źródło
Coś do przemyślenia: Heroku pozwala płacić tylko tyle, ile chcesz, ale możesz stracić niektórych użytkowników, którzy nie mogą uzyskać dostępu do strony. Z drugiej strony AWS pozwala upewnić się, że złapiesz wszystkich odwiedzających, ale będziesz musiał za to zapłacić. W zależności od tego, czy masz skonfigurowane reklamy / inną formę konwersji kliknięć na gotówkę, Twoje wymagania dotyczące płatności zgodnie z rzeczywistym użyciem mogą się różnić; na przykład mała fajna aplikacja internetowa może skorzystać z Heroku (lub podobnej usługi).
Abhishek Divekar
2

S3 nie ma być JEDYNYM narzędziem AWS do statycznego hostingu stron internetowych. Zalecanym podejściem jest umieszczenie CloudFront przed wystąpieniem S3, aby CloudFront mógł obsługiwać buforowanie. Wierzę, że to również wyeliminuje problem z płaceniem pęczkowi za wzrost ruchu, ponieważ CloudFront użyje swojej pamięci podręcznej do obsługi plików, a nie uderzy w S3. Oczywiście musisz zapłacić za CloudFront, ale koszt będzie mniejszy (tak myślę).

Oto artykuł na temat dodawania CloudFront do Twojej witryny S3:

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

użytkownik1335432
źródło
1

W rzeczywistości jest to nieco zawyżone pod względem przepustowości. Do niedawna mieli również problem polegający na tym, że nie można było zmapować rekordu @ i www A do swojej witryny (więc albo moja domena.com była dostępna, albo www.mydomain.com dostępna). Zostało to jednak naprawione w najnowszej aktualizacji.

Osobiście uważam, że są nieco zawyżone i brakuje ci wielu fajnych funkcji (przekierowań, htaccess itp.). S3 działa jednak dobrze w przypadku hostowania dużych plików i obrazów.

Kyros
źródło