Gibt es Anwendungsfälle, die sich besser für Amazon Cloudfront über S3 oder umgekehrt eignen? Ich versuche den Unterschied zwischen den beiden anhand von Beispielen zu verstehen.
Gibt es Anwendungsfälle, die sich besser für Amazon Cloudfront über S3 oder umgekehrt eignen? Ich versuche den Unterschied zwischen den beiden anhand von Beispielen zu verstehen.
Antworten:
Amazon S3 wurde für die kostengünstige Speicherung von Dateien mit großer Kapazität in einer bestimmten geografischen Region entwickelt. * Die Speicher- und Bandbreitenkosten sind recht niedrig.
Amazon CloudFront ist ein Content Delivery Network (CDN), das Webdaten an Randstandorten so nah wie möglich an Benutzern weiterleitet und zwischenspeichert.
Wenn Endbenutzer ein Objekt mit diesem Domänennamen anfordern, werden sie automatisch an den nächstgelegenen Randort weitergeleitet, um eine leistungsstarke Bereitstellung Ihrer Inhalte zu ermöglichen. ( Amazon )
Die von CloudFront bereitgestellten Daten können von S3 stammen oder nicht. Da es für die Liefergeschwindigkeit optimiert ist, kostet die Bandbreite etwas mehr.
Wenn Ihre Benutzerbasis lokalisiert ist , werden Sie bei der Arbeit mit S3 oder CloudFront keinen allzu großen Unterschied feststellen (Sie müssen jedoch den richtigen Speicherort für Ihren S3-Bucket auswählen: USA, EU, APAC). Wenn Ihre Benutzerbasis global verteilt ist und Geschwindigkeit wichtig ist, ist CloudFront möglicherweise die bessere Option.
Sowohl S3 und Cloudfront Domain Aliase erlauben, jedoch ermöglicht Cloudfront mehr Aliase , so dass d1.mystatics.com
, d2.mystatics.com
und d3.mystatics.com
könnte alle auf die gleiche Stelle die Kapazität für parallele Downloads zu erhöhen (dies verwendet , um durch zu empfehlen Google aber mit der Einführung von SPDY und HTTP / 2 ist geringere Bedeutung).
CloudFront unterstützt ab 2014 auch CORS (danke sergiopantoja).
* Hinweis: S3 kann ab 2015 automatisch in weitere Regionen repliziert werden.
CloudFront und S3 Bucket sind nicht dasselbe . In Laienbegriffen: Mit CloudFront können Sie die Bereitstellung von Inhalten für Ihre Webinhalte über das Content Delivery Network (CDN) an Edge-Standorten beschleunigen, während Sie in S3 Buckets Ihre eigentlichen Dateien speichern. CloudFront-Quellen müssen nicht unbedingt aus S3 stammen, dienen jedoch zur einfacheren Visualisierung der S3-Integration in CloudFront:
Ein weiterer wichtiger Unterschied besteht darin, dass Sie mit CloudFront die Site auf Ihrem Server spiegeln können. Cloudfront speichert dann die Dateien wie Bilder, MP3 oder Videos über das Content Delivery-Netzwerk zwischen.
Dies erspart Ihnen das Duplizieren Ihrer Assets wie bei Verwendung von Amazon S3.
Nach Ablauf einer Datei ruft CloudFront sie jedoch erneut (kostenpflichtig) von Ihrer Live-Site ab. Daher eignet sich die Cloud-Front am besten für Dateien, auf die häufig zugegriffen wird, und weniger für Dateien, auf die selten zugegriffen wird.
Eine Möglichkeit, den Dateiverlauf für Apache festzulegen, ist .htaccess. Beispielsweise
<filesMatch "\\.(mp3|mp4)$">
Header set Cache-Control "max-age=648000, private"
</filesMatch>
Amazon CLOUDFRONT und S3 sind zwei verschiedene Dienste, die von Amazon Web Services bereitgestellt werden.
Amazon S3 ist ein Speicherdienst, in dem wir statische Dateien speichern können wie:
CSS, Bilder, Javascripts, Videos usw.
Amazon CloudFront ist eine Middleware, die zwischen einem Benutzer, der eine Datei von AWS anfordert, und dem S3-Rechenzentrum in einer bestimmten Region steht. CloudFront wird verwendet, um die Verteilung Ihrer statischen und dynamischen Webinhalte von S3 an den Benutzer zu beschleunigen.
Sie können es anhand eines Beispiels besser verstehen:
Ihr S3 befindet sich beispielsweise in der AWS-Region US East (N. Virginia), einem Rechenzentrumsstandort zum Speichern Ihrer Dateien.
Wenn ein Benutzer aus Indien versucht, von einem AWS-Server in Virginia aus auf eine Datei zuzugreifen, muss der Benutzer mit einer Anfrage zu diesem bestimmten Speicherort gehen. Dies nimmt viel Zeit in Anspruch.
CloudFront ist eine Middleware zwischen Benutzer und AWS S3.
Die am häufigsten verwendeten Dateien können in CloudFront zwischengespeichert werden. Dabei werden diese Dateien an Edge-Speicherorten repliziert. (Um Inhalte an Endbenutzer mit geringerer Latenz zu liefern, verwendet Amazon CloudFront ein globales Netzwerk von Edge-Speicherorten für die Bereitstellung von Inhalten.)
Befindet sich der Inhalt bereits am Rand mit der geringsten Latenz, wird er von CloudFront sofort bereitgestellt. Befindet sich der Inhalt derzeit nicht an diesem Randort, ruft CloudFront ihn aus einem Amazon S3-Bucket ab und stellt ihn dem Benutzer so schnell wie möglich zur Verfügung.
Jede Anfrage erhält ein neues DNS von CloudFront an den S3, was zu weniger Datenverkehr und einer paralleleren Anforderungsverarbeitung führen würde.
Es folgt die Liste der aktuellen Randstandorte per Juli 2016: -
Vereinigte Staaten
Europa
Amsterdam, Niederlande (2)
Dublin, Irland
Frankfurt, Deutschland (3)
London, England (3)
Madrid, Spanien
Marseille, Frankreich
Mailand, Italien
Paris, Frankreich (2)
Stockholm, Schweden
Warschau, Polen
Asien
Chennai, Indien
Hongkong (2)
Mumbai, Indien
Manila, die Philippinen
Neu Delhi, Indien
Osaka, Japan
Seoul, Korea (3)
Singapur (2)
Taipei, Taiwan
Tokio, Japan (2)
Australien
Melbourne, Australien
Sydney, Australien
Südamerika
Sao Paulo, Brasilien
Rio de Janeiro, Brasilien
Daraus können Sie schließen, dass Sie CloudFront auf keinen Fall verwenden müssen, wenn die Anzahl der Benutzer aus derselben Region stammt, in der Ihr S3 gehostet wird. Wenn sich die Anzahl der Benutzer auf globaler Ebene erhöht, sollten Sie auf jeden Fall CloudFront verwenden für bessere Latenz und Verkehrskontrolle.
Ein weiterer Fall für die Verwendung von CloudFront über S3 besteht darin, dass Sie ein SSL-Zertifikat für eine benutzerdefinierte Domäne in CloudFront verwenden können, während dies in S3 nicht möglich ist. Ein ziemlich guter Grund imho!
Amazon S3 ist ein einfacher Speicherdienst, mit dem eine große Menge an Informationen verwendet werden kann, z. B. Videos, Bilder, PDF usw.
CloudFront ist ein Content Delivery Network, das näher am Endbenutzer liegt und dazu dient, die Informationen in kürzester Zeit auf Amazon S3 verfügbar zu machen.
Ein Beispiel für einen Anwendungsfall ist Video on Demand.
Einige Vorteile der Verwendung von CloudFront für den richtigen Anwendungsfall:
Andere mögliche Anwendungsfälle:
Ein Aspekt, der hier übersehen wird, ist:
Amazon Cloudfront bietet auch niedrigere Preise als Amazon S3 bei höheren Nutzungsstufen.
Cloudfront CDN dient zur Verteilung von Inhalten auf mehrere geografisch verteilte Server (CSS, JS).
Während s3 eher ein pro Benutzer weniger genutzter Ressourcenspeicher ist (Benutzerbilder, PDFs).
Sie können Ihre Cloudfront-Ressourcen von einem S3-Bucket aus bereitstellen, ohne Ihren Webserver zu umgehen.
( Nützlich in Situationen, in denen Ihr Webserver Bilder und Java-Skripte vorkompiliert und speichert. Wenn Sie diese auf s3 speichern, wird der Speicherbedarf Ihres Servers verringert. )
Beispiel: Auf Heroku Slugs (konforme Anwendungsgrößen können durch Verwendung von s3 reduziert werden, und das Umschließen mit Cloud-Front-CDN verbessert den Durchsatz)
Als erstes möchte ich erklären, dass Amazon S3 der Cloud-Speicher und Cloud Front das Content Delivery Network (CDN) ist.
Sie können also die Dateien in S3 speichern und die Verteilung erstellen, um den Inhalt über das Internet bereitzustellen. Außerdem können Sie eine Verteilung für die spezifischen Regionen erstellen.
Einen Vergleich zwischen Amazon S3 und Amazon Cloudfront finden Sie hier: http://www.bucketexplorer.com/documentation/cloudfront--amazon-s3-vs-amazon-cloudfront.html
[Offenlegung: Bucket Explorer]
Amazon S3 ist eine großartige Objektspeicherplattform, wenn Sie nach einem global verteilten Speichersystem suchen, das vor dem Ausfall von Regionen / Zonen schützt. Es eignet sich auch hervorragend für statische / feste Inhalte, die nicht transaktional sind und sich ändern, wie Bilder, Videos, Bilder, Backups usw. Ich hoffe, das hilft!