Ich habe festgestellt, dass die Bandbreitenkosten (Transfer) für unseren S3-Bildservice auf unserer Website kontinuierlich steigen. Der Preis beträgt 0,09 USD pro GB, was sich schnell summieren kann. Ich nehme an, ich bin nicht die einzige Seite mit diesem Problem? Ich zahle Amazon derzeit 70 USD pro Monat nur für den Transfer, das ist mehr als meine VM-Kosten. Die S3-Speicherkosten betragen nur 5 USD pro Monat; das gesamte Problem liegt bei den Transfergebühren.
Ich habe weder ein CDN noch ein Caching eingerichtet, sondern lediglich eine völlig generische Discourse-Instanz, die auf einer Linode-VM läuft und S3-Bild-Buckets verwendet. Was machen größere Seiten mit vielen Bildern? CDN (ich nehme an, das wird die Kosten senken)? Nutzung von Digital Ocean Spaces oder Minio? Gibt es etwas anderes, das ich übersehe?
Hmm… wenn ich mir die Bandbreitenkosten bei Fastly und Amazon CloudFront (und anderen) ansehe, sind sie fast identisch mit den 0,09 $/GB, die ich aktuell zahle
Cloudflare scheint keine Kosten für die Bandbreite zu erheben?? Vielleicht ist das der richtige Ansatz. Gibt es einen Beitrag dazu, wie man Cloudflare für ein S3-Bild-CDN in Discourse einrichtet? Ich sehe s3_cdn_url, finde aber keine Anleitung, wie man es verwendet (außer dass ich nach der Einrichtung die Bilder neu rendern muss). Wenn ich mir Cloudflare ansehe, scheint es, als müsste man eine eigene Domain haben, da die DNS-Einstellungen geändert werden müssen. Ich müsste also einen CNAME-Eintrag wie s3-cloudflare.mydomain.com erstellen, der auf die IP meines S3-Buckets zeigt, Cloudflare anweisen, dort aktiv zu werden, s3_cdn_url darauf setzen und dann neu rendern?
Hier ist eine Support-Seite von Cloudflare, die darauf hindeutet, dass dies funktionieren könnte:
Macht das jemand schon? Ich bin ein wenig überrascht, dass es nicht mehr Seiten gibt, die dieses Problem haben, da es für mich mindestens die monatlichen Kosten verdoppelt.
Ich nutze Cloudflare auf meiner Discourse-Seite, und es funktioniert einwandfrei. Im Grunde leiten Sie Ihren gesamten Datenverkehr über Cloudflare und geben an, was verarbeitet oder zwischengespeichert werden soll – fertig. Es gibt jedoch ein paar Dinge zu beachten:
Konfigurieren Sie Cloudflare so, dass nichts zwischengespeichert wird (richten Sie Ausnahmen über Seitenregeln ein, siehe unten).
Lassen Sie Cloudflare Ihren JavaScript-Code nicht bearbeiten – schalten Sie insbesondere Rocket Loader aus.
Ich bin mir bezüglich der Brotli-Komprimierung noch nicht sicher; ich habe sie deaktiviert.
Richten Sie Seitenregeln ein, um die Verzeichnisse für Avatare und Uploads wie unten gezeigt zu zwischenspeichern (ignorieren Sie Regel #1, da sie spezifisch für die Website ist).
Cloudflare speichert derzeit etwas mehr als 3 TB Daten pro Monat für mich und liefert große Grafiken ziemlich schnell aus.
Falls Sie mehr an einem CDN interessiert sind, kann ich auch https://www.belugacdn.com/ empfehlen (ich bin nicht mit ihnen verbunden). Ich nutze es auf einer großen WordPress-Plattform, und die Leistung ist gut – und das zu einem Bruchteil der Kosten anderer CDN-Plattformen, die ich untersucht habe (diese mögen zwar noch leistungsfähiger sein, aber Beluga erfüllt meine Anforderungen).
Hast du dich am Ende doch von Amazon CloudFront getrennt, @scottfsmith?
Ich befinde mich in einer ähnlichen Situation, was die steigenden Ausgaben betrifft.
CloudFront ist für mich noch recht neu. Ich habe in den letzten Jahren nur einen S3-Bucket betrieben, habe aber aufgrund der Empfehlungen hier im letzten Monat CloudFront eingerichtet.
Das alles hat lediglich dazu geführt, dass sich die Kosten von der S3-Datenübertragung auf die CloudFront-Datenübertragung verlagert haben; die monatliche Gesamtrechnung bleibt gleich.
Ich stehe vor einer monatlichen Rechnung für die Datenübertragung, die nicht mehr nachhaltig ist.
Ich bin im selben Boot. Ich bin auch vor nicht allzu langer Zeit zu CloudFront gewechselt, und die Kosten sehen ähnlich aus. Ich dachte, es gäbe gewisse Einsparungen durch das lokale Caching, d. h. die Bandbreite wäre geringer, wenn dasselbe Bild wiederholt von demselben geografischen Standort geladen wird, aber bisher sieht es so aus, als ob das nicht der Fall ist.
Es scheint, als müsste es eine andere CDN-Lösung geben, die als Ersatz für CloudFront funktionieren könnte. Discourse führt lediglich eine Umwandlung der Bild-URLs durch, also ist es ziemlich generisch (scheint zumindest so). Vielleicht könnte Cloudflare nur für die Bilder verwendet werden.
+98 % unseres Datenverkehrs stammen aus dem Vereinigten Königreich, und natürlich entfallen auch 98 % unseres S3-Ausgangsverkehrs über CloudFront auf das Vereinigte Königreich.
Bisher sehe ich keinerlei Vorteil durch die Nutzung eines CDNs. Wäre unser Datenverkehr weltweit verteilt, könnte ich vielleicht etwas anderes beobachten.
Ich werde mich in den kommenden Tagen etwas über Cloudflare informieren (wie haben diese beiden es geschafft, so ähnliche Namen zu bekommen!) und schauen, ob ich einen Vorteil finden kann.
Stackpath CDN kostet 20 pro Monat mit einem Limit von 1 TB, und in vielen Monaten überschreite ich dieses Limit. Dann springt der Preis auf 200 pro Monat für ein Limit von 20 TB, was mehr ist als die etwa 100 $ pro Monat, die Amazon mir in Rechnung stellt.
Vielleicht gibt es in dieser Liste jedoch eine andere, die besser ist. Danke für den Hinweis auf die Liste.
Was würde ein solches Plugin bewirken? Würde es einfach keine IMGUR-Plugins herunterladen, oder würde es wie das aktuelle System funktionieren und alle Bilder über eine presumably existierende API-Schnittstelle an IMGUR hochladen?
Was wäre es für dich wert? Ich bezweifle, dass dies etwas ist, das zum CDCK-Geschäftsmodell passt, da ihre bezahlte Hosting-Lösung es überhaupt erst ermöglicht, dass Discourse für uns alle verfügbar ist, und ihr Hosting funktioniert auch ohne ein IMGUR-Plugin einwandfrei.
Nein, wir cachen nur die Uploads- und Avatar-Verzeichnisse; siehe unsere Regeln oben. Wenn Sie versuchen, etwas anderes zu tun, werden Sie wahrscheinlich Discourse beschädigen.
Wenn wir ein CDN verwenden, das diesem Leitfaden folgt, werden neben Uploads und Avataren auch statische Assets ausgeliefert (wenn ich mich richtig erinnere).
Warum sollte Discourse also kaputtgehen, wenn wir alle statischen Assets über Cloudflare ausliefern?
Da dieser Thread wieder aktiv ist, sollte ich ein Follow-up geben. Es scheint, dass Amazon CloudFront seine Preise erheblich gesenkt hat. Ich habe keine Ahnung, was sie getan haben, aber meine durchschnittlichen AWS-Kosten sind von etwa 80 US-Dollar pro Monat auf 15 US-Dollar pro Monat gesunken. Dies gilt sowohl für S3 als auch für CloudFront für Bilder (nur) auf einer Website mit einer ganzen Menge von Bildern.
Cloudflare ist in Ordnung – deaktivieren Sie einfach deren Rocket Loader-Funktion.
Ohne Konfigurationsaufwand spart es die Hälfte der Bandbreite zurück zu meinem Server.
Es mag sein, dass Cloudflare vor Jahren nicht gut mit Discourse funktionierte, aber das stimmt heute nicht mehr. Es wäre schön, wenn wir nicht ständig Zweifel daran sehen würden. Wenn jemand ein spezifisches Problem hat, sollte er hier einen Support-Thread eröffnen, in dem er beschreibt, was nicht funktioniert.