Warum sollte ich Amazon S3 nicht zum Hosten einer statischen Webseite verwenden?


11

Ich erinnere mich, dass ich irgendwo gelesen habe, dass die Verwendung von Amazon S3 zum Hosten einer statischen Website eine ernsthafte Gefahr darstellt. Ich habe vergessen, was es war. S3 scheint mir eine perfekte Option zu sein. Super schnell, super skalierbar und zahlen, wie Sie gehen.

Was sind die Nachteile der Verwendung von S3 zum Hosten einer statischen Website?


Kurz gesagt, die folgenden Antworten geben keine guten Gründe an, S3 nicht zu verwenden. Die WWW-Weiterleitung ist jetzt einfach zu lösen.
JohnAllen

Antworten:


11

Ich bin immer noch schockiert zu lesen, dass die Leute davon ausgehen, dass Content Delivery Networks teuer sind. Die meisten verlangen nur 0,20 c pro GB.

Das Bereitstellen statischer Websites auf CDNs ist erstaunlich - Sie erhalten die Leistung eines dedizierten Servers, ohne dafür zu bezahlen, und Sie haben einen Server in allen wichtigen Regionen der Welt, der so effektiv ist, dass er hinsichtlich Geschwindigkeit und Skalierbarkeit tatsächlich besser ist als ein dedizierter Server.

Es gibt einige große Rückschläge beim Hosting auf CDNs, und diese sind:

Keine PHP-Dateien

PHP-Unterstützung (Sie müssten Kontaktformulare über Ajax verwenden, um eine contact.php von einer anderen Stelle abzurufen. HTML-Methoden sind zum Kotzen. Wenn Sie kein Kontaktformular benötigen, können Sie (fantastisch!) Für Kommentare wie Disqus verwenden. Das ist JavaScript.)

CNAME-Probleme

Leider unterstützen die meisten CDNs keine Nicht-WWW-CNAMEs, sodass Sie die Domain nicht auflösen können, wenn jemand das WWW vergisst. Dies ist kein großes Problem, aber es gibt Möglichkeiten, dies zu umgehen. Sie richten ein EC2- oder Shared Hosting ein und lassen es das Nicht-WWW mit einer Umleitung behandeln. Wenn also jemand das WWW vergisst, kommuniziert er mit dem Server und leitet dann korrekt zum CDN weiter. Eine alternative Methode ist, dass Sie ein CDN auswählen, das dies unterstützt - ich glaube, Limelight tut dies, Amazon und Rackspace jedoch nicht. Ich habe gehört, dass Limelight das DNS hostet und Änderungen manuell auf seinem System vornimmt. Ich habe dies nie selbst getan, daher kann ich nicht bestätigen, dass dies der Fall ist oder nicht.

Inhaltsaktualisierung

Der andere Nachteil ist, dass Sie den Inhalt oder die Dateien, die Sie bearbeiten, löschen müssen. Nehmen wir beispielsweise an, Sie nehmen einige Ergänzungen an der index.html vor, für die Sie entweder einen kurzen Ablauf für den Container einrichten oder diese Datei manuell löschen möchten den Cache, damit er auf der ganzen Welt aktualisiert wird.

Zusammenfassung

Das Hosten einer statischen Site auf einem CDN ist fanstatisch - ich betreibe eine Handvoll statischer Sites auf CDN und sie sind fanstatisch. Ich verwende nur 1-2 GB auf jeder Site und bekomme Rechnungen für 0,24 GBP für jede Site, was billiger ist als Shared Hosting und bietet Ihnen die Leistung eines dedizierten Servers. Wenn Sie einen anderen kleinen VPS als einen EC2 für die Umleitung einrichten möchten, ist dies bei jedem VPS mit 128 MB der Fall. Sie können eine billige für wie 1 $ pro Monat bekommen. Nur Google 128 MB VPS oder VPS unter 5 US-Dollar pro Monat - es gibt Hunderte von Unternehmen, die VPS mit niedrigen Spezifikationen für Erdnüsse anbieten, die den Trick machen.


1
Cloudflare hat keine Probleme mit Nicht-WWW-Namen. Plus die freie Stufe ist auch nicht schlecht
elssar

Amazon hat einen DNS-Dienst namens Route 53, mit dem der tld an die www-Subdomain weitergeleitet werden kann.
Bande

Insbesondere verfügt AWS Route 53 über ALIAS-Einträge, in die Sie einen anderen Hostnamen eingeben (wie bei einem CNAME). Der DNS-Server führt die Suche jedoch regelmäßig (Sekunden) durch und liefert den Eintrag mit der IP-Adresse (A-Eintrag).
Stephen Ostermiller

2

Das Problem liegt im Teil "Pay as you go".

Wenn Sie eine Menge Verkehr haben (dh einen DOS-Angriff oder einen sehr beliebten Blog-Beitrag oder eine sehr beliebte Blog-Datei), werden Sie dafür bezahlen.

AFAIK Es gibt noch keine Funktion, mit der Sie Ihre Bezahlung begrenzen können. Sie können Abrechnungsbenachrichtigungen festlegen. Wenn Ihre Abrechnung jedoch Ihr maximales Budget erreicht, können Sie die Website nur schließen, oder Sie zahlen für den gesamten Verkehr, den Sie erhalten.


Denken Sie darüber nach: Mit Heroku können Sie nur so viel bezahlen, wie Sie möchten. Möglicherweise verlieren Sie jedoch einige Besucher, die nicht auf die Website zugreifen können. Mit AWS hingegen können Sie sicherstellen, dass Sie alle Besucher erfassen, müssen jedoch dafür bezahlen. Abhängig davon, ob Sie Anzeigen oder eine andere Form der Umwandlung von Klicks in Bargeld eingerichtet haben, können Ihre Anforderungen an die Umlage unterschiedlich sein. Eine kleine coole Web-App kann beispielsweise von Heroku (oder einem ähnlichen Dienst) profitieren.
Abhishek Divekar

2

S3 ist nicht das EINZIGE Tool von AWS für statisches Website-Hosting. Der empfohlene Ansatz besteht darin, CloudFront vor die S3-Instanz zu stellen, damit CloudFront das Caching verarbeiten kann. Ich glaube, dies wird auch Ihr Problem beseitigen, eine Menge für eine Erhöhung des Datenverkehrs zu bezahlen, da CloudFront seinen Cache verwendet, um die Dateien bereitzustellen und nicht S3 zu treffen. Natürlich müssen Sie für CloudFront bezahlen, aber die Kosten werden geringer sein (glaube ich).

Hier ist ein Artikel über das Hinzufügen von CloudFront zu Ihrer S3-Site:

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


1

Es ist tatsächlich ein bisschen überteuert in Bezug auf die Bandbreite. Bis vor kurzem gab es auch ein Problem, bei dem Sie nicht sowohl Ihren @ als auch Ihren www A-Datensatz Ihrer Website zuordnen konnten (Sie hatten also entweder Zugriff auf mydomain.com oder auf www.mydomain.com). Dies wurde jedoch in einem sehr aktuellen Update behoben.

Persönlich denke ich, dass sie etwas überteuert sind und Ihnen viele nette Funktionen fehlen (Weiterleitungen, Zugriff usw.). S3 eignet sich jedoch gut zum Hosten großer Dateien und Bilder.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.